From fae0d6adddbdc8790cf09ae65631628c4f34e8da Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Wed, 6 Dec 2023 16:51:04 +0800 Subject: [PATCH] version 3.9.0 snapshot --- cypress-nightwatch/.gitignore | 31 - cypress-nightwatch/.vscode/extensions.json | 7 - cypress-nightwatch/README.md | 74 - cypress-nightwatch/cypress.config.js | 15 - cypress-nightwatch/cypress/e2e/example.cy.js | 8 - cypress-nightwatch/cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - cypress-nightwatch/cypress/support/e2e.js | 20 - cypress-nightwatch/index.html | 13 - cypress-nightwatch/nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - cypress-nightwatch/nightwatch/globals.js | 23 - cypress-nightwatch/nightwatch/index.html | 16 - cypress-nightwatch/package.json | 30 - cypress-nightwatch/public/favicon.ico | Bin 4286 -> 0 bytes cypress-nightwatch/src/App.vue | 47 - cypress-nightwatch/src/assets/base.css | 86 - cypress-nightwatch/src/assets/logo.svg | 1 - cypress-nightwatch/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - cypress-nightwatch/src/main.js | 6 - cypress-nightwatch/tests/e2e/example.js | 14 - cypress-nightwatch/vite.config.js | 20 - cypress-playwright/.gitignore | 31 - cypress-playwright/.vscode/extensions.json | 7 - cypress-playwright/README.md | 70 - cypress-playwright/cypress.config.js | 15 - cypress-playwright/cypress/e2e/example.cy.js | 8 - cypress-playwright/cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - cypress-playwright/cypress/support/e2e.js | 20 - cypress-playwright/e2e/vue.spec.js | 8 - cypress-playwright/index.html | 13 - cypress-playwright/package.json | 24 - cypress-playwright/playwright.config.js | 112 - cypress-playwright/public/favicon.ico | Bin 4286 -> 0 bytes cypress-playwright/src/App.vue | 47 - cypress-playwright/src/assets/base.css | 86 - cypress-playwright/src/assets/logo.svg | 1 - cypress-playwright/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - cypress-playwright/src/main.js | 6 - cypress-playwright/vite.config.js | 16 - cypress/.gitignore | 2 + cypress/cypress.config.js | 4 +- cypress/jsconfig.json | 8 + cypress/package.json | 11 +- cypress/src/assets/main.css | 2 +- default/.gitignore | 2 + default/jsconfig.json | 8 + default/package.json | 7 +- default/src/assets/main.css | 2 +- jsx-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-cypress-nightwatch/README.md | 74 - jsx-cypress-nightwatch/cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - jsx-cypress-nightwatch/cypress/support/e2e.js | 20 - jsx-cypress-nightwatch/index.html | 13 - jsx-cypress-nightwatch/nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - jsx-cypress-nightwatch/nightwatch/globals.js | 23 - jsx-cypress-nightwatch/nightwatch/index.html | 16 - jsx-cypress-nightwatch/package.json | 31 - jsx-cypress-nightwatch/public/favicon.ico | Bin 4286 -> 0 bytes jsx-cypress-nightwatch/src/App.vue | 47 - jsx-cypress-nightwatch/src/assets/base.css | 86 - jsx-cypress-nightwatch/src/assets/logo.svg | 1 - jsx-cypress-nightwatch/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-cypress-nightwatch/src/main.js | 6 - jsx-cypress-nightwatch/tests/e2e/example.js | 14 - jsx-cypress-nightwatch/vite.config.js | 22 - jsx-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-cypress-playwright/README.md | 70 - jsx-cypress-playwright/cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - jsx-cypress-playwright/cypress/support/e2e.js | 20 - jsx-cypress-playwright/e2e/vue.spec.js | 8 - jsx-cypress-playwright/index.html | 13 - jsx-cypress-playwright/package.json | 25 - jsx-cypress-playwright/playwright.config.js | 112 - jsx-cypress-playwright/public/favicon.ico | Bin 4286 -> 0 bytes jsx-cypress-playwright/src/App.vue | 47 - jsx-cypress-playwright/src/assets/base.css | 86 - jsx-cypress-playwright/src/assets/logo.svg | 1 - jsx-cypress-playwright/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-cypress-playwright/src/main.js | 6 - jsx-cypress-playwright/vite.config.js | 18 - jsx-cypress/.gitignore | 2 + jsx-cypress/cypress.config.js | 4 +- jsx-cypress/jsconfig.json | 8 + jsx-cypress/package.json | 13 +- jsx-cypress/src/assets/main.css | 2 +- jsx-nightwatch/.gitignore | 2 + jsx-nightwatch/jsconfig.json | 8 + jsx-nightwatch/nightwatch.conf.js | 5 +- jsx-nightwatch/nightwatch/globals.js | 23 - jsx-nightwatch/package.json | 24 +- jsx-nightwatch/src/assets/main.css | 2 +- jsx-nightwatch/tests/e2e/example.js | 5 +- jsx-pinia-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-pinia-cypress-nightwatch/README.md | 74 - .../cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - jsx-pinia-cypress-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - jsx-pinia-cypress-nightwatch/package.json | 32 - .../public/favicon.ico | Bin 4286 -> 0 bytes jsx-pinia-cypress-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-pinia-cypress-nightwatch/src/main.js | 11 - .../src/stores/counter.js | 12 - .../tests/e2e/example.js | 14 - jsx-pinia-cypress-nightwatch/vite.config.js | 22 - jsx-pinia-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-pinia-cypress-playwright/README.md | 70 - .../cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - jsx-pinia-cypress-playwright/e2e/vue.spec.js | 8 - jsx-pinia-cypress-playwright/index.html | 13 - jsx-pinia-cypress-playwright/package.json | 26 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes jsx-pinia-cypress-playwright/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-pinia-cypress-playwright/src/main.js | 11 - .../src/stores/counter.js | 12 - jsx-pinia-cypress-playwright/vite.config.js | 18 - jsx-pinia-cypress/.gitignore | 2 + jsx-pinia-cypress/cypress.config.js | 4 +- jsx-pinia-cypress/jsconfig.json | 8 + jsx-pinia-cypress/package.json | 13 +- jsx-pinia-cypress/src/assets/main.css | 2 +- jsx-pinia-nightwatch/.gitignore | 2 + jsx-pinia-nightwatch/jsconfig.json | 8 + jsx-pinia-nightwatch/nightwatch.conf.js | 5 +- jsx-pinia-nightwatch/nightwatch/globals.js | 23 - jsx-pinia-nightwatch/package.json | 24 +- jsx-pinia-nightwatch/src/assets/main.css | 2 +- jsx-pinia-nightwatch/tests/e2e/example.js | 5 +- jsx-pinia-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - jsx-pinia-playwright-nightwatch/README.md | 71 - .../e2e/vue.spec.js | 8 - jsx-pinia-playwright-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - jsx-pinia-playwright-nightwatch/package.json | 29 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes jsx-pinia-playwright-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-pinia-playwright-nightwatch/src/main.js | 11 - .../src/stores/counter.js | 12 - .../tests/e2e/example.js | 14 - .../vite.config.js | 22 - jsx-pinia-playwright/.gitignore | 2 + jsx-pinia-playwright/e2e/vue.spec.js | 2 +- jsx-pinia-playwright/jsconfig.json | 8 + jsx-pinia-playwright/package.json | 11 +- jsx-pinia-playwright/playwright.config.js | 13 +- jsx-pinia-playwright/src/assets/main.css | 2 +- .../.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-pinia-vitest-cypress-nightwatch/README.md | 74 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 34 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 11 - .../src/stores/counter.js | 12 - .../tests/e2e/example.js | 14 - .../vite.config.js | 20 - .../vitest.config.js | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-pinia-vitest-cypress-playwright/README.md | 70 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../package.json | 28 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 11 - .../src/stores/counter.js | 12 - .../vite.config.js | 18 - .../vitest.config.js | 14 - jsx-pinia-vitest-cypress/.gitignore | 2 + jsx-pinia-vitest-cypress/cypress.config.js | 4 +- jsx-pinia-vitest-cypress/jsconfig.json | 8 + jsx-pinia-vitest-cypress/package.json | 19 +- jsx-pinia-vitest-cypress/src/assets/main.css | 2 +- jsx-pinia-vitest-nightwatch/.gitignore | 2 + jsx-pinia-vitest-nightwatch/jsconfig.json | 8 + .../nightwatch.conf.js | 5 +- .../nightwatch/globals.js | 23 - jsx-pinia-vitest-nightwatch/package.json | 27 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.js | 5 +- .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 77 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 32 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 11 - .../src/stores/counter.js | 12 - .../tests/e2e/example.js | 14 - .../vite.config.js | 20 - .../vitest.config.js | 14 - jsx-pinia-vitest-playwright/.gitignore | 2 + jsx-pinia-vitest-playwright/e2e/vue.spec.js | 2 +- jsx-pinia-vitest-playwright/jsconfig.json | 8 + jsx-pinia-vitest-playwright/package.json | 17 +- .../playwright.config.js | 13 +- .../src/assets/main.css | 2 +- jsx-pinia-vitest/.gitignore | 2 + jsx-pinia-vitest/jsconfig.json | 8 + jsx-pinia-vitest/package.json | 15 +- jsx-pinia-vitest/src/assets/main.css | 2 +- jsx-pinia-with-tests/.gitignore | 2 + jsx-pinia-with-tests/cypress.config.js | 4 +- jsx-pinia-with-tests/jsconfig.json | 8 + jsx-pinia-with-tests/package.json | 19 +- jsx-pinia-with-tests/src/assets/main.css | 2 +- jsx-pinia/.gitignore | 2 + jsx-pinia/jsconfig.json | 8 + jsx-pinia/package.json | 9 +- jsx-pinia/src/assets/main.css | 2 +- jsx-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - jsx-playwright-nightwatch/README.md | 71 - jsx-playwright-nightwatch/e2e/vue.spec.js | 8 - jsx-playwright-nightwatch/index.html | 13 - jsx-playwright-nightwatch/nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - jsx-playwright-nightwatch/package.json | 28 - .../playwright.config.js | 112 - jsx-playwright-nightwatch/public/favicon.ico | Bin 4286 -> 0 bytes jsx-playwright-nightwatch/src/App.vue | 47 - jsx-playwright-nightwatch/src/assets/base.css | 86 - jsx-playwright-nightwatch/src/assets/logo.svg | 1 - jsx-playwright-nightwatch/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-playwright-nightwatch/src/main.js | 6 - .../tests/e2e/example.js | 14 - jsx-playwright-nightwatch/vite.config.js | 22 - jsx-playwright/.gitignore | 2 + jsx-playwright/e2e/vue.spec.js | 2 +- jsx-playwright/jsconfig.json | 8 + jsx-playwright/package.json | 11 +- jsx-playwright/playwright.config.js | 13 +- jsx-playwright/src/assets/main.css | 2 +- jsx-router-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-router-cypress-nightwatch/README.md | 74 - .../cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - jsx-router-cypress-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - jsx-router-cypress-nightwatch/package.json | 32 - .../public/favicon.ico | Bin 4286 -> 0 bytes jsx-router-cypress-nightwatch/src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-router-cypress-nightwatch/src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - jsx-router-cypress-nightwatch/vite.config.js | 22 - jsx-router-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-router-cypress-playwright/README.md | 70 - .../cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - jsx-router-cypress-playwright/e2e/vue.spec.js | 8 - jsx-router-cypress-playwright/index.html | 13 - jsx-router-cypress-playwright/package.json | 26 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes jsx-router-cypress-playwright/src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-router-cypress-playwright/src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - jsx-router-cypress-playwright/vite.config.js | 18 - jsx-router-cypress/.gitignore | 2 + jsx-router-cypress/cypress.config.js | 4 +- jsx-router-cypress/jsconfig.json | 8 + jsx-router-cypress/package.json | 13 +- jsx-router-cypress/src/assets/main.css | 2 +- jsx-router-nightwatch/.gitignore | 2 + jsx-router-nightwatch/jsconfig.json | 8 + jsx-router-nightwatch/nightwatch.conf.js | 5 +- jsx-router-nightwatch/nightwatch/globals.js | 23 - jsx-router-nightwatch/package.json | 24 +- jsx-router-nightwatch/src/assets/main.css | 2 +- jsx-router-nightwatch/tests/e2e/example.js | 5 +- .../.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-router-pinia-cypress-nightwatch/README.md | 74 - .../cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../package.json | 33 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 22 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-router-pinia-cypress-playwright/README.md | 70 - .../cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../package.json | 27 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../vite.config.js | 18 - jsx-router-pinia-cypress/.gitignore | 2 + jsx-router-pinia-cypress/cypress.config.js | 4 +- jsx-router-pinia-cypress/jsconfig.json | 8 + jsx-router-pinia-cypress/package.json | 13 +- jsx-router-pinia-cypress/src/assets/main.css | 2 +- jsx-router-pinia-nightwatch/.gitignore | 2 + jsx-router-pinia-nightwatch/jsconfig.json | 8 + .../nightwatch.conf.js | 5 +- .../nightwatch/globals.js | 23 - jsx-router-pinia-nightwatch/package.json | 24 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.js | 5 +- .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 71 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../package.json | 30 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 22 - jsx-router-pinia-playwright/.gitignore | 2 + jsx-router-pinia-playwright/e2e/vue.spec.js | 2 +- jsx-router-pinia-playwright/jsconfig.json | 8 + jsx-router-pinia-playwright/package.json | 11 +- .../playwright.config.js | 13 +- .../src/assets/main.css | 2 +- .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 74 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 35 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 20 - .../vitest.config.js | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 70 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../package.json | 29 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../vite.config.js | 18 - .../vitest.config.js | 14 - jsx-router-pinia-vitest-cypress/.gitignore | 2 + .../cypress.config.js | 4 +- jsx-router-pinia-vitest-cypress/jsconfig.json | 8 + jsx-router-pinia-vitest-cypress/package.json | 19 +- .../src/assets/main.css | 2 +- jsx-router-pinia-vitest-nightwatch/.gitignore | 2 + .../jsconfig.json | 8 + .../nightwatch.conf.js | 5 +- .../nightwatch/globals.js | 23 - .../package.json | 27 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.js | 5 +- .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 77 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 33 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 20 - .../vitest.config.js | 14 - jsx-router-pinia-vitest-playwright/.gitignore | 2 + .../e2e/vue.spec.js | 2 +- .../jsconfig.json | 8 + .../package.json | 17 +- .../playwright.config.js | 13 +- .../src/assets/main.css | 2 +- jsx-router-pinia-vitest/.gitignore | 2 + jsx-router-pinia-vitest/jsconfig.json | 8 + jsx-router-pinia-vitest/package.json | 15 +- jsx-router-pinia-vitest/src/assets/main.css | 2 +- jsx-router-pinia-with-tests/.gitignore | 2 + jsx-router-pinia-with-tests/cypress.config.js | 4 +- jsx-router-pinia-with-tests/jsconfig.json | 8 + jsx-router-pinia-with-tests/package.json | 19 +- .../src/assets/main.css | 2 +- jsx-router-pinia/.gitignore | 2 + jsx-router-pinia/jsconfig.json | 8 + jsx-router-pinia/package.json | 9 +- jsx-router-pinia/src/assets/main.css | 2 +- jsx-router-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - jsx-router-playwright-nightwatch/README.md | 71 - .../e2e/vue.spec.js | 8 - jsx-router-playwright-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - jsx-router-playwright-nightwatch/package.json | 29 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes jsx-router-playwright-nightwatch/src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-router-playwright-nightwatch/src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 22 - jsx-router-playwright/.gitignore | 2 + jsx-router-playwright/e2e/vue.spec.js | 2 +- jsx-router-playwright/jsconfig.json | 8 + jsx-router-playwright/package.json | 11 +- jsx-router-playwright/playwright.config.js | 13 +- jsx-router-playwright/src/assets/main.css | 2 +- .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 74 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 34 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 20 - .../vitest.config.js | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 70 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../package.json | 28 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../vite.config.js | 18 - .../vitest.config.js | 14 - jsx-router-vitest-cypress/.gitignore | 2 + jsx-router-vitest-cypress/cypress.config.js | 4 +- jsx-router-vitest-cypress/jsconfig.json | 8 + jsx-router-vitest-cypress/package.json | 19 +- jsx-router-vitest-cypress/src/assets/main.css | 2 +- jsx-router-vitest-nightwatch/.gitignore | 2 + jsx-router-vitest-nightwatch/jsconfig.json | 8 + .../nightwatch.conf.js | 5 +- .../nightwatch/globals.js | 23 - jsx-router-vitest-nightwatch/package.json | 27 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.js | 5 +- .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 77 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 32 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 20 - .../vitest.config.js | 14 - jsx-router-vitest-playwright/.gitignore | 2 + jsx-router-vitest-playwright/e2e/vue.spec.js | 2 +- jsx-router-vitest-playwright/jsconfig.json | 8 + jsx-router-vitest-playwright/package.json | 17 +- .../playwright.config.js | 13 +- .../src/assets/main.css | 2 +- jsx-router-vitest/.gitignore | 2 + jsx-router-vitest/jsconfig.json | 8 + jsx-router-vitest/package.json | 15 +- jsx-router-vitest/src/assets/main.css | 2 +- jsx-router-with-tests/.gitignore | 2 + jsx-router-with-tests/cypress.config.js | 4 +- jsx-router-with-tests/jsconfig.json | 8 + jsx-router-with-tests/package.json | 19 +- jsx-router-with-tests/src/assets/main.css | 2 +- jsx-router/.gitignore | 2 + jsx-router/jsconfig.json | 8 + jsx-router/package.json | 9 +- jsx-router/src/assets/main.css | 2 +- jsx-vitest-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-vitest-cypress-nightwatch/README.md | 74 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - jsx-vitest-cypress-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - jsx-vitest-cypress-nightwatch/package.json | 33 - .../public/favicon.ico | Bin 4286 -> 0 bytes jsx-vitest-cypress-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-vitest-cypress-nightwatch/src/main.js | 6 - .../tests/e2e/example.js | 14 - jsx-vitest-cypress-nightwatch/vite.config.js | 20 - .../vitest.config.js | 14 - jsx-vitest-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - jsx-vitest-cypress-playwright/README.md | 70 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - jsx-vitest-cypress-playwright/e2e/vue.spec.js | 8 - jsx-vitest-cypress-playwright/index.html | 13 - jsx-vitest-cypress-playwright/package.json | 27 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes jsx-vitest-cypress-playwright/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-vitest-cypress-playwright/src/main.js | 6 - jsx-vitest-cypress-playwright/vite.config.js | 18 - .../vitest.config.js | 14 - jsx-vitest-cypress/.gitignore | 2 + jsx-vitest-cypress/cypress.config.js | 4 +- jsx-vitest-cypress/jsconfig.json | 8 + jsx-vitest-cypress/package.json | 19 +- jsx-vitest-cypress/src/assets/main.css | 2 +- jsx-vitest-nightwatch/.gitignore | 2 + jsx-vitest-nightwatch/jsconfig.json | 8 + jsx-vitest-nightwatch/nightwatch.conf.js | 5 +- jsx-vitest-nightwatch/nightwatch/globals.js | 23 - jsx-vitest-nightwatch/package.json | 27 +- jsx-vitest-nightwatch/src/assets/main.css | 2 +- jsx-vitest-nightwatch/tests/e2e/example.js | 5 +- jsx-vitest-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - jsx-vitest-playwright-nightwatch/README.md | 77 - .../e2e/vue.spec.js | 8 - jsx-vitest-playwright-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - jsx-vitest-playwright-nightwatch/package.json | 31 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes jsx-vitest-playwright-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - jsx-vitest-playwright-nightwatch/src/main.js | 6 - .../tests/e2e/example.js | 14 - .../vite.config.js | 20 - .../vitest.config.js | 14 - jsx-vitest-playwright/.gitignore | 2 + jsx-vitest-playwright/e2e/vue.spec.js | 2 +- jsx-vitest-playwright/jsconfig.json | 8 + jsx-vitest-playwright/package.json | 17 +- jsx-vitest-playwright/playwright.config.js | 13 +- jsx-vitest-playwright/src/assets/main.css | 2 +- jsx-vitest/.gitignore | 2 + jsx-vitest/jsconfig.json | 8 + jsx-vitest/package.json | 15 +- jsx-vitest/src/assets/main.css | 2 +- jsx-with-tests/.gitignore | 2 + jsx-with-tests/cypress.config.js | 4 +- jsx-with-tests/jsconfig.json | 8 + jsx-with-tests/package.json | 19 +- jsx-with-tests/src/assets/main.css | 2 +- jsx/.gitignore | 2 + jsx/jsconfig.json | 8 + jsx/package.json | 9 +- jsx/src/assets/main.css | 2 +- nightwatch/.gitignore | 2 + nightwatch/jsconfig.json | 8 + nightwatch/nightwatch.conf.js | 5 +- nightwatch/nightwatch/globals.js | 23 - nightwatch/package.json | 22 +- nightwatch/src/assets/main.css | 2 +- nightwatch/tests/e2e/example.js | 5 +- pinia-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - pinia-cypress-nightwatch/README.md | 74 - pinia-cypress-nightwatch/cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - pinia-cypress-nightwatch/index.html | 13 - pinia-cypress-nightwatch/nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - pinia-cypress-nightwatch/package.json | 31 - pinia-cypress-nightwatch/public/favicon.ico | Bin 4286 -> 0 bytes pinia-cypress-nightwatch/src/App.vue | 47 - pinia-cypress-nightwatch/src/assets/base.css | 86 - pinia-cypress-nightwatch/src/assets/logo.svg | 1 - pinia-cypress-nightwatch/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - pinia-cypress-nightwatch/src/main.js | 11 - .../src/stores/counter.js | 12 - pinia-cypress-nightwatch/tests/e2e/example.js | 14 - pinia-cypress-nightwatch/vite.config.js | 20 - pinia-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - pinia-cypress-playwright/README.md | 70 - pinia-cypress-playwright/cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - pinia-cypress-playwright/e2e/vue.spec.js | 8 - pinia-cypress-playwright/index.html | 13 - pinia-cypress-playwright/package.json | 25 - pinia-cypress-playwright/playwright.config.js | 112 - pinia-cypress-playwright/public/favicon.ico | Bin 4286 -> 0 bytes pinia-cypress-playwright/src/App.vue | 47 - pinia-cypress-playwright/src/assets/base.css | 86 - pinia-cypress-playwright/src/assets/logo.svg | 1 - pinia-cypress-playwright/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - pinia-cypress-playwright/src/main.js | 11 - .../src/stores/counter.js | 12 - pinia-cypress-playwright/vite.config.js | 16 - pinia-cypress/.gitignore | 2 + pinia-cypress/cypress.config.js | 4 +- pinia-cypress/jsconfig.json | 8 + pinia-cypress/package.json | 11 +- pinia-cypress/src/assets/main.css | 2 +- pinia-nightwatch/.gitignore | 2 + pinia-nightwatch/jsconfig.json | 8 + pinia-nightwatch/nightwatch.conf.js | 5 +- pinia-nightwatch/nightwatch/globals.js | 23 - pinia-nightwatch/package.json | 22 +- pinia-nightwatch/src/assets/main.css | 2 +- pinia-nightwatch/tests/e2e/example.js | 5 +- pinia-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - pinia-playwright-nightwatch/README.md | 71 - pinia-playwright-nightwatch/e2e/vue.spec.js | 8 - pinia-playwright-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - pinia-playwright-nightwatch/package.json | 28 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes pinia-playwright-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - pinia-playwright-nightwatch/src/main.js | 11 - .../src/stores/counter.js | 12 - .../tests/e2e/example.js | 14 - pinia-playwright-nightwatch/vite.config.js | 20 - pinia-playwright/.gitignore | 2 + pinia-playwright/e2e/vue.spec.js | 2 +- pinia-playwright/jsconfig.json | 8 + pinia-playwright/package.json | 9 +- pinia-playwright/playwright.config.js | 13 +- pinia-playwright/src/assets/main.css | 2 +- pinia-vitest-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - pinia-vitest-cypress-nightwatch/README.md | 74 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - pinia-vitest-cypress-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - pinia-vitest-cypress-nightwatch/package.json | 33 - .../public/favicon.ico | Bin 4286 -> 0 bytes pinia-vitest-cypress-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - pinia-vitest-cypress-nightwatch/src/main.js | 11 - .../src/stores/counter.js | 12 - .../tests/e2e/example.js | 14 - .../vite.config.js | 18 - .../vitest.config.js | 14 - pinia-vitest-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - pinia-vitest-cypress-playwright/README.md | 70 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../e2e/vue.spec.js | 8 - pinia-vitest-cypress-playwright/index.html | 13 - pinia-vitest-cypress-playwright/package.json | 27 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes pinia-vitest-cypress-playwright/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - pinia-vitest-cypress-playwright/src/main.js | 11 - .../src/stores/counter.js | 12 - .../vite.config.js | 16 - .../vitest.config.js | 14 - pinia-vitest-cypress/.gitignore | 2 + pinia-vitest-cypress/cypress.config.js | 4 +- pinia-vitest-cypress/jsconfig.json | 8 + pinia-vitest-cypress/package.json | 17 +- pinia-vitest-cypress/src/assets/main.css | 2 +- pinia-vitest-nightwatch/.gitignore | 2 + pinia-vitest-nightwatch/jsconfig.json | 8 + pinia-vitest-nightwatch/nightwatch.conf.js | 5 +- pinia-vitest-nightwatch/nightwatch/globals.js | 23 - pinia-vitest-nightwatch/package.json | 25 +- pinia-vitest-nightwatch/src/assets/main.css | 2 +- pinia-vitest-nightwatch/tests/e2e/example.js | 5 +- pinia-vitest-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - pinia-vitest-playwright-nightwatch/README.md | 77 - .../e2e/vue.spec.js | 8 - pinia-vitest-playwright-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 31 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 11 - .../src/stores/counter.js | 12 - .../tests/e2e/example.js | 14 - .../vite.config.js | 18 - .../vitest.config.js | 14 - pinia-vitest-playwright/.gitignore | 2 + pinia-vitest-playwright/e2e/vue.spec.js | 2 +- pinia-vitest-playwright/jsconfig.json | 8 + pinia-vitest-playwright/package.json | 15 +- pinia-vitest-playwright/playwright.config.js | 13 +- pinia-vitest-playwright/src/assets/main.css | 2 +- pinia-vitest/.gitignore | 2 + pinia-vitest/jsconfig.json | 8 + pinia-vitest/package.json | 13 +- pinia-vitest/src/assets/main.css | 2 +- pinia-with-tests/.gitignore | 2 + pinia-with-tests/cypress.config.js | 4 +- pinia-with-tests/jsconfig.json | 8 + pinia-with-tests/package.json | 17 +- pinia-with-tests/src/assets/main.css | 2 +- pinia/.gitignore | 2 + pinia/jsconfig.json | 8 + pinia/package.json | 7 +- pinia/src/assets/main.css | 2 +- playwright-nightwatch/.gitignore | 34 - playwright-nightwatch/.vscode/extensions.json | 8 - playwright-nightwatch/README.md | 71 - playwright-nightwatch/e2e/vue.spec.js | 8 - playwright-nightwatch/index.html | 13 - playwright-nightwatch/nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - playwright-nightwatch/nightwatch/globals.js | 23 - playwright-nightwatch/nightwatch/index.html | 16 - playwright-nightwatch/package.json | 27 - playwright-nightwatch/playwright.config.js | 112 - playwright-nightwatch/public/favicon.ico | Bin 4286 -> 0 bytes playwright-nightwatch/src/App.vue | 47 - playwright-nightwatch/src/assets/base.css | 86 - playwright-nightwatch/src/assets/logo.svg | 1 - playwright-nightwatch/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - playwright-nightwatch/src/main.js | 6 - playwright-nightwatch/tests/e2e/example.js | 14 - playwright-nightwatch/vite.config.js | 20 - playwright/.gitignore | 2 + playwright/e2e/vue.spec.js | 2 +- playwright/jsconfig.json | 8 + playwright/package.json | 9 +- playwright/playwright.config.js | 13 +- playwright/src/assets/main.css | 2 +- pnpm-lock.yaml | 13274 ++++++---------- router-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - router-cypress-nightwatch/README.md | 74 - router-cypress-nightwatch/cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - router-cypress-nightwatch/index.html | 13 - router-cypress-nightwatch/nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - router-cypress-nightwatch/package.json | 31 - router-cypress-nightwatch/public/favicon.ico | Bin 4286 -> 0 bytes router-cypress-nightwatch/src/App.vue | 85 - router-cypress-nightwatch/src/assets/base.css | 86 - router-cypress-nightwatch/src/assets/logo.svg | 1 - router-cypress-nightwatch/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - router-cypress-nightwatch/src/main.js | 11 - router-cypress-nightwatch/src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - router-cypress-nightwatch/vite.config.js | 20 - router-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - router-cypress-playwright/README.md | 70 - router-cypress-playwright/cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - router-cypress-playwright/e2e/vue.spec.js | 8 - router-cypress-playwright/index.html | 13 - router-cypress-playwright/package.json | 25 - .../playwright.config.js | 112 - router-cypress-playwright/public/favicon.ico | Bin 4286 -> 0 bytes router-cypress-playwright/src/App.vue | 85 - router-cypress-playwright/src/assets/base.css | 86 - router-cypress-playwright/src/assets/logo.svg | 1 - router-cypress-playwright/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - router-cypress-playwright/src/main.js | 11 - router-cypress-playwright/src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - router-cypress-playwright/vite.config.js | 16 - router-cypress/.gitignore | 2 + router-cypress/cypress.config.js | 4 +- router-cypress/jsconfig.json | 8 + router-cypress/package.json | 11 +- router-cypress/src/assets/main.css | 2 +- router-nightwatch/.gitignore | 2 + router-nightwatch/jsconfig.json | 8 + router-nightwatch/nightwatch.conf.js | 5 +- router-nightwatch/nightwatch/globals.js | 23 - router-nightwatch/package.json | 22 +- router-nightwatch/src/assets/main.css | 2 +- router-nightwatch/tests/e2e/example.js | 5 +- router-pinia-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - router-pinia-cypress-nightwatch/README.md | 74 - .../cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - router-pinia-cypress-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - router-pinia-cypress-nightwatch/package.json | 32 - .../public/favicon.ico | Bin 4286 -> 0 bytes router-pinia-cypress-nightwatch/src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - router-pinia-cypress-nightwatch/src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 20 - router-pinia-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - router-pinia-cypress-playwright/README.md | 70 - .../cypress.config.js | 15 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.js | 30 - .../cypress/support/e2e.js | 20 - .../e2e/vue.spec.js | 8 - router-pinia-cypress-playwright/index.html | 13 - router-pinia-cypress-playwright/package.json | 26 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes router-pinia-cypress-playwright/src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../src/components/__tests__/HelloWorld.cy.js | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - router-pinia-cypress-playwright/src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../vite.config.js | 16 - router-pinia-cypress/.gitignore | 2 + router-pinia-cypress/cypress.config.js | 4 +- router-pinia-cypress/jsconfig.json | 8 + router-pinia-cypress/package.json | 11 +- router-pinia-cypress/src/assets/main.css | 2 +- router-pinia-nightwatch/.gitignore | 2 + router-pinia-nightwatch/jsconfig.json | 8 + router-pinia-nightwatch/nightwatch.conf.js | 5 +- router-pinia-nightwatch/nightwatch/globals.js | 23 - router-pinia-nightwatch/package.json | 22 +- router-pinia-nightwatch/src/assets/main.css | 2 +- router-pinia-nightwatch/tests/e2e/example.js | 5 +- router-pinia-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - router-pinia-playwright-nightwatch/README.md | 71 - .../e2e/vue.spec.js | 8 - router-pinia-playwright-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../package.json | 29 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 20 - router-pinia-playwright/.gitignore | 2 + router-pinia-playwright/e2e/vue.spec.js | 2 +- router-pinia-playwright/jsconfig.json | 8 + router-pinia-playwright/package.json | 9 +- router-pinia-playwright/playwright.config.js | 13 +- router-pinia-playwright/src/assets/main.css | 2 +- .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 74 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 34 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 18 - .../vitest.config.js | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 70 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../package.json | 28 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../vite.config.js | 16 - .../vitest.config.js | 14 - router-pinia-vitest-cypress/.gitignore | 2 + router-pinia-vitest-cypress/cypress.config.js | 4 +- router-pinia-vitest-cypress/jsconfig.json | 8 + router-pinia-vitest-cypress/package.json | 17 +- .../src/assets/main.css | 2 +- router-pinia-vitest-nightwatch/.gitignore | 2 + router-pinia-vitest-nightwatch/jsconfig.json | 8 + .../nightwatch.conf.js | 5 +- .../nightwatch/globals.js | 23 - router-pinia-vitest-nightwatch/package.json | 25 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.js | 5 +- .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 77 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 32 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 14 - .../src/router/index.js | 23 - .../src/stores/counter.js | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 18 - .../vitest.config.js | 14 - router-pinia-vitest-playwright/.gitignore | 2 + .../e2e/vue.spec.js | 2 +- router-pinia-vitest-playwright/jsconfig.json | 8 + router-pinia-vitest-playwright/package.json | 15 +- .../playwright.config.js | 13 +- .../src/assets/main.css | 2 +- router-pinia-vitest/.gitignore | 2 + router-pinia-vitest/jsconfig.json | 8 + router-pinia-vitest/package.json | 13 +- router-pinia-vitest/src/assets/main.css | 2 +- router-pinia-with-tests/.gitignore | 2 + router-pinia-with-tests/cypress.config.js | 4 +- router-pinia-with-tests/jsconfig.json | 8 + router-pinia-with-tests/package.json | 17 +- router-pinia-with-tests/src/assets/main.css | 2 +- router-pinia/.gitignore | 2 + router-pinia/jsconfig.json | 8 + router-pinia/package.json | 7 +- router-pinia/src/assets/main.css | 2 +- router-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - router-playwright-nightwatch/README.md | 71 - router-playwright-nightwatch/e2e/vue.spec.js | 8 - router-playwright-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - router-playwright-nightwatch/package.json | 28 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes router-playwright-nightwatch/src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - router-playwright-nightwatch/src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - router-playwright-nightwatch/vite.config.js | 20 - router-playwright/.gitignore | 2 + router-playwright/e2e/vue.spec.js | 2 +- router-playwright/jsconfig.json | 8 + router-playwright/package.json | 9 +- router-playwright/playwright.config.js | 13 +- router-playwright/src/assets/main.css | 2 +- router-vitest-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - router-vitest-cypress-nightwatch/README.md | 74 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - router-vitest-cypress-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - router-vitest-cypress-nightwatch/package.json | 33 - .../public/favicon.ico | Bin 4286 -> 0 bytes router-vitest-cypress-nightwatch/src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - router-vitest-cypress-nightwatch/src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 18 - .../vitest.config.js | 14 - router-vitest-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - router-vitest-cypress-playwright/README.md | 70 - .../cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - .../e2e/vue.spec.js | 8 - router-vitest-cypress-playwright/index.html | 13 - router-vitest-cypress-playwright/package.json | 27 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes router-vitest-cypress-playwright/src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - router-vitest-cypress-playwright/src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../vite.config.js | 16 - .../vitest.config.js | 14 - router-vitest-cypress/.gitignore | 2 + router-vitest-cypress/cypress.config.js | 4 +- router-vitest-cypress/jsconfig.json | 8 + router-vitest-cypress/package.json | 17 +- router-vitest-cypress/src/assets/main.css | 2 +- router-vitest-nightwatch/.gitignore | 2 + router-vitest-nightwatch/jsconfig.json | 8 + router-vitest-nightwatch/nightwatch.conf.js | 5 +- .../nightwatch/globals.js | 23 - router-vitest-nightwatch/package.json | 25 +- router-vitest-nightwatch/src/assets/main.css | 2 +- router-vitest-nightwatch/tests/e2e/example.js | 5 +- .../.gitignore | 34 - .../.vscode/extensions.json | 8 - router-vitest-playwright-nightwatch/README.md | 77 - .../e2e/vue.spec.js | 8 - .../index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - .../package.json | 31 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 86 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.js | 11 - .../src/router/index.js | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.js | 14 - .../vite.config.js | 18 - .../vitest.config.js | 14 - router-vitest-playwright/.gitignore | 2 + router-vitest-playwright/e2e/vue.spec.js | 2 +- router-vitest-playwright/jsconfig.json | 8 + router-vitest-playwright/package.json | 15 +- router-vitest-playwright/playwright.config.js | 13 +- router-vitest-playwright/src/assets/main.css | 2 +- router-vitest/.gitignore | 2 + router-vitest/jsconfig.json | 8 + router-vitest/package.json | 13 +- router-vitest/src/assets/main.css | 2 +- router-with-tests/.gitignore | 2 + router-with-tests/cypress.config.js | 4 +- router-with-tests/jsconfig.json | 8 + router-with-tests/package.json | 17 +- router-with-tests/src/assets/main.css | 2 +- router/.gitignore | 2 + router/jsconfig.json | 8 + router/package.json | 7 +- router/src/assets/main.css | 2 +- typescript-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - typescript-cypress-nightwatch/README.md | 85 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - typescript-cypress-nightwatch/env.d.ts | 1 - typescript-cypress-nightwatch/index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - typescript-cypress-nightwatch/package.json | 38 - .../public/favicon.ico | Bin 4286 -> 0 bytes typescript-cypress-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - typescript-cypress-nightwatch/src/main.ts | 6 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - typescript-cypress-nightwatch/tsconfig.json | 14 - .../tsconfig.node.json | 16 - typescript-cypress-nightwatch/vite.config.ts | 20 - typescript-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - typescript-cypress-playwright/README.md | 81 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - typescript-cypress-playwright/e2e/vue.spec.ts | 8 - typescript-cypress-playwright/env.d.ts | 1 - typescript-cypress-playwright/index.html | 13 - typescript-cypress-playwright/package.json | 32 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes typescript-cypress-playwright/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - typescript-cypress-playwright/src/main.ts | 6 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - typescript-cypress-playwright/tsconfig.json | 14 - .../tsconfig.node.json | 16 - typescript-cypress-playwright/vite.config.ts | 16 - typescript-cypress/.gitignore | 2 + typescript-cypress/package.json | 17 +- typescript-cypress/src/assets/main.css | 2 +- typescript-cypress/tsconfig.app.json | 1 + typescript-cypress/tsconfig.json | 5 +- typescript-cypress/tsconfig.node.json | 1 + typescript-jsx-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - typescript-jsx-cypress-nightwatch/README.md | 85 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - typescript-jsx-cypress-nightwatch/env.d.ts | 1 - typescript-jsx-cypress-nightwatch/index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 39 - .../public/favicon.ico | Bin 4286 -> 0 bytes typescript-jsx-cypress-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - typescript-jsx-cypress-nightwatch/src/main.ts | 6 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 22 - typescript-jsx-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - typescript-jsx-cypress-playwright/README.md | 81 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - typescript-jsx-cypress-playwright/env.d.ts | 1 - typescript-jsx-cypress-playwright/index.html | 13 - .../package.json | 33 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes typescript-jsx-cypress-playwright/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - typescript-jsx-cypress-playwright/src/main.ts | 6 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 18 - typescript-jsx-cypress/.gitignore | 2 + typescript-jsx-cypress/package.json | 19 +- typescript-jsx-cypress/src/assets/main.css | 2 +- typescript-jsx-cypress/tsconfig.app.json | 1 + typescript-jsx-cypress/tsconfig.json | 5 +- typescript-jsx-cypress/tsconfig.node.json | 1 + typescript-jsx-nightwatch/.gitignore | 2 + typescript-jsx-nightwatch/nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- typescript-jsx-nightwatch/package.json | 30 +- typescript-jsx-nightwatch/src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- typescript-jsx-nightwatch/tsconfig.app.json | 1 + typescript-jsx-nightwatch/tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 40 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 22 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 34 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 18 - typescript-jsx-pinia-cypress/.gitignore | 2 + typescript-jsx-pinia-cypress/package.json | 19 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + typescript-jsx-pinia-cypress/tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-jsx-pinia-nightwatch/.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- typescript-jsx-pinia-nightwatch/package.json | 30 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 82 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 37 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 22 - typescript-jsx-pinia-playwright/.gitignore | 2 + typescript-jsx-pinia-playwright/package.json | 17 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 43 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 20 - .../vitest.config.ts | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 37 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - .../.gitignore | 2 + .../package.json | 27 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.json | 5 +- .../tsconfig.node.json | 1 + .../.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- .../package.json | 35 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 88 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 41 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 20 - .../vitest.config.ts | 14 - .../.gitignore | 2 + .../package.json | 25 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-jsx-pinia-vitest/.gitignore | 2 + typescript-jsx-pinia-vitest/package.json | 23 +- .../src/assets/main.css | 2 +- typescript-jsx-pinia-vitest/tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-jsx-pinia-with-tests/.gitignore | 2 + typescript-jsx-pinia-with-tests/package.json | 27 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + typescript-jsx-pinia-with-tests/tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-jsx-pinia/.gitignore | 2 + typescript-jsx-pinia/package.json | 15 +- typescript-jsx-pinia/src/assets/main.css | 2 +- typescript-jsx-pinia/tsconfig.app.json | 1 + typescript-jsx-pinia/tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 82 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - typescript-jsx-playwright-nightwatch/env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 36 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 6 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 22 - typescript-jsx-playwright/.gitignore | 2 + typescript-jsx-playwright/package.json | 17 +- .../playwright.config.ts | 11 +- typescript-jsx-playwright/src/assets/main.css | 2 +- typescript-jsx-playwright/tsconfig.app.json | 1 + typescript-jsx-playwright/tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 40 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 22 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 34 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 18 - typescript-jsx-router-cypress/.gitignore | 2 + typescript-jsx-router-cypress/package.json | 19 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + typescript-jsx-router-cypress/tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-jsx-router-nightwatch/.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- typescript-jsx-router-nightwatch/package.json | 30 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 41 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 22 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 35 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 18 - .../.gitignore | 2 + .../package.json | 19 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.json | 5 +- .../tsconfig.node.json | 1 + .../.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- .../package.json | 30 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 82 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 38 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 22 - .../.gitignore | 2 + .../package.json | 17 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 44 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 20 - .../vitest.config.ts | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 38 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - .../.gitignore | 2 + .../package.json | 27 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.json | 5 +- .../tsconfig.node.json | 1 + .../.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- .../package.json | 35 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 88 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 42 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 20 - .../vitest.config.ts | 14 - .../.gitignore | 2 + .../package.json | 25 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-jsx-router-pinia-vitest/.gitignore | 2 + .../package.json | 23 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 2 + .../package.json | 27 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-jsx-router-pinia/.gitignore | 2 + typescript-jsx-router-pinia/package.json | 15 +- .../src/assets/main.css | 2 +- typescript-jsx-router-pinia/tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 82 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 37 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 22 - typescript-jsx-router-playwright/.gitignore | 2 + typescript-jsx-router-playwright/package.json | 17 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 43 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 20 - .../vitest.config.ts | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 37 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - .../.gitignore | 2 + .../package.json | 27 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.json | 5 +- .../tsconfig.node.json | 1 + .../.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- .../package.json | 35 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 88 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 41 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 20 - .../vitest.config.ts | 14 - .../.gitignore | 2 + .../package.json | 25 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-jsx-router-vitest/.gitignore | 2 + typescript-jsx-router-vitest/package.json | 23 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-jsx-router-with-tests/.gitignore | 2 + typescript-jsx-router-with-tests/package.json | 27 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-jsx-router/.gitignore | 2 + typescript-jsx-router/package.json | 15 +- typescript-jsx-router/src/assets/main.css | 2 +- typescript-jsx-router/tsconfig.app.json | 1 + typescript-jsx-router/tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 42 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 6 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 20 - .../vitest.config.ts | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 36 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 6 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - typescript-jsx-vitest-cypress/.gitignore | 2 + typescript-jsx-vitest-cypress/package.json | 27 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + typescript-jsx-vitest-cypress/tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-jsx-vitest-nightwatch/.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- typescript-jsx-vitest-nightwatch/package.json | 35 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 88 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 40 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 6 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 20 - .../vitest.config.ts | 14 - typescript-jsx-vitest-playwright/.gitignore | 2 + typescript-jsx-vitest-playwright/package.json | 25 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-jsx-vitest/.gitignore | 2 + typescript-jsx-vitest/package.json | 23 +- typescript-jsx-vitest/src/assets/main.css | 2 +- typescript-jsx-vitest/tsconfig.app.json | 1 + typescript-jsx-vitest/tsconfig.node.json | 1 + typescript-jsx-with-tests/.gitignore | 2 + typescript-jsx-with-tests/package.json | 27 +- typescript-jsx-with-tests/src/assets/main.css | 2 +- typescript-jsx-with-tests/tsconfig.app.json | 1 + typescript-jsx-with-tests/tsconfig.json | 5 +- typescript-jsx-with-tests/tsconfig.node.json | 1 + typescript-jsx/.gitignore | 2 + typescript-jsx/package.json | 15 +- typescript-jsx/src/assets/main.css | 2 +- typescript-jsx/tsconfig.app.json | 1 + typescript-jsx/tsconfig.node.json | 1 + typescript-nightwatch/.gitignore | 2 + typescript-nightwatch/nightwatch.conf.ts | 5 +- typescript-nightwatch/nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- typescript-nightwatch/package.json | 28 +- typescript-nightwatch/src/assets/main.css | 2 +- typescript-nightwatch/tests/e2e/example.ts | 5 +- typescript-nightwatch/tsconfig.app.json | 1 + typescript-nightwatch/tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - typescript-pinia-cypress-nightwatch/README.md | 85 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - typescript-pinia-cypress-nightwatch/env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 39 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 20 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - typescript-pinia-cypress-playwright/README.md | 81 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - typescript-pinia-cypress-playwright/env.d.ts | 1 - .../index.html | 13 - .../package.json | 33 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 16 - typescript-pinia-cypress/.gitignore | 2 + typescript-pinia-cypress/package.json | 17 +- typescript-pinia-cypress/src/assets/main.css | 2 +- typescript-pinia-cypress/tsconfig.app.json | 1 + typescript-pinia-cypress/tsconfig.json | 5 +- typescript-pinia-cypress/tsconfig.node.json | 1 + typescript-pinia-nightwatch/.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- typescript-pinia-nightwatch/package.json | 28 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- typescript-pinia-nightwatch/tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 82 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 36 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 20 - typescript-pinia-playwright/.gitignore | 2 + typescript-pinia-playwright/package.json | 15 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- typescript-pinia-playwright/tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 42 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 36 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 16 - .../vitest.config.ts | 14 - typescript-pinia-vitest-cypress/.gitignore | 2 + typescript-pinia-vitest-cypress/package.json | 25 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + typescript-pinia-vitest-cypress/tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-pinia-vitest-nightwatch/.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- .../package.json | 33 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 88 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 40 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/stores/counter.ts | 12 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - typescript-pinia-vitest-playwright/.gitignore | 2 + .../package.json | 23 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-pinia-vitest/.gitignore | 2 + typescript-pinia-vitest/package.json | 21 +- typescript-pinia-vitest/src/assets/main.css | 2 +- typescript-pinia-vitest/tsconfig.app.json | 1 + typescript-pinia-vitest/tsconfig.node.json | 1 + typescript-pinia-with-tests/.gitignore | 2 + typescript-pinia-with-tests/package.json | 25 +- .../src/assets/main.css | 2 +- typescript-pinia-with-tests/tsconfig.app.json | 1 + typescript-pinia-with-tests/tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-pinia/.gitignore | 2 + typescript-pinia/package.json | 13 +- typescript-pinia/src/assets/main.css | 2 +- typescript-pinia/tsconfig.app.json | 1 + typescript-pinia/tsconfig.node.json | 1 + typescript-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - typescript-playwright-nightwatch/README.md | 82 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - typescript-playwright-nightwatch/env.d.ts | 1 - typescript-playwright-nightwatch/index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - typescript-playwright-nightwatch/package.json | 35 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes typescript-playwright-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - typescript-playwright-nightwatch/src/main.ts | 6 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 20 - typescript-playwright/.gitignore | 2 + typescript-playwright/package.json | 15 +- typescript-playwright/playwright.config.ts | 11 +- typescript-playwright/src/assets/main.css | 2 +- typescript-playwright/tsconfig.app.json | 1 + typescript-playwright/tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - typescript-router-cypress-nightwatch/env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 39 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 20 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - typescript-router-cypress-playwright/env.d.ts | 1 - .../index.html | 13 - .../package.json | 33 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 16 - typescript-router-cypress/.gitignore | 2 + typescript-router-cypress/package.json | 17 +- typescript-router-cypress/src/assets/main.css | 2 +- typescript-router-cypress/tsconfig.app.json | 1 + typescript-router-cypress/tsconfig.json | 5 +- typescript-router-cypress/tsconfig.node.json | 1 + typescript-router-nightwatch/.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- typescript-router-nightwatch/package.json | 28 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 40 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 20 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 15 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/component-index.html | 12 - .../cypress/support/component.ts | 43 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 34 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../src/components/__tests__/HelloWorld.cy.ts | 12 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tsconfig.app.json | 12 - .../tsconfig.cypress-ct.json | 14 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 16 - typescript-router-pinia-cypress/.gitignore | 2 + typescript-router-pinia-cypress/package.json | 17 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + typescript-router-pinia-cypress/tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-router-pinia-nightwatch/.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- .../package.json | 28 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 82 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 37 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 20 - typescript-router-pinia-playwright/.gitignore | 2 + .../package.json | 15 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 43 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 37 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 16 - .../vitest.config.ts | 14 - .../.gitignore | 2 + .../package.json | 25 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.json | 5 +- .../tsconfig.node.json | 1 + .../.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- .../package.json | 33 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 88 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 41 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 14 - .../src/router/index.ts | 23 - .../src/stores/counter.ts | 12 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - .../.gitignore | 2 + .../package.json | 23 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-router-pinia-vitest/.gitignore | 2 + typescript-router-pinia-vitest/package.json | 21 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-router-pinia-with-tests/.gitignore | 2 + .../package.json | 25 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-router-pinia/.gitignore | 2 + typescript-router-pinia/package.json | 13 +- typescript-router-pinia/src/assets/main.css | 2 +- typescript-router-pinia/tsconfig.app.json | 1 + typescript-router-pinia/tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 82 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/index.html | 16 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 36 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 14 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../vite.config.ts | 20 - typescript-router-playwright/.gitignore | 2 + typescript-router-playwright/package.json | 15 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 42 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../package.json | 36 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 16 - .../vitest.config.ts | 14 - typescript-router-vitest-cypress/.gitignore | 2 + typescript-router-vitest-cypress/package.json | 25 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.json | 5 +- .../tsconfig.node.json | 1 + .../.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- .../package.json | 33 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 88 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 40 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 85 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 11 - .../src/router/index.ts | 23 - .../src/views/AboutView.vue | 15 - .../src/views/HomeView.vue | 9 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - .../.gitignore | 2 + .../package.json | 23 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-router-vitest/.gitignore | 2 + typescript-router-vitest/package.json | 21 +- typescript-router-vitest/src/assets/main.css | 2 +- typescript-router-vitest/tsconfig.app.json | 1 + typescript-router-vitest/tsconfig.node.json | 1 + typescript-router-with-tests/.gitignore | 2 + typescript-router-with-tests/package.json | 25 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + typescript-router-with-tests/tsconfig.json | 5 +- .../tsconfig.node.json | 1 + typescript-router/.gitignore | 2 + typescript-router/package.json | 13 +- typescript-router/src/assets/main.css | 2 +- typescript-router/tsconfig.app.json | 1 + typescript-router/tsconfig.node.json | 1 + .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 85 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - typescript-vitest-cypress-nightwatch/env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 41 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 6 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - .../.gitignore | 31 - .../.vscode/extensions.json | 7 - .../README.md | 81 - .../cypress.config.ts | 8 - .../cypress/e2e/example.cy.ts | 8 - .../cypress/e2e/tsconfig.json | 10 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.ts | 39 - .../cypress/support/e2e.ts | 20 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - typescript-vitest-cypress-playwright/env.d.ts | 1 - .../index.html | 13 - .../package.json | 35 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 6 - .../tsconfig.app.json | 12 - .../tsconfig.json | 14 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 16 - .../vitest.config.ts | 14 - typescript-vitest-cypress/.gitignore | 2 + typescript-vitest-cypress/package.json | 25 +- typescript-vitest-cypress/src/assets/main.css | 2 +- typescript-vitest-cypress/tsconfig.app.json | 1 + typescript-vitest-cypress/tsconfig.json | 5 +- typescript-vitest-cypress/tsconfig.node.json | 1 + typescript-vitest-nightwatch/.gitignore | 2 + .../nightwatch.conf.ts | 5 +- .../nightwatch/globals.js | 23 - .../nightwatch/tsconfig.json | 4 +- typescript-vitest-nightwatch/package.json | 33 +- .../src/assets/main.css | 2 +- .../tests/e2e/example.ts | 5 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + .../.gitignore | 34 - .../.vscode/extensions.json | 8 - .../README.md | 88 - .../e2e/tsconfig.json | 4 - .../e2e/vue.spec.ts | 8 - .../env.d.ts | 1 - .../index.html | 13 - .../nightwatch.conf.ts | 152 - .../custom-assertions/elementHasCount.ts | 43 - .../nightwatch/custom-commands/strictClick.ts | 18 - .../nightwatch/globals.js | 23 - .../nightwatch/nightwatch.d.ts | 11 - .../nightwatch/tsconfig.json | 16 - .../package.json | 39 - .../playwright.config.ts | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes .../src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 41 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.ts | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - .../src/main.ts | 6 - .../tests/e2e/example.ts | 14 - .../tsconfig.app.json | 12 - .../tsconfig.json | 17 - .../tsconfig.node.json | 16 - .../tsconfig.vitest.json | 9 - .../vite.config.ts | 18 - .../vitest.config.ts | 14 - typescript-vitest-playwright/.gitignore | 2 + typescript-vitest-playwright/package.json | 23 +- .../playwright.config.ts | 11 +- .../src/assets/main.css | 2 +- .../tsconfig.app.json | 1 + .../tsconfig.node.json | 1 + typescript-vitest/.gitignore | 2 + typescript-vitest/package.json | 21 +- typescript-vitest/src/assets/main.css | 2 +- typescript-vitest/tsconfig.app.json | 1 + typescript-vitest/tsconfig.node.json | 1 + typescript-with-tests/.gitignore | 2 + typescript-with-tests/package.json | 25 +- typescript-with-tests/src/assets/main.css | 2 +- typescript-with-tests/tsconfig.app.json | 1 + typescript-with-tests/tsconfig.json | 5 +- typescript-with-tests/tsconfig.node.json | 1 + typescript/.gitignore | 2 + typescript/package.json | 13 +- typescript/src/assets/main.css | 2 +- typescript/tsconfig.app.json | 1 + typescript/tsconfig.node.json | 1 + vitest-cypress-nightwatch/.gitignore | 31 - .../.vscode/extensions.json | 7 - vitest-cypress-nightwatch/README.md | 74 - vitest-cypress-nightwatch/cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - vitest-cypress-nightwatch/index.html | 13 - vitest-cypress-nightwatch/nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - vitest-cypress-nightwatch/package.json | 32 - vitest-cypress-nightwatch/public/favicon.ico | Bin 4286 -> 0 bytes vitest-cypress-nightwatch/src/App.vue | 47 - vitest-cypress-nightwatch/src/assets/base.css | 86 - vitest-cypress-nightwatch/src/assets/logo.svg | 1 - vitest-cypress-nightwatch/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - vitest-cypress-nightwatch/src/main.js | 6 - .../tests/e2e/example.js | 14 - vitest-cypress-nightwatch/vite.config.js | 18 - vitest-cypress-nightwatch/vitest.config.js | 14 - vitest-cypress-playwright/.gitignore | 31 - .../.vscode/extensions.json | 7 - vitest-cypress-playwright/README.md | 70 - vitest-cypress-playwright/cypress.config.js | 8 - .../cypress/e2e/example.cy.js | 8 - .../cypress/e2e/jsconfig.json | 8 - .../cypress/fixtures/example.json | 5 - .../cypress/support/commands.js | 25 - .../cypress/support/e2e.js | 20 - vitest-cypress-playwright/e2e/vue.spec.js | 8 - vitest-cypress-playwright/index.html | 13 - vitest-cypress-playwright/package.json | 26 - .../playwright.config.js | 112 - vitest-cypress-playwright/public/favicon.ico | Bin 4286 -> 0 bytes vitest-cypress-playwright/src/App.vue | 47 - vitest-cypress-playwright/src/assets/base.css | 86 - vitest-cypress-playwright/src/assets/logo.svg | 1 - vitest-cypress-playwright/src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - vitest-cypress-playwright/src/main.js | 6 - vitest-cypress-playwright/vite.config.js | 16 - vitest-cypress-playwright/vitest.config.js | 14 - vitest-cypress/.gitignore | 2 + vitest-cypress/cypress.config.js | 4 +- vitest-cypress/jsconfig.json | 8 + vitest-cypress/package.json | 17 +- vitest-cypress/src/assets/main.css | 2 +- vitest-nightwatch/.gitignore | 2 + vitest-nightwatch/jsconfig.json | 8 + vitest-nightwatch/nightwatch.conf.js | 5 +- vitest-nightwatch/nightwatch/globals.js | 23 - vitest-nightwatch/package.json | 25 +- vitest-nightwatch/src/assets/main.css | 2 +- vitest-nightwatch/tests/e2e/example.js | 5 +- vitest-playwright-nightwatch/.gitignore | 34 - .../.vscode/extensions.json | 8 - vitest-playwright-nightwatch/README.md | 77 - vitest-playwright-nightwatch/e2e/vue.spec.js | 8 - vitest-playwright-nightwatch/index.html | 13 - .../nightwatch.conf.js | 152 - .../custom-assertions/elementHasCount.js | 45 - .../nightwatch/custom-commands/strictClick.js | 19 - .../nightwatch/globals.js | 23 - vitest-playwright-nightwatch/package.json | 30 - .../playwright.config.js | 112 - .../public/favicon.ico | Bin 4286 -> 0 bytes vitest-playwright-nightwatch/src/App.vue | 47 - .../src/assets/base.css | 86 - .../src/assets/logo.svg | 1 - .../src/assets/main.css | 35 - .../src/components/HelloWorld.vue | 44 - .../src/components/TheWelcome.vue | 88 - .../src/components/WelcomeItem.vue | 87 - .../components/__tests__/HelloWorld.spec.js | 11 - .../src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../src/components/icons/IconEcosystem.vue | 7 - .../src/components/icons/IconSupport.vue | 7 - .../src/components/icons/IconTooling.vue | 19 - vitest-playwright-nightwatch/src/main.js | 6 - .../tests/e2e/example.js | 14 - vitest-playwright-nightwatch/vite.config.js | 18 - vitest-playwright-nightwatch/vitest.config.js | 14 - vitest-playwright/.gitignore | 2 + vitest-playwright/e2e/vue.spec.js | 2 +- vitest-playwright/jsconfig.json | 8 + vitest-playwright/package.json | 15 +- vitest-playwright/playwright.config.js | 13 +- vitest-playwright/src/assets/main.css | 2 +- vitest/.gitignore | 2 + vitest/jsconfig.json | 8 + vitest/package.json | 13 +- vitest/src/assets/main.css | 2 +- with-tests/.gitignore | 2 + with-tests/cypress.config.js | 4 +- with-tests/jsconfig.json | 8 + with-tests/package.json | 17 +- with-tests/src/assets/main.css | 2 +- 4385 files changed, 7686 insertions(+), 113220 deletions(-) delete mode 100644 cypress-nightwatch/.gitignore delete mode 100644 cypress-nightwatch/.vscode/extensions.json delete mode 100644 cypress-nightwatch/README.md delete mode 100644 cypress-nightwatch/cypress.config.js delete mode 100644 cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 cypress-nightwatch/cypress/support/commands.js delete mode 100644 cypress-nightwatch/cypress/support/component-index.html delete mode 100644 cypress-nightwatch/cypress/support/component.js delete mode 100644 cypress-nightwatch/cypress/support/e2e.js delete mode 100644 cypress-nightwatch/index.html delete mode 100644 cypress-nightwatch/nightwatch.conf.js delete mode 100644 cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 cypress-nightwatch/nightwatch/globals.js delete mode 100644 cypress-nightwatch/nightwatch/index.html delete mode 100644 cypress-nightwatch/package.json delete mode 100644 cypress-nightwatch/public/favicon.ico delete mode 100644 cypress-nightwatch/src/App.vue delete mode 100644 cypress-nightwatch/src/assets/base.css delete mode 100644 cypress-nightwatch/src/assets/logo.svg delete mode 100644 cypress-nightwatch/src/assets/main.css delete mode 100644 cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js delete mode 100644 cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 cypress-nightwatch/src/main.js delete mode 100644 cypress-nightwatch/tests/e2e/example.js delete mode 100644 cypress-nightwatch/vite.config.js delete mode 100644 cypress-playwright/.gitignore delete mode 100644 cypress-playwright/.vscode/extensions.json delete mode 100644 cypress-playwright/README.md delete mode 100644 cypress-playwright/cypress.config.js delete mode 100644 cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 cypress-playwright/cypress/fixtures/example.json delete mode 100644 cypress-playwright/cypress/support/commands.js delete mode 100644 cypress-playwright/cypress/support/component-index.html delete mode 100644 cypress-playwright/cypress/support/component.js delete mode 100644 cypress-playwright/cypress/support/e2e.js delete mode 100644 cypress-playwright/e2e/vue.spec.js delete mode 100644 cypress-playwright/index.html delete mode 100644 cypress-playwright/package.json delete mode 100644 cypress-playwright/playwright.config.js delete mode 100644 cypress-playwright/public/favicon.ico delete mode 100644 cypress-playwright/src/App.vue delete mode 100644 cypress-playwright/src/assets/base.css delete mode 100644 cypress-playwright/src/assets/logo.svg delete mode 100644 cypress-playwright/src/assets/main.css delete mode 100644 cypress-playwright/src/components/HelloWorld.vue delete mode 100644 cypress-playwright/src/components/TheWelcome.vue delete mode 100644 cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 cypress-playwright/src/components/__tests__/HelloWorld.cy.js delete mode 100644 cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 cypress-playwright/src/main.js delete mode 100644 cypress-playwright/vite.config.js create mode 100644 cypress/jsconfig.json create mode 100644 default/jsconfig.json delete mode 100644 jsx-cypress-nightwatch/.gitignore delete mode 100644 jsx-cypress-nightwatch/.vscode/extensions.json delete mode 100644 jsx-cypress-nightwatch/README.md delete mode 100644 jsx-cypress-nightwatch/cypress.config.js delete mode 100644 jsx-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 jsx-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 jsx-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 jsx-cypress-nightwatch/cypress/support/commands.js delete mode 100644 jsx-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 jsx-cypress-nightwatch/cypress/support/component.js delete mode 100644 jsx-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 jsx-cypress-nightwatch/index.html delete mode 100644 jsx-cypress-nightwatch/nightwatch.conf.js delete mode 100644 jsx-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-cypress-nightwatch/nightwatch/globals.js delete mode 100644 jsx-cypress-nightwatch/nightwatch/index.html delete mode 100644 jsx-cypress-nightwatch/package.json delete mode 100644 jsx-cypress-nightwatch/public/favicon.ico delete mode 100644 jsx-cypress-nightwatch/src/App.vue delete mode 100644 jsx-cypress-nightwatch/src/assets/base.css delete mode 100644 jsx-cypress-nightwatch/src/assets/logo.svg delete mode 100644 jsx-cypress-nightwatch/src/assets/main.css delete mode 100644 jsx-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js delete mode 100644 jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-cypress-nightwatch/src/main.js delete mode 100644 jsx-cypress-nightwatch/tests/e2e/example.js delete mode 100644 jsx-cypress-nightwatch/vite.config.js delete mode 100644 jsx-cypress-playwright/.gitignore delete mode 100644 jsx-cypress-playwright/.vscode/extensions.json delete mode 100644 jsx-cypress-playwright/README.md delete mode 100644 jsx-cypress-playwright/cypress.config.js delete mode 100644 jsx-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 jsx-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 jsx-cypress-playwright/cypress/fixtures/example.json delete mode 100644 jsx-cypress-playwright/cypress/support/commands.js delete mode 100644 jsx-cypress-playwright/cypress/support/component-index.html delete mode 100644 jsx-cypress-playwright/cypress/support/component.js delete mode 100644 jsx-cypress-playwright/cypress/support/e2e.js delete mode 100644 jsx-cypress-playwright/e2e/vue.spec.js delete mode 100644 jsx-cypress-playwright/index.html delete mode 100644 jsx-cypress-playwright/package.json delete mode 100644 jsx-cypress-playwright/playwright.config.js delete mode 100644 jsx-cypress-playwright/public/favicon.ico delete mode 100644 jsx-cypress-playwright/src/App.vue delete mode 100644 jsx-cypress-playwright/src/assets/base.css delete mode 100644 jsx-cypress-playwright/src/assets/logo.svg delete mode 100644 jsx-cypress-playwright/src/assets/main.css delete mode 100644 jsx-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 jsx-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 jsx-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 jsx-cypress-playwright/src/components/__tests__/HelloWorld.cy.js delete mode 100644 jsx-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 jsx-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 jsx-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 jsx-cypress-playwright/src/main.js delete mode 100644 jsx-cypress-playwright/vite.config.js create mode 100644 jsx-cypress/jsconfig.json create mode 100644 jsx-nightwatch/jsconfig.json delete mode 100644 jsx-nightwatch/nightwatch/globals.js delete mode 100644 jsx-pinia-cypress-nightwatch/.gitignore delete mode 100644 jsx-pinia-cypress-nightwatch/.vscode/extensions.json delete mode 100644 jsx-pinia-cypress-nightwatch/README.md delete mode 100644 jsx-pinia-cypress-nightwatch/cypress.config.js delete mode 100644 jsx-pinia-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 jsx-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 jsx-pinia-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 jsx-pinia-cypress-nightwatch/cypress/support/commands.js delete mode 100644 jsx-pinia-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 jsx-pinia-cypress-nightwatch/cypress/support/component.js delete mode 100644 jsx-pinia-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 jsx-pinia-cypress-nightwatch/index.html delete mode 100644 jsx-pinia-cypress-nightwatch/nightwatch.conf.js delete mode 100644 jsx-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-pinia-cypress-nightwatch/nightwatch/globals.js delete mode 100644 jsx-pinia-cypress-nightwatch/nightwatch/index.html delete mode 100644 jsx-pinia-cypress-nightwatch/package.json delete mode 100644 jsx-pinia-cypress-nightwatch/public/favicon.ico delete mode 100644 jsx-pinia-cypress-nightwatch/src/App.vue delete mode 100644 jsx-pinia-cypress-nightwatch/src/assets/base.css delete mode 100644 jsx-pinia-cypress-nightwatch/src/assets/logo.svg delete mode 100644 jsx-pinia-cypress-nightwatch/src/assets/main.css delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-pinia-cypress-nightwatch/src/main.js delete mode 100644 jsx-pinia-cypress-nightwatch/src/stores/counter.js delete mode 100644 jsx-pinia-cypress-nightwatch/tests/e2e/example.js delete mode 100644 jsx-pinia-cypress-nightwatch/vite.config.js delete mode 100644 jsx-pinia-cypress-playwright/.gitignore delete mode 100644 jsx-pinia-cypress-playwright/.vscode/extensions.json delete mode 100644 jsx-pinia-cypress-playwright/README.md delete mode 100644 jsx-pinia-cypress-playwright/cypress.config.js delete mode 100644 jsx-pinia-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 jsx-pinia-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 jsx-pinia-cypress-playwright/cypress/fixtures/example.json delete mode 100644 jsx-pinia-cypress-playwright/cypress/support/commands.js delete mode 100644 jsx-pinia-cypress-playwright/cypress/support/component-index.html delete mode 100644 jsx-pinia-cypress-playwright/cypress/support/component.js delete mode 100644 jsx-pinia-cypress-playwright/cypress/support/e2e.js delete mode 100644 jsx-pinia-cypress-playwright/e2e/vue.spec.js delete mode 100644 jsx-pinia-cypress-playwright/index.html delete mode 100644 jsx-pinia-cypress-playwright/package.json delete mode 100644 jsx-pinia-cypress-playwright/playwright.config.js delete mode 100644 jsx-pinia-cypress-playwright/public/favicon.ico delete mode 100644 jsx-pinia-cypress-playwright/src/App.vue delete mode 100644 jsx-pinia-cypress-playwright/src/assets/base.css delete mode 100644 jsx-pinia-cypress-playwright/src/assets/logo.svg delete mode 100644 jsx-pinia-cypress-playwright/src/assets/main.css delete mode 100644 jsx-pinia-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 jsx-pinia-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 jsx-pinia-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 jsx-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js delete mode 100644 jsx-pinia-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 jsx-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-pinia-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 jsx-pinia-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 jsx-pinia-cypress-playwright/src/main.js delete mode 100644 jsx-pinia-cypress-playwright/src/stores/counter.js delete mode 100644 jsx-pinia-cypress-playwright/vite.config.js create mode 100644 jsx-pinia-cypress/jsconfig.json create mode 100644 jsx-pinia-nightwatch/jsconfig.json delete mode 100644 jsx-pinia-nightwatch/nightwatch/globals.js delete mode 100644 jsx-pinia-playwright-nightwatch/.gitignore delete mode 100644 jsx-pinia-playwright-nightwatch/.vscode/extensions.json delete mode 100644 jsx-pinia-playwright-nightwatch/README.md delete mode 100644 jsx-pinia-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 jsx-pinia-playwright-nightwatch/index.html delete mode 100644 jsx-pinia-playwright-nightwatch/nightwatch.conf.js delete mode 100644 jsx-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-pinia-playwright-nightwatch/nightwatch/globals.js delete mode 100644 jsx-pinia-playwright-nightwatch/nightwatch/index.html delete mode 100644 jsx-pinia-playwright-nightwatch/package.json delete mode 100644 jsx-pinia-playwright-nightwatch/playwright.config.js delete mode 100644 jsx-pinia-playwright-nightwatch/public/favicon.ico delete mode 100644 jsx-pinia-playwright-nightwatch/src/App.vue delete mode 100644 jsx-pinia-playwright-nightwatch/src/assets/base.css delete mode 100644 jsx-pinia-playwright-nightwatch/src/assets/logo.svg delete mode 100644 jsx-pinia-playwright-nightwatch/src/assets/main.css delete mode 100644 jsx-pinia-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-pinia-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-pinia-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-pinia-playwright-nightwatch/src/main.js delete mode 100644 jsx-pinia-playwright-nightwatch/src/stores/counter.js delete mode 100644 jsx-pinia-playwright-nightwatch/tests/e2e/example.js delete mode 100644 jsx-pinia-playwright-nightwatch/vite.config.js create mode 100644 jsx-pinia-playwright/jsconfig.json delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/.gitignore delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/README.md delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/cypress.config.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/cypress/support/commands.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/index.html delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/nightwatch.conf.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/package.json delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/App.vue delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/main.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/src/stores/counter.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/tests/e2e/example.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/vite.config.js delete mode 100644 jsx-pinia-vitest-cypress-nightwatch/vitest.config.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/.gitignore delete mode 100644 jsx-pinia-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 jsx-pinia-vitest-cypress-playwright/README.md delete mode 100644 jsx-pinia-vitest-cypress-playwright/cypress.config.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 jsx-pinia-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 jsx-pinia-vitest-cypress-playwright/cypress/support/commands.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/cypress/support/e2e.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/e2e/vue.spec.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/index.html delete mode 100644 jsx-pinia-vitest-cypress-playwright/package.json delete mode 100644 jsx-pinia-vitest-cypress-playwright/playwright.config.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/public/favicon.ico delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/App.vue delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/assets/base.css delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/assets/main.css delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/main.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/src/stores/counter.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/vite.config.js delete mode 100644 jsx-pinia-vitest-cypress-playwright/vitest.config.js create mode 100644 jsx-pinia-vitest-cypress/jsconfig.json create mode 100644 jsx-pinia-vitest-nightwatch/jsconfig.json delete mode 100644 jsx-pinia-vitest-nightwatch/nightwatch/globals.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/.gitignore delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/README.md delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/index.html delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/nightwatch.conf.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/package.json delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/playwright.config.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/App.vue delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/main.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/src/stores/counter.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/tests/e2e/example.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/vite.config.js delete mode 100644 jsx-pinia-vitest-playwright-nightwatch/vitest.config.js create mode 100644 jsx-pinia-vitest-playwright/jsconfig.json create mode 100644 jsx-pinia-vitest/jsconfig.json create mode 100644 jsx-pinia-with-tests/jsconfig.json create mode 100644 jsx-pinia/jsconfig.json delete mode 100644 jsx-playwright-nightwatch/.gitignore delete mode 100644 jsx-playwright-nightwatch/.vscode/extensions.json delete mode 100644 jsx-playwright-nightwatch/README.md delete mode 100644 jsx-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 jsx-playwright-nightwatch/index.html delete mode 100644 jsx-playwright-nightwatch/nightwatch.conf.js delete mode 100644 jsx-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-playwright-nightwatch/nightwatch/globals.js delete mode 100644 jsx-playwright-nightwatch/nightwatch/index.html delete mode 100644 jsx-playwright-nightwatch/package.json delete mode 100644 jsx-playwright-nightwatch/playwright.config.js delete mode 100644 jsx-playwright-nightwatch/public/favicon.ico delete mode 100644 jsx-playwright-nightwatch/src/App.vue delete mode 100644 jsx-playwright-nightwatch/src/assets/base.css delete mode 100644 jsx-playwright-nightwatch/src/assets/logo.svg delete mode 100644 jsx-playwright-nightwatch/src/assets/main.css delete mode 100644 jsx-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-playwright-nightwatch/src/main.js delete mode 100644 jsx-playwright-nightwatch/tests/e2e/example.js delete mode 100644 jsx-playwright-nightwatch/vite.config.js create mode 100644 jsx-playwright/jsconfig.json delete mode 100644 jsx-router-cypress-nightwatch/.gitignore delete mode 100644 jsx-router-cypress-nightwatch/.vscode/extensions.json delete mode 100644 jsx-router-cypress-nightwatch/README.md delete mode 100644 jsx-router-cypress-nightwatch/cypress.config.js delete mode 100644 jsx-router-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 jsx-router-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 jsx-router-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 jsx-router-cypress-nightwatch/cypress/support/commands.js delete mode 100644 jsx-router-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 jsx-router-cypress-nightwatch/cypress/support/component.js delete mode 100644 jsx-router-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 jsx-router-cypress-nightwatch/index.html delete mode 100644 jsx-router-cypress-nightwatch/nightwatch.conf.js delete mode 100644 jsx-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-router-cypress-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-cypress-nightwatch/nightwatch/index.html delete mode 100644 jsx-router-cypress-nightwatch/package.json delete mode 100644 jsx-router-cypress-nightwatch/public/favicon.ico delete mode 100644 jsx-router-cypress-nightwatch/src/App.vue delete mode 100644 jsx-router-cypress-nightwatch/src/assets/base.css delete mode 100644 jsx-router-cypress-nightwatch/src/assets/logo.svg delete mode 100644 jsx-router-cypress-nightwatch/src/assets/main.css delete mode 100644 jsx-router-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-router-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-router-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js delete mode 100644 jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-cypress-nightwatch/src/main.js delete mode 100644 jsx-router-cypress-nightwatch/src/router/index.js delete mode 100644 jsx-router-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 jsx-router-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 jsx-router-cypress-nightwatch/tests/e2e/example.js delete mode 100644 jsx-router-cypress-nightwatch/vite.config.js delete mode 100644 jsx-router-cypress-playwright/.gitignore delete mode 100644 jsx-router-cypress-playwright/.vscode/extensions.json delete mode 100644 jsx-router-cypress-playwright/README.md delete mode 100644 jsx-router-cypress-playwright/cypress.config.js delete mode 100644 jsx-router-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 jsx-router-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 jsx-router-cypress-playwright/cypress/fixtures/example.json delete mode 100644 jsx-router-cypress-playwright/cypress/support/commands.js delete mode 100644 jsx-router-cypress-playwright/cypress/support/component-index.html delete mode 100644 jsx-router-cypress-playwright/cypress/support/component.js delete mode 100644 jsx-router-cypress-playwright/cypress/support/e2e.js delete mode 100644 jsx-router-cypress-playwright/e2e/vue.spec.js delete mode 100644 jsx-router-cypress-playwright/index.html delete mode 100644 jsx-router-cypress-playwright/package.json delete mode 100644 jsx-router-cypress-playwright/playwright.config.js delete mode 100644 jsx-router-cypress-playwright/public/favicon.ico delete mode 100644 jsx-router-cypress-playwright/src/App.vue delete mode 100644 jsx-router-cypress-playwright/src/assets/base.css delete mode 100644 jsx-router-cypress-playwright/src/assets/logo.svg delete mode 100644 jsx-router-cypress-playwright/src/assets/main.css delete mode 100644 jsx-router-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 jsx-router-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 jsx-router-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 jsx-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.js delete mode 100644 jsx-router-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-cypress-playwright/src/main.js delete mode 100644 jsx-router-cypress-playwright/src/router/index.js delete mode 100644 jsx-router-cypress-playwright/src/views/AboutView.vue delete mode 100644 jsx-router-cypress-playwright/src/views/HomeView.vue delete mode 100644 jsx-router-cypress-playwright/vite.config.js create mode 100644 jsx-router-cypress/jsconfig.json create mode 100644 jsx-router-nightwatch/jsconfig.json delete mode 100644 jsx-router-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/.gitignore delete mode 100644 jsx-router-pinia-cypress-nightwatch/.vscode/extensions.json delete mode 100644 jsx-router-pinia-cypress-nightwatch/README.md delete mode 100644 jsx-router-pinia-cypress-nightwatch/cypress.config.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 jsx-router-pinia-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 jsx-router-pinia-cypress-nightwatch/cypress/support/commands.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 jsx-router-pinia-cypress-nightwatch/cypress/support/component.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/index.html delete mode 100644 jsx-router-pinia-cypress-nightwatch/nightwatch.conf.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/nightwatch/index.html delete mode 100644 jsx-router-pinia-cypress-nightwatch/package.json delete mode 100644 jsx-router-pinia-cypress-nightwatch/public/favicon.ico delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/App.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/assets/base.css delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/assets/logo.svg delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/assets/main.css delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/main.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/router/index.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/stores/counter.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 jsx-router-pinia-cypress-nightwatch/tests/e2e/example.js delete mode 100644 jsx-router-pinia-cypress-nightwatch/vite.config.js delete mode 100644 jsx-router-pinia-cypress-playwright/.gitignore delete mode 100644 jsx-router-pinia-cypress-playwright/.vscode/extensions.json delete mode 100644 jsx-router-pinia-cypress-playwright/README.md delete mode 100644 jsx-router-pinia-cypress-playwright/cypress.config.js delete mode 100644 jsx-router-pinia-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 jsx-router-pinia-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 jsx-router-pinia-cypress-playwright/cypress/fixtures/example.json delete mode 100644 jsx-router-pinia-cypress-playwright/cypress/support/commands.js delete mode 100644 jsx-router-pinia-cypress-playwright/cypress/support/component-index.html delete mode 100644 jsx-router-pinia-cypress-playwright/cypress/support/component.js delete mode 100644 jsx-router-pinia-cypress-playwright/cypress/support/e2e.js delete mode 100644 jsx-router-pinia-cypress-playwright/e2e/vue.spec.js delete mode 100644 jsx-router-pinia-cypress-playwright/index.html delete mode 100644 jsx-router-pinia-cypress-playwright/package.json delete mode 100644 jsx-router-pinia-cypress-playwright/playwright.config.js delete mode 100644 jsx-router-pinia-cypress-playwright/public/favicon.ico delete mode 100644 jsx-router-pinia-cypress-playwright/src/App.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/assets/base.css delete mode 100644 jsx-router-pinia-cypress-playwright/src/assets/logo.svg delete mode 100644 jsx-router-pinia-cypress-playwright/src/assets/main.css delete mode 100644 jsx-router-pinia-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js delete mode 100644 jsx-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/main.js delete mode 100644 jsx-router-pinia-cypress-playwright/src/router/index.js delete mode 100644 jsx-router-pinia-cypress-playwright/src/stores/counter.js delete mode 100644 jsx-router-pinia-cypress-playwright/src/views/AboutView.vue delete mode 100644 jsx-router-pinia-cypress-playwright/src/views/HomeView.vue delete mode 100644 jsx-router-pinia-cypress-playwright/vite.config.js create mode 100644 jsx-router-pinia-cypress/jsconfig.json create mode 100644 jsx-router-pinia-nightwatch/jsconfig.json delete mode 100644 jsx-router-pinia-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/.gitignore delete mode 100644 jsx-router-pinia-playwright-nightwatch/.vscode/extensions.json delete mode 100644 jsx-router-pinia-playwright-nightwatch/README.md delete mode 100644 jsx-router-pinia-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/index.html delete mode 100644 jsx-router-pinia-playwright-nightwatch/nightwatch.conf.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/nightwatch/index.html delete mode 100644 jsx-router-pinia-playwright-nightwatch/package.json delete mode 100644 jsx-router-pinia-playwright-nightwatch/playwright.config.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/public/favicon.ico delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/App.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/assets/base.css delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/assets/logo.svg delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/assets/main.css delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/main.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/router/index.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/stores/counter.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 jsx-router-pinia-playwright-nightwatch/tests/e2e/example.js delete mode 100644 jsx-router-pinia-playwright-nightwatch/vite.config.js create mode 100644 jsx-router-pinia-playwright/jsconfig.json delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/.gitignore delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/README.md delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/cypress.config.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/index.html delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/package.json delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/App.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/main.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/router/index.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/stores/counter.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/vite.config.js delete mode 100644 jsx-router-pinia-vitest-cypress-nightwatch/vitest.config.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/.gitignore delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/README.md delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/cypress.config.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/cypress/support/commands.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/cypress/support/e2e.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/e2e/vue.spec.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/index.html delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/package.json delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/playwright.config.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/public/favicon.ico delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/App.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/assets/base.css delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/assets/main.css delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/main.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/router/index.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/stores/counter.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/vite.config.js delete mode 100644 jsx-router-pinia-vitest-cypress-playwright/vitest.config.js create mode 100644 jsx-router-pinia-vitest-cypress/jsconfig.json create mode 100644 jsx-router-pinia-vitest-nightwatch/jsconfig.json delete mode 100644 jsx-router-pinia-vitest-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/.gitignore delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/README.md delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/index.html delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/package.json delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/playwright.config.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/App.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/main.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/router/index.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/stores/counter.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/vite.config.js delete mode 100644 jsx-router-pinia-vitest-playwright-nightwatch/vitest.config.js create mode 100644 jsx-router-pinia-vitest-playwright/jsconfig.json create mode 100644 jsx-router-pinia-vitest/jsconfig.json create mode 100644 jsx-router-pinia-with-tests/jsconfig.json create mode 100644 jsx-router-pinia/jsconfig.json delete mode 100644 jsx-router-playwright-nightwatch/.gitignore delete mode 100644 jsx-router-playwright-nightwatch/.vscode/extensions.json delete mode 100644 jsx-router-playwright-nightwatch/README.md delete mode 100644 jsx-router-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 jsx-router-playwright-nightwatch/index.html delete mode 100644 jsx-router-playwright-nightwatch/nightwatch.conf.js delete mode 100644 jsx-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-router-playwright-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-playwright-nightwatch/nightwatch/index.html delete mode 100644 jsx-router-playwright-nightwatch/package.json delete mode 100644 jsx-router-playwright-nightwatch/playwright.config.js delete mode 100644 jsx-router-playwright-nightwatch/public/favicon.ico delete mode 100644 jsx-router-playwright-nightwatch/src/App.vue delete mode 100644 jsx-router-playwright-nightwatch/src/assets/base.css delete mode 100644 jsx-router-playwright-nightwatch/src/assets/logo.svg delete mode 100644 jsx-router-playwright-nightwatch/src/assets/main.css delete mode 100644 jsx-router-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-router-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-router-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-playwright-nightwatch/src/main.js delete mode 100644 jsx-router-playwright-nightwatch/src/router/index.js delete mode 100644 jsx-router-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 jsx-router-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 jsx-router-playwright-nightwatch/tests/e2e/example.js delete mode 100644 jsx-router-playwright-nightwatch/vite.config.js create mode 100644 jsx-router-playwright/jsconfig.json delete mode 100644 jsx-router-vitest-cypress-nightwatch/.gitignore delete mode 100644 jsx-router-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 jsx-router-vitest-cypress-nightwatch/README.md delete mode 100644 jsx-router-vitest-cypress-nightwatch/cypress.config.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 jsx-router-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 jsx-router-vitest-cypress-nightwatch/cypress/support/commands.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/index.html delete mode 100644 jsx-router-vitest-cypress-nightwatch/nightwatch.conf.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/package.json delete mode 100644 jsx-router-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/App.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/main.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/router/index.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 jsx-router-vitest-cypress-nightwatch/tests/e2e/example.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/vite.config.js delete mode 100644 jsx-router-vitest-cypress-nightwatch/vitest.config.js delete mode 100644 jsx-router-vitest-cypress-playwright/.gitignore delete mode 100644 jsx-router-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 jsx-router-vitest-cypress-playwright/README.md delete mode 100644 jsx-router-vitest-cypress-playwright/cypress.config.js delete mode 100644 jsx-router-vitest-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 jsx-router-vitest-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 jsx-router-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 jsx-router-vitest-cypress-playwright/cypress/support/commands.js delete mode 100644 jsx-router-vitest-cypress-playwright/cypress/support/e2e.js delete mode 100644 jsx-router-vitest-cypress-playwright/e2e/vue.spec.js delete mode 100644 jsx-router-vitest-cypress-playwright/index.html delete mode 100644 jsx-router-vitest-cypress-playwright/package.json delete mode 100644 jsx-router-vitest-cypress-playwright/playwright.config.js delete mode 100644 jsx-router-vitest-cypress-playwright/public/favicon.ico delete mode 100644 jsx-router-vitest-cypress-playwright/src/App.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/assets/base.css delete mode 100644 jsx-router-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 jsx-router-vitest-cypress-playwright/src/assets/main.css delete mode 100644 jsx-router-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/main.js delete mode 100644 jsx-router-vitest-cypress-playwright/src/router/index.js delete mode 100644 jsx-router-vitest-cypress-playwright/src/views/AboutView.vue delete mode 100644 jsx-router-vitest-cypress-playwright/src/views/HomeView.vue delete mode 100644 jsx-router-vitest-cypress-playwright/vite.config.js delete mode 100644 jsx-router-vitest-cypress-playwright/vitest.config.js create mode 100644 jsx-router-vitest-cypress/jsconfig.json create mode 100644 jsx-router-vitest-nightwatch/jsconfig.json delete mode 100644 jsx-router-vitest-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/.gitignore delete mode 100644 jsx-router-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 jsx-router-vitest-playwright-nightwatch/README.md delete mode 100644 jsx-router-vitest-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/index.html delete mode 100644 jsx-router-vitest-playwright-nightwatch/nightwatch.conf.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/package.json delete mode 100644 jsx-router-vitest-playwright-nightwatch/playwright.config.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/App.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/main.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/router/index.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 jsx-router-vitest-playwright-nightwatch/tests/e2e/example.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/vite.config.js delete mode 100644 jsx-router-vitest-playwright-nightwatch/vitest.config.js create mode 100644 jsx-router-vitest-playwright/jsconfig.json create mode 100644 jsx-router-vitest/jsconfig.json create mode 100644 jsx-router-with-tests/jsconfig.json create mode 100644 jsx-router/jsconfig.json delete mode 100644 jsx-vitest-cypress-nightwatch/.gitignore delete mode 100644 jsx-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 jsx-vitest-cypress-nightwatch/README.md delete mode 100644 jsx-vitest-cypress-nightwatch/cypress.config.js delete mode 100644 jsx-vitest-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 jsx-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 jsx-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 jsx-vitest-cypress-nightwatch/cypress/support/commands.js delete mode 100644 jsx-vitest-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 jsx-vitest-cypress-nightwatch/index.html delete mode 100644 jsx-vitest-cypress-nightwatch/nightwatch.conf.js delete mode 100644 jsx-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 jsx-vitest-cypress-nightwatch/package.json delete mode 100644 jsx-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 jsx-vitest-cypress-nightwatch/src/App.vue delete mode 100644 jsx-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 jsx-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 jsx-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 jsx-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-vitest-cypress-nightwatch/src/main.js delete mode 100644 jsx-vitest-cypress-nightwatch/tests/e2e/example.js delete mode 100644 jsx-vitest-cypress-nightwatch/vite.config.js delete mode 100644 jsx-vitest-cypress-nightwatch/vitest.config.js delete mode 100644 jsx-vitest-cypress-playwright/.gitignore delete mode 100644 jsx-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 jsx-vitest-cypress-playwright/README.md delete mode 100644 jsx-vitest-cypress-playwright/cypress.config.js delete mode 100644 jsx-vitest-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 jsx-vitest-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 jsx-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 jsx-vitest-cypress-playwright/cypress/support/commands.js delete mode 100644 jsx-vitest-cypress-playwright/cypress/support/e2e.js delete mode 100644 jsx-vitest-cypress-playwright/e2e/vue.spec.js delete mode 100644 jsx-vitest-cypress-playwright/index.html delete mode 100644 jsx-vitest-cypress-playwright/package.json delete mode 100644 jsx-vitest-cypress-playwright/playwright.config.js delete mode 100644 jsx-vitest-cypress-playwright/public/favicon.ico delete mode 100644 jsx-vitest-cypress-playwright/src/App.vue delete mode 100644 jsx-vitest-cypress-playwright/src/assets/base.css delete mode 100644 jsx-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 jsx-vitest-cypress-playwright/src/assets/main.css delete mode 100644 jsx-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 jsx-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 jsx-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 jsx-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 jsx-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 jsx-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 jsx-vitest-cypress-playwright/src/main.js delete mode 100644 jsx-vitest-cypress-playwright/vite.config.js delete mode 100644 jsx-vitest-cypress-playwright/vitest.config.js create mode 100644 jsx-vitest-cypress/jsconfig.json create mode 100644 jsx-vitest-nightwatch/jsconfig.json delete mode 100644 jsx-vitest-nightwatch/nightwatch/globals.js delete mode 100644 jsx-vitest-playwright-nightwatch/.gitignore delete mode 100644 jsx-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 jsx-vitest-playwright-nightwatch/README.md delete mode 100644 jsx-vitest-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 jsx-vitest-playwright-nightwatch/index.html delete mode 100644 jsx-vitest-playwright-nightwatch/nightwatch.conf.js delete mode 100644 jsx-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 jsx-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 jsx-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 jsx-vitest-playwright-nightwatch/package.json delete mode 100644 jsx-vitest-playwright-nightwatch/playwright.config.js delete mode 100644 jsx-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 jsx-vitest-playwright-nightwatch/src/App.vue delete mode 100644 jsx-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 jsx-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 jsx-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 jsx-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 jsx-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 jsx-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 jsx-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 jsx-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 jsx-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 jsx-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 jsx-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 jsx-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 jsx-vitest-playwright-nightwatch/src/main.js delete mode 100644 jsx-vitest-playwright-nightwatch/tests/e2e/example.js delete mode 100644 jsx-vitest-playwright-nightwatch/vite.config.js delete mode 100644 jsx-vitest-playwright-nightwatch/vitest.config.js create mode 100644 jsx-vitest-playwright/jsconfig.json create mode 100644 jsx-vitest/jsconfig.json create mode 100644 jsx-with-tests/jsconfig.json create mode 100644 jsx/jsconfig.json create mode 100644 nightwatch/jsconfig.json delete mode 100644 nightwatch/nightwatch/globals.js delete mode 100644 pinia-cypress-nightwatch/.gitignore delete mode 100644 pinia-cypress-nightwatch/.vscode/extensions.json delete mode 100644 pinia-cypress-nightwatch/README.md delete mode 100644 pinia-cypress-nightwatch/cypress.config.js delete mode 100644 pinia-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 pinia-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 pinia-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 pinia-cypress-nightwatch/cypress/support/commands.js delete mode 100644 pinia-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 pinia-cypress-nightwatch/cypress/support/component.js delete mode 100644 pinia-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 pinia-cypress-nightwatch/index.html delete mode 100644 pinia-cypress-nightwatch/nightwatch.conf.js delete mode 100644 pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 pinia-cypress-nightwatch/nightwatch/globals.js delete mode 100644 pinia-cypress-nightwatch/nightwatch/index.html delete mode 100644 pinia-cypress-nightwatch/package.json delete mode 100644 pinia-cypress-nightwatch/public/favicon.ico delete mode 100644 pinia-cypress-nightwatch/src/App.vue delete mode 100644 pinia-cypress-nightwatch/src/assets/base.css delete mode 100644 pinia-cypress-nightwatch/src/assets/logo.svg delete mode 100644 pinia-cypress-nightwatch/src/assets/main.css delete mode 100644 pinia-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 pinia-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 pinia-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js delete mode 100644 pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 pinia-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 pinia-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 pinia-cypress-nightwatch/src/main.js delete mode 100644 pinia-cypress-nightwatch/src/stores/counter.js delete mode 100644 pinia-cypress-nightwatch/tests/e2e/example.js delete mode 100644 pinia-cypress-nightwatch/vite.config.js delete mode 100644 pinia-cypress-playwright/.gitignore delete mode 100644 pinia-cypress-playwright/.vscode/extensions.json delete mode 100644 pinia-cypress-playwright/README.md delete mode 100644 pinia-cypress-playwright/cypress.config.js delete mode 100644 pinia-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 pinia-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 pinia-cypress-playwright/cypress/fixtures/example.json delete mode 100644 pinia-cypress-playwright/cypress/support/commands.js delete mode 100644 pinia-cypress-playwright/cypress/support/component-index.html delete mode 100644 pinia-cypress-playwright/cypress/support/component.js delete mode 100644 pinia-cypress-playwright/cypress/support/e2e.js delete mode 100644 pinia-cypress-playwright/e2e/vue.spec.js delete mode 100644 pinia-cypress-playwright/index.html delete mode 100644 pinia-cypress-playwright/package.json delete mode 100644 pinia-cypress-playwright/playwright.config.js delete mode 100644 pinia-cypress-playwright/public/favicon.ico delete mode 100644 pinia-cypress-playwright/src/App.vue delete mode 100644 pinia-cypress-playwright/src/assets/base.css delete mode 100644 pinia-cypress-playwright/src/assets/logo.svg delete mode 100644 pinia-cypress-playwright/src/assets/main.css delete mode 100644 pinia-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 pinia-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 pinia-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js delete mode 100644 pinia-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 pinia-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 pinia-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 pinia-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 pinia-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 pinia-cypress-playwright/src/main.js delete mode 100644 pinia-cypress-playwright/src/stores/counter.js delete mode 100644 pinia-cypress-playwright/vite.config.js create mode 100644 pinia-cypress/jsconfig.json create mode 100644 pinia-nightwatch/jsconfig.json delete mode 100644 pinia-nightwatch/nightwatch/globals.js delete mode 100644 pinia-playwright-nightwatch/.gitignore delete mode 100644 pinia-playwright-nightwatch/.vscode/extensions.json delete mode 100644 pinia-playwright-nightwatch/README.md delete mode 100644 pinia-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 pinia-playwright-nightwatch/index.html delete mode 100644 pinia-playwright-nightwatch/nightwatch.conf.js delete mode 100644 pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 pinia-playwright-nightwatch/nightwatch/globals.js delete mode 100644 pinia-playwright-nightwatch/nightwatch/index.html delete mode 100644 pinia-playwright-nightwatch/package.json delete mode 100644 pinia-playwright-nightwatch/playwright.config.js delete mode 100644 pinia-playwright-nightwatch/public/favicon.ico delete mode 100644 pinia-playwright-nightwatch/src/App.vue delete mode 100644 pinia-playwright-nightwatch/src/assets/base.css delete mode 100644 pinia-playwright-nightwatch/src/assets/logo.svg delete mode 100644 pinia-playwright-nightwatch/src/assets/main.css delete mode 100644 pinia-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 pinia-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 pinia-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 pinia-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 pinia-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 pinia-playwright-nightwatch/src/main.js delete mode 100644 pinia-playwright-nightwatch/src/stores/counter.js delete mode 100644 pinia-playwright-nightwatch/tests/e2e/example.js delete mode 100644 pinia-playwright-nightwatch/vite.config.js create mode 100644 pinia-playwright/jsconfig.json delete mode 100644 pinia-vitest-cypress-nightwatch/.gitignore delete mode 100644 pinia-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 pinia-vitest-cypress-nightwatch/README.md delete mode 100644 pinia-vitest-cypress-nightwatch/cypress.config.js delete mode 100644 pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 pinia-vitest-cypress-nightwatch/cypress/support/commands.js delete mode 100644 pinia-vitest-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 pinia-vitest-cypress-nightwatch/index.html delete mode 100644 pinia-vitest-cypress-nightwatch/nightwatch.conf.js delete mode 100644 pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 pinia-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 pinia-vitest-cypress-nightwatch/package.json delete mode 100644 pinia-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 pinia-vitest-cypress-nightwatch/src/App.vue delete mode 100644 pinia-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 pinia-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 pinia-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 pinia-vitest-cypress-nightwatch/src/main.js delete mode 100644 pinia-vitest-cypress-nightwatch/src/stores/counter.js delete mode 100644 pinia-vitest-cypress-nightwatch/tests/e2e/example.js delete mode 100644 pinia-vitest-cypress-nightwatch/vite.config.js delete mode 100644 pinia-vitest-cypress-nightwatch/vitest.config.js delete mode 100644 pinia-vitest-cypress-playwright/.gitignore delete mode 100644 pinia-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 pinia-vitest-cypress-playwright/README.md delete mode 100644 pinia-vitest-cypress-playwright/cypress.config.js delete mode 100644 pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 pinia-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 pinia-vitest-cypress-playwright/cypress/support/commands.js delete mode 100644 pinia-vitest-cypress-playwright/cypress/support/e2e.js delete mode 100644 pinia-vitest-cypress-playwright/e2e/vue.spec.js delete mode 100644 pinia-vitest-cypress-playwright/index.html delete mode 100644 pinia-vitest-cypress-playwright/package.json delete mode 100644 pinia-vitest-cypress-playwright/playwright.config.js delete mode 100644 pinia-vitest-cypress-playwright/public/favicon.ico delete mode 100644 pinia-vitest-cypress-playwright/src/App.vue delete mode 100644 pinia-vitest-cypress-playwright/src/assets/base.css delete mode 100644 pinia-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 pinia-vitest-cypress-playwright/src/assets/main.css delete mode 100644 pinia-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 pinia-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js delete mode 100644 pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 pinia-vitest-cypress-playwright/src/main.js delete mode 100644 pinia-vitest-cypress-playwright/src/stores/counter.js delete mode 100644 pinia-vitest-cypress-playwright/vite.config.js delete mode 100644 pinia-vitest-cypress-playwright/vitest.config.js create mode 100644 pinia-vitest-cypress/jsconfig.json create mode 100644 pinia-vitest-nightwatch/jsconfig.json delete mode 100644 pinia-vitest-nightwatch/nightwatch/globals.js delete mode 100644 pinia-vitest-playwright-nightwatch/.gitignore delete mode 100644 pinia-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 pinia-vitest-playwright-nightwatch/README.md delete mode 100644 pinia-vitest-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 pinia-vitest-playwright-nightwatch/index.html delete mode 100644 pinia-vitest-playwright-nightwatch/nightwatch.conf.js delete mode 100644 pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 pinia-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 pinia-vitest-playwright-nightwatch/package.json delete mode 100644 pinia-vitest-playwright-nightwatch/playwright.config.js delete mode 100644 pinia-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 pinia-vitest-playwright-nightwatch/src/App.vue delete mode 100644 pinia-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 pinia-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 pinia-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 pinia-vitest-playwright-nightwatch/src/main.js delete mode 100644 pinia-vitest-playwright-nightwatch/src/stores/counter.js delete mode 100644 pinia-vitest-playwright-nightwatch/tests/e2e/example.js delete mode 100644 pinia-vitest-playwright-nightwatch/vite.config.js delete mode 100644 pinia-vitest-playwright-nightwatch/vitest.config.js create mode 100644 pinia-vitest-playwright/jsconfig.json create mode 100644 pinia-vitest/jsconfig.json create mode 100644 pinia-with-tests/jsconfig.json create mode 100644 pinia/jsconfig.json delete mode 100644 playwright-nightwatch/.gitignore delete mode 100644 playwright-nightwatch/.vscode/extensions.json delete mode 100644 playwright-nightwatch/README.md delete mode 100644 playwright-nightwatch/e2e/vue.spec.js delete mode 100644 playwright-nightwatch/index.html delete mode 100644 playwright-nightwatch/nightwatch.conf.js delete mode 100644 playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 playwright-nightwatch/nightwatch/globals.js delete mode 100644 playwright-nightwatch/nightwatch/index.html delete mode 100644 playwright-nightwatch/package.json delete mode 100644 playwright-nightwatch/playwright.config.js delete mode 100644 playwright-nightwatch/public/favicon.ico delete mode 100644 playwright-nightwatch/src/App.vue delete mode 100644 playwright-nightwatch/src/assets/base.css delete mode 100644 playwright-nightwatch/src/assets/logo.svg delete mode 100644 playwright-nightwatch/src/assets/main.css delete mode 100644 playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 playwright-nightwatch/src/main.js delete mode 100644 playwright-nightwatch/tests/e2e/example.js delete mode 100644 playwright-nightwatch/vite.config.js create mode 100644 playwright/jsconfig.json delete mode 100644 router-cypress-nightwatch/.gitignore delete mode 100644 router-cypress-nightwatch/.vscode/extensions.json delete mode 100644 router-cypress-nightwatch/README.md delete mode 100644 router-cypress-nightwatch/cypress.config.js delete mode 100644 router-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 router-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 router-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 router-cypress-nightwatch/cypress/support/commands.js delete mode 100644 router-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 router-cypress-nightwatch/cypress/support/component.js delete mode 100644 router-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 router-cypress-nightwatch/index.html delete mode 100644 router-cypress-nightwatch/nightwatch.conf.js delete mode 100644 router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 router-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 router-cypress-nightwatch/nightwatch/globals.js delete mode 100644 router-cypress-nightwatch/nightwatch/index.html delete mode 100644 router-cypress-nightwatch/package.json delete mode 100644 router-cypress-nightwatch/public/favicon.ico delete mode 100644 router-cypress-nightwatch/src/App.vue delete mode 100644 router-cypress-nightwatch/src/assets/base.css delete mode 100644 router-cypress-nightwatch/src/assets/logo.svg delete mode 100644 router-cypress-nightwatch/src/assets/main.css delete mode 100644 router-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 router-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 router-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js delete mode 100644 router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 router-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 router-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 router-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 router-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 router-cypress-nightwatch/src/main.js delete mode 100644 router-cypress-nightwatch/src/router/index.js delete mode 100644 router-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 router-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 router-cypress-nightwatch/tests/e2e/example.js delete mode 100644 router-cypress-nightwatch/vite.config.js delete mode 100644 router-cypress-playwright/.gitignore delete mode 100644 router-cypress-playwright/.vscode/extensions.json delete mode 100644 router-cypress-playwright/README.md delete mode 100644 router-cypress-playwright/cypress.config.js delete mode 100644 router-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 router-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 router-cypress-playwright/cypress/fixtures/example.json delete mode 100644 router-cypress-playwright/cypress/support/commands.js delete mode 100644 router-cypress-playwright/cypress/support/component-index.html delete mode 100644 router-cypress-playwright/cypress/support/component.js delete mode 100644 router-cypress-playwright/cypress/support/e2e.js delete mode 100644 router-cypress-playwright/e2e/vue.spec.js delete mode 100644 router-cypress-playwright/index.html delete mode 100644 router-cypress-playwright/package.json delete mode 100644 router-cypress-playwright/playwright.config.js delete mode 100644 router-cypress-playwright/public/favicon.ico delete mode 100644 router-cypress-playwright/src/App.vue delete mode 100644 router-cypress-playwright/src/assets/base.css delete mode 100644 router-cypress-playwright/src/assets/logo.svg delete mode 100644 router-cypress-playwright/src/assets/main.css delete mode 100644 router-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 router-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 router-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 router-cypress-playwright/src/components/__tests__/HelloWorld.cy.js delete mode 100644 router-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 router-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 router-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 router-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 router-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 router-cypress-playwright/src/main.js delete mode 100644 router-cypress-playwright/src/router/index.js delete mode 100644 router-cypress-playwright/src/views/AboutView.vue delete mode 100644 router-cypress-playwright/src/views/HomeView.vue delete mode 100644 router-cypress-playwright/vite.config.js create mode 100644 router-cypress/jsconfig.json create mode 100644 router-nightwatch/jsconfig.json delete mode 100644 router-nightwatch/nightwatch/globals.js delete mode 100644 router-pinia-cypress-nightwatch/.gitignore delete mode 100644 router-pinia-cypress-nightwatch/.vscode/extensions.json delete mode 100644 router-pinia-cypress-nightwatch/README.md delete mode 100644 router-pinia-cypress-nightwatch/cypress.config.js delete mode 100644 router-pinia-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 router-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 router-pinia-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 router-pinia-cypress-nightwatch/cypress/support/commands.js delete mode 100644 router-pinia-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 router-pinia-cypress-nightwatch/cypress/support/component.js delete mode 100644 router-pinia-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 router-pinia-cypress-nightwatch/index.html delete mode 100644 router-pinia-cypress-nightwatch/nightwatch.conf.js delete mode 100644 router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 router-pinia-cypress-nightwatch/nightwatch/globals.js delete mode 100644 router-pinia-cypress-nightwatch/nightwatch/index.html delete mode 100644 router-pinia-cypress-nightwatch/package.json delete mode 100644 router-pinia-cypress-nightwatch/public/favicon.ico delete mode 100644 router-pinia-cypress-nightwatch/src/App.vue delete mode 100644 router-pinia-cypress-nightwatch/src/assets/base.css delete mode 100644 router-pinia-cypress-nightwatch/src/assets/logo.svg delete mode 100644 router-pinia-cypress-nightwatch/src/assets/main.css delete mode 100644 router-pinia-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 router-pinia-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js delete mode 100644 router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 router-pinia-cypress-nightwatch/src/main.js delete mode 100644 router-pinia-cypress-nightwatch/src/router/index.js delete mode 100644 router-pinia-cypress-nightwatch/src/stores/counter.js delete mode 100644 router-pinia-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 router-pinia-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 router-pinia-cypress-nightwatch/tests/e2e/example.js delete mode 100644 router-pinia-cypress-nightwatch/vite.config.js delete mode 100644 router-pinia-cypress-playwright/.gitignore delete mode 100644 router-pinia-cypress-playwright/.vscode/extensions.json delete mode 100644 router-pinia-cypress-playwright/README.md delete mode 100644 router-pinia-cypress-playwright/cypress.config.js delete mode 100644 router-pinia-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 router-pinia-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 router-pinia-cypress-playwright/cypress/fixtures/example.json delete mode 100644 router-pinia-cypress-playwright/cypress/support/commands.js delete mode 100644 router-pinia-cypress-playwright/cypress/support/component-index.html delete mode 100644 router-pinia-cypress-playwright/cypress/support/component.js delete mode 100644 router-pinia-cypress-playwright/cypress/support/e2e.js delete mode 100644 router-pinia-cypress-playwright/e2e/vue.spec.js delete mode 100644 router-pinia-cypress-playwright/index.html delete mode 100644 router-pinia-cypress-playwright/package.json delete mode 100644 router-pinia-cypress-playwright/playwright.config.js delete mode 100644 router-pinia-cypress-playwright/public/favicon.ico delete mode 100644 router-pinia-cypress-playwright/src/App.vue delete mode 100644 router-pinia-cypress-playwright/src/assets/base.css delete mode 100644 router-pinia-cypress-playwright/src/assets/logo.svg delete mode 100644 router-pinia-cypress-playwright/src/assets/main.css delete mode 100644 router-pinia-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 router-pinia-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 router-pinia-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js delete mode 100644 router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 router-pinia-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 router-pinia-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 router-pinia-cypress-playwright/src/main.js delete mode 100644 router-pinia-cypress-playwright/src/router/index.js delete mode 100644 router-pinia-cypress-playwright/src/stores/counter.js delete mode 100644 router-pinia-cypress-playwright/src/views/AboutView.vue delete mode 100644 router-pinia-cypress-playwright/src/views/HomeView.vue delete mode 100644 router-pinia-cypress-playwright/vite.config.js create mode 100644 router-pinia-cypress/jsconfig.json create mode 100644 router-pinia-nightwatch/jsconfig.json delete mode 100644 router-pinia-nightwatch/nightwatch/globals.js delete mode 100644 router-pinia-playwright-nightwatch/.gitignore delete mode 100644 router-pinia-playwright-nightwatch/.vscode/extensions.json delete mode 100644 router-pinia-playwright-nightwatch/README.md delete mode 100644 router-pinia-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 router-pinia-playwright-nightwatch/index.html delete mode 100644 router-pinia-playwright-nightwatch/nightwatch.conf.js delete mode 100644 router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 router-pinia-playwright-nightwatch/nightwatch/globals.js delete mode 100644 router-pinia-playwright-nightwatch/nightwatch/index.html delete mode 100644 router-pinia-playwright-nightwatch/package.json delete mode 100644 router-pinia-playwright-nightwatch/playwright.config.js delete mode 100644 router-pinia-playwright-nightwatch/public/favicon.ico delete mode 100644 router-pinia-playwright-nightwatch/src/App.vue delete mode 100644 router-pinia-playwright-nightwatch/src/assets/base.css delete mode 100644 router-pinia-playwright-nightwatch/src/assets/logo.svg delete mode 100644 router-pinia-playwright-nightwatch/src/assets/main.css delete mode 100644 router-pinia-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 router-pinia-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 router-pinia-playwright-nightwatch/src/main.js delete mode 100644 router-pinia-playwright-nightwatch/src/router/index.js delete mode 100644 router-pinia-playwright-nightwatch/src/stores/counter.js delete mode 100644 router-pinia-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 router-pinia-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 router-pinia-playwright-nightwatch/tests/e2e/example.js delete mode 100644 router-pinia-playwright-nightwatch/vite.config.js create mode 100644 router-pinia-playwright/jsconfig.json delete mode 100644 router-pinia-vitest-cypress-nightwatch/.gitignore delete mode 100644 router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 router-pinia-vitest-cypress-nightwatch/README.md delete mode 100644 router-pinia-vitest-cypress-nightwatch/cypress.config.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 router-pinia-vitest-cypress-nightwatch/cypress/support/commands.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/index.html delete mode 100644 router-pinia-vitest-cypress-nightwatch/nightwatch.conf.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/package.json delete mode 100644 router-pinia-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/App.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/main.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/router/index.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/stores/counter.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 router-pinia-vitest-cypress-nightwatch/tests/e2e/example.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/vite.config.js delete mode 100644 router-pinia-vitest-cypress-nightwatch/vitest.config.js delete mode 100644 router-pinia-vitest-cypress-playwright/.gitignore delete mode 100644 router-pinia-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 router-pinia-vitest-cypress-playwright/README.md delete mode 100644 router-pinia-vitest-cypress-playwright/cypress.config.js delete mode 100644 router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 router-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 router-pinia-vitest-cypress-playwright/cypress/support/commands.js delete mode 100644 router-pinia-vitest-cypress-playwright/cypress/support/e2e.js delete mode 100644 router-pinia-vitest-cypress-playwright/e2e/vue.spec.js delete mode 100644 router-pinia-vitest-cypress-playwright/index.html delete mode 100644 router-pinia-vitest-cypress-playwright/package.json delete mode 100644 router-pinia-vitest-cypress-playwright/playwright.config.js delete mode 100644 router-pinia-vitest-cypress-playwright/public/favicon.ico delete mode 100644 router-pinia-vitest-cypress-playwright/src/App.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/assets/base.css delete mode 100644 router-pinia-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 router-pinia-vitest-cypress-playwright/src/assets/main.css delete mode 100644 router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/main.js delete mode 100644 router-pinia-vitest-cypress-playwright/src/router/index.js delete mode 100644 router-pinia-vitest-cypress-playwright/src/stores/counter.js delete mode 100644 router-pinia-vitest-cypress-playwright/src/views/AboutView.vue delete mode 100644 router-pinia-vitest-cypress-playwright/src/views/HomeView.vue delete mode 100644 router-pinia-vitest-cypress-playwright/vite.config.js delete mode 100644 router-pinia-vitest-cypress-playwright/vitest.config.js create mode 100644 router-pinia-vitest-cypress/jsconfig.json create mode 100644 router-pinia-vitest-nightwatch/jsconfig.json delete mode 100644 router-pinia-vitest-nightwatch/nightwatch/globals.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/.gitignore delete mode 100644 router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 router-pinia-vitest-playwright-nightwatch/README.md delete mode 100644 router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/index.html delete mode 100644 router-pinia-vitest-playwright-nightwatch/nightwatch.conf.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/package.json delete mode 100644 router-pinia-vitest-playwright-nightwatch/playwright.config.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/App.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/main.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/router/index.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/stores/counter.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 router-pinia-vitest-playwright-nightwatch/tests/e2e/example.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/vite.config.js delete mode 100644 router-pinia-vitest-playwright-nightwatch/vitest.config.js create mode 100644 router-pinia-vitest-playwright/jsconfig.json create mode 100644 router-pinia-vitest/jsconfig.json create mode 100644 router-pinia-with-tests/jsconfig.json create mode 100644 router-pinia/jsconfig.json delete mode 100644 router-playwright-nightwatch/.gitignore delete mode 100644 router-playwright-nightwatch/.vscode/extensions.json delete mode 100644 router-playwright-nightwatch/README.md delete mode 100644 router-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 router-playwright-nightwatch/index.html delete mode 100644 router-playwright-nightwatch/nightwatch.conf.js delete mode 100644 router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 router-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 router-playwright-nightwatch/nightwatch/globals.js delete mode 100644 router-playwright-nightwatch/nightwatch/index.html delete mode 100644 router-playwright-nightwatch/package.json delete mode 100644 router-playwright-nightwatch/playwright.config.js delete mode 100644 router-playwright-nightwatch/public/favicon.ico delete mode 100644 router-playwright-nightwatch/src/App.vue delete mode 100644 router-playwright-nightwatch/src/assets/base.css delete mode 100644 router-playwright-nightwatch/src/assets/logo.svg delete mode 100644 router-playwright-nightwatch/src/assets/main.css delete mode 100644 router-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 router-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 router-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 router-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 router-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 router-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 router-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 router-playwright-nightwatch/src/main.js delete mode 100644 router-playwright-nightwatch/src/router/index.js delete mode 100644 router-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 router-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 router-playwright-nightwatch/tests/e2e/example.js delete mode 100644 router-playwright-nightwatch/vite.config.js create mode 100644 router-playwright/jsconfig.json delete mode 100644 router-vitest-cypress-nightwatch/.gitignore delete mode 100644 router-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 router-vitest-cypress-nightwatch/README.md delete mode 100644 router-vitest-cypress-nightwatch/cypress.config.js delete mode 100644 router-vitest-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 router-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 router-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 router-vitest-cypress-nightwatch/cypress/support/commands.js delete mode 100644 router-vitest-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 router-vitest-cypress-nightwatch/index.html delete mode 100644 router-vitest-cypress-nightwatch/nightwatch.conf.js delete mode 100644 router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 router-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 router-vitest-cypress-nightwatch/package.json delete mode 100644 router-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 router-vitest-cypress-nightwatch/src/App.vue delete mode 100644 router-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 router-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 router-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 router-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 router-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 router-vitest-cypress-nightwatch/src/main.js delete mode 100644 router-vitest-cypress-nightwatch/src/router/index.js delete mode 100644 router-vitest-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 router-vitest-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 router-vitest-cypress-nightwatch/tests/e2e/example.js delete mode 100644 router-vitest-cypress-nightwatch/vite.config.js delete mode 100644 router-vitest-cypress-nightwatch/vitest.config.js delete mode 100644 router-vitest-cypress-playwright/.gitignore delete mode 100644 router-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 router-vitest-cypress-playwright/README.md delete mode 100644 router-vitest-cypress-playwright/cypress.config.js delete mode 100644 router-vitest-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 router-vitest-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 router-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 router-vitest-cypress-playwright/cypress/support/commands.js delete mode 100644 router-vitest-cypress-playwright/cypress/support/e2e.js delete mode 100644 router-vitest-cypress-playwright/e2e/vue.spec.js delete mode 100644 router-vitest-cypress-playwright/index.html delete mode 100644 router-vitest-cypress-playwright/package.json delete mode 100644 router-vitest-cypress-playwright/playwright.config.js delete mode 100644 router-vitest-cypress-playwright/public/favicon.ico delete mode 100644 router-vitest-cypress-playwright/src/App.vue delete mode 100644 router-vitest-cypress-playwright/src/assets/base.css delete mode 100644 router-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 router-vitest-cypress-playwright/src/assets/main.css delete mode 100644 router-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 router-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 router-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 router-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 router-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 router-vitest-cypress-playwright/src/main.js delete mode 100644 router-vitest-cypress-playwright/src/router/index.js delete mode 100644 router-vitest-cypress-playwright/src/views/AboutView.vue delete mode 100644 router-vitest-cypress-playwright/src/views/HomeView.vue delete mode 100644 router-vitest-cypress-playwright/vite.config.js delete mode 100644 router-vitest-cypress-playwright/vitest.config.js create mode 100644 router-vitest-cypress/jsconfig.json create mode 100644 router-vitest-nightwatch/jsconfig.json delete mode 100644 router-vitest-nightwatch/nightwatch/globals.js delete mode 100644 router-vitest-playwright-nightwatch/.gitignore delete mode 100644 router-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 router-vitest-playwright-nightwatch/README.md delete mode 100644 router-vitest-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 router-vitest-playwright-nightwatch/index.html delete mode 100644 router-vitest-playwright-nightwatch/nightwatch.conf.js delete mode 100644 router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 router-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 router-vitest-playwright-nightwatch/package.json delete mode 100644 router-vitest-playwright-nightwatch/playwright.config.js delete mode 100644 router-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 router-vitest-playwright-nightwatch/src/App.vue delete mode 100644 router-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 router-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 router-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 router-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 router-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 router-vitest-playwright-nightwatch/src/main.js delete mode 100644 router-vitest-playwright-nightwatch/src/router/index.js delete mode 100644 router-vitest-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 router-vitest-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 router-vitest-playwright-nightwatch/tests/e2e/example.js delete mode 100644 router-vitest-playwright-nightwatch/vite.config.js delete mode 100644 router-vitest-playwright-nightwatch/vitest.config.js create mode 100644 router-vitest-playwright/jsconfig.json create mode 100644 router-vitest/jsconfig.json create mode 100644 router-with-tests/jsconfig.json create mode 100644 router/jsconfig.json delete mode 100644 typescript-cypress-nightwatch/.gitignore delete mode 100644 typescript-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-cypress-nightwatch/README.md delete mode 100644 typescript-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 typescript-cypress-nightwatch/cypress/support/component.ts delete mode 100644 typescript-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-cypress-nightwatch/env.d.ts delete mode 100644 typescript-cypress-nightwatch/index.html delete mode 100644 typescript-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-cypress-nightwatch/nightwatch/index.html delete mode 100644 typescript-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-cypress-nightwatch/package.json delete mode 100644 typescript-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-cypress-nightwatch/src/App.vue delete mode 100644 typescript-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-cypress-nightwatch/src/main.ts delete mode 100644 typescript-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-cypress-nightwatch/tsconfig.cypress-ct.json delete mode 100644 typescript-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-cypress-playwright/.gitignore delete mode 100644 typescript-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-cypress-playwright/README.md delete mode 100644 typescript-cypress-playwright/cypress.config.ts delete mode 100644 typescript-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-cypress-playwright/cypress/support/component-index.html delete mode 100644 typescript-cypress-playwright/cypress/support/component.ts delete mode 100644 typescript-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-cypress-playwright/env.d.ts delete mode 100644 typescript-cypress-playwright/index.html delete mode 100644 typescript-cypress-playwright/package.json delete mode 100644 typescript-cypress-playwright/playwright.config.ts delete mode 100644 typescript-cypress-playwright/public/favicon.ico delete mode 100644 typescript-cypress-playwright/src/App.vue delete mode 100644 typescript-cypress-playwright/src/assets/base.css delete mode 100644 typescript-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-cypress-playwright/src/assets/main.css delete mode 100644 typescript-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-cypress-playwright/src/main.ts delete mode 100644 typescript-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-cypress-playwright/tsconfig.cypress-ct.json delete mode 100644 typescript-cypress-playwright/tsconfig.json delete mode 100644 typescript-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-cypress-playwright/vite.config.ts delete mode 100644 typescript-jsx-cypress-nightwatch/.gitignore delete mode 100644 typescript-jsx-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-cypress-nightwatch/README.md delete mode 100644 typescript-jsx-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-jsx-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-jsx-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-jsx-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 typescript-jsx-cypress-nightwatch/cypress/support/component.ts delete mode 100644 typescript-jsx-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-jsx-cypress-nightwatch/env.d.ts delete mode 100644 typescript-jsx-cypress-nightwatch/index.html delete mode 100644 typescript-jsx-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-cypress-nightwatch/nightwatch/index.html delete mode 100644 typescript-jsx-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-cypress-nightwatch/package.json delete mode 100644 typescript-jsx-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-cypress-nightwatch/src/App.vue delete mode 100644 typescript-jsx-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-cypress-nightwatch/src/main.ts delete mode 100644 typescript-jsx-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-cypress-nightwatch/tsconfig.cypress-ct.json delete mode 100644 typescript-jsx-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-cypress-playwright/.gitignore delete mode 100644 typescript-jsx-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-jsx-cypress-playwright/README.md delete mode 100644 typescript-jsx-cypress-playwright/cypress.config.ts delete mode 100644 typescript-jsx-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-jsx-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-jsx-cypress-playwright/cypress/support/component-index.html delete mode 100644 typescript-jsx-cypress-playwright/cypress/support/component.ts delete mode 100644 typescript-jsx-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-jsx-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-jsx-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-jsx-cypress-playwright/env.d.ts delete mode 100644 typescript-jsx-cypress-playwright/index.html delete mode 100644 typescript-jsx-cypress-playwright/package.json delete mode 100644 typescript-jsx-cypress-playwright/playwright.config.ts delete mode 100644 typescript-jsx-cypress-playwright/public/favicon.ico delete mode 100644 typescript-jsx-cypress-playwright/src/App.vue delete mode 100644 typescript-jsx-cypress-playwright/src/assets/base.css delete mode 100644 typescript-jsx-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-jsx-cypress-playwright/src/assets/main.css delete mode 100644 typescript-jsx-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-jsx-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-cypress-playwright/src/main.ts delete mode 100644 typescript-jsx-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-jsx-cypress-playwright/tsconfig.cypress-ct.json delete mode 100644 typescript-jsx-cypress-playwright/tsconfig.json delete mode 100644 typescript-jsx-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-jsx-cypress-playwright/vite.config.ts delete mode 100644 typescript-jsx-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/.gitignore delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/README.md delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/cypress/support/component.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/env.d.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/index.html delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/nightwatch/index.html delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/package.json delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/App.vue delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/main.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/src/stores/counter.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/tsconfig.cypress-ct.json delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-pinia-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/.gitignore delete mode 100644 typescript-jsx-pinia-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-jsx-pinia-cypress-playwright/README.md delete mode 100644 typescript-jsx-pinia-cypress-playwright/cypress.config.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-pinia-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-jsx-pinia-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/cypress/support/component-index.html delete mode 100644 typescript-jsx-pinia-cypress-playwright/cypress/support/component.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-jsx-pinia-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/env.d.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/index.html delete mode 100644 typescript-jsx-pinia-cypress-playwright/package.json delete mode 100644 typescript-jsx-pinia-cypress-playwright/playwright.config.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/public/favicon.ico delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/App.vue delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/assets/base.css delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/assets/main.css delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/main.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/src/stores/counter.ts delete mode 100644 typescript-jsx-pinia-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-jsx-pinia-cypress-playwright/tsconfig.cypress-ct.json delete mode 100644 typescript-jsx-pinia-cypress-playwright/tsconfig.json delete mode 100644 typescript-jsx-pinia-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-jsx-pinia-cypress-playwright/vite.config.ts delete mode 100644 typescript-jsx-pinia-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/.gitignore delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/README.md delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/env.d.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/index.html delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/nightwatch/index.html delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/package.json delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/App.vue delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/main.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/src/stores/counter.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-pinia-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/.gitignore delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/README.md delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/env.d.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/index.html delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/package.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/App.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/main.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/src/stores/counter.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-nightwatch/vitest.config.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/.gitignore delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/README.md delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/cypress.config.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/env.d.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/index.html delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/package.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/playwright.config.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/public/favicon.ico delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/App.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/assets/base.css delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/assets/main.css delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/main.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/src/stores/counter.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.vitest.json delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/vite.config.ts delete mode 100644 typescript-jsx-pinia-vitest-cypress-playwright/vitest.config.ts delete mode 100644 typescript-jsx-pinia-vitest-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/.gitignore delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/README.md delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/env.d.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/index.html delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/package.json delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/App.vue delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/main.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/src/stores/counter.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-pinia-vitest-playwright-nightwatch/vitest.config.ts delete mode 100644 typescript-jsx-playwright-nightwatch/.gitignore delete mode 100644 typescript-jsx-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-playwright-nightwatch/README.md delete mode 100644 typescript-jsx-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-jsx-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-jsx-playwright-nightwatch/env.d.ts delete mode 100644 typescript-jsx-playwright-nightwatch/index.html delete mode 100644 typescript-jsx-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-playwright-nightwatch/nightwatch/index.html delete mode 100644 typescript-jsx-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-playwright-nightwatch/package.json delete mode 100644 typescript-jsx-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-jsx-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-playwright-nightwatch/src/App.vue delete mode 100644 typescript-jsx-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-playwright-nightwatch/src/main.ts delete mode 100644 typescript-jsx-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/.gitignore delete mode 100644 typescript-jsx-router-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-router-cypress-nightwatch/README.md delete mode 100644 typescript-jsx-router-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-jsx-router-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 typescript-jsx-router-cypress-nightwatch/cypress/support/component.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/env.d.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/index.html delete mode 100644 typescript-jsx-router-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-cypress-nightwatch/nightwatch/index.html delete mode 100644 typescript-jsx-router-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-cypress-nightwatch/package.json delete mode 100644 typescript-jsx-router-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/App.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/main.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/router/index.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-router-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-router-cypress-nightwatch/tsconfig.cypress-ct.json delete mode 100644 typescript-jsx-router-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-router-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-router-cypress-playwright/.gitignore delete mode 100644 typescript-jsx-router-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-jsx-router-cypress-playwright/README.md delete mode 100644 typescript-jsx-router-cypress-playwright/cypress.config.ts delete mode 100644 typescript-jsx-router-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-router-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-jsx-router-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-jsx-router-cypress-playwright/cypress/support/component-index.html delete mode 100644 typescript-jsx-router-cypress-playwright/cypress/support/component.ts delete mode 100644 typescript-jsx-router-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-jsx-router-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-jsx-router-cypress-playwright/env.d.ts delete mode 100644 typescript-jsx-router-cypress-playwright/index.html delete mode 100644 typescript-jsx-router-cypress-playwright/package.json delete mode 100644 typescript-jsx-router-cypress-playwright/playwright.config.ts delete mode 100644 typescript-jsx-router-cypress-playwright/public/favicon.ico delete mode 100644 typescript-jsx-router-cypress-playwright/src/App.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/assets/base.css delete mode 100644 typescript-jsx-router-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-jsx-router-cypress-playwright/src/assets/main.css delete mode 100644 typescript-jsx-router-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-jsx-router-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/main.ts delete mode 100644 typescript-jsx-router-cypress-playwright/src/router/index.ts delete mode 100644 typescript-jsx-router-cypress-playwright/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-cypress-playwright/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-jsx-router-cypress-playwright/tsconfig.cypress-ct.json delete mode 100644 typescript-jsx-router-cypress-playwright/tsconfig.json delete mode 100644 typescript-jsx-router-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-jsx-router-cypress-playwright/vite.config.ts delete mode 100644 typescript-jsx-router-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/.gitignore delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/README.md delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/component.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/env.d.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/index.html delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/index.html delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/package.json delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/App.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/main.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/router/index.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/stores/counter.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.cypress-ct.json delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-router-pinia-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/.gitignore delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/README.md delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/cypress.config.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/cypress/support/component-index.html delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/cypress/support/component.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/env.d.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/index.html delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/package.json delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/playwright.config.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/public/favicon.ico delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/App.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/assets/base.css delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/assets/main.css delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/main.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/router/index.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/stores/counter.ts delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/tsconfig.cypress-ct.json delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-jsx-router-pinia-cypress-playwright/vite.config.ts delete mode 100644 typescript-jsx-router-pinia-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/.gitignore delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/README.md delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/env.d.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/index.html delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/index.html delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/package.json delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/App.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/main.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/router/index.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/stores/counter.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-router-pinia-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/.gitignore delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/README.md delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/env.d.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/index.html delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/package.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/App.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/main.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/router/index.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/stores/counter.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-nightwatch/vitest.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/.gitignore delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/README.md delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/cypress.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/env.d.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/index.html delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/package.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/playwright.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/public/favicon.ico delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/App.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/base.css delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/main.css delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/main.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/router/index.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/stores/counter.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.vitest.json delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/vite.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-cypress-playwright/vitest.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/.gitignore delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/README.md delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/env.d.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/index.html delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/package.json delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/App.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/main.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/router/index.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/stores/counter.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-router-pinia-vitest-playwright-nightwatch/vitest.config.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/.gitignore delete mode 100644 typescript-jsx-router-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-router-playwright-nightwatch/README.md delete mode 100644 typescript-jsx-router-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/env.d.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/index.html delete mode 100644 typescript-jsx-router-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-playwright-nightwatch/nightwatch/index.html delete mode 100644 typescript-jsx-router-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-playwright-nightwatch/package.json delete mode 100644 typescript-jsx-router-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/App.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/main.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/router/index.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-router-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-router-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-router-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/.gitignore delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/README.md delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/env.d.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/index.html delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/package.json delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/App.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/main.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/router/index.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-router-vitest-cypress-nightwatch/vitest.config.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/.gitignore delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/README.md delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/cypress.config.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/env.d.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/index.html delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/package.json delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/playwright.config.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/public/favicon.ico delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/App.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/assets/base.css delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/assets/main.css delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/main.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/router/index.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/tsconfig.json delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/tsconfig.vitest.json delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/vite.config.ts delete mode 100644 typescript-jsx-router-vitest-cypress-playwright/vitest.config.ts delete mode 100644 typescript-jsx-router-vitest-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/.gitignore delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/README.md delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/env.d.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/index.html delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/package.json delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/App.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/main.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/router/index.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-router-vitest-playwright-nightwatch/vitest.config.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/.gitignore delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/README.md delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/env.d.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/index.html delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/package.json delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/App.vue delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/src/main.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-vitest-cypress-nightwatch/vitest.config.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/.gitignore delete mode 100644 typescript-jsx-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-jsx-vitest-cypress-playwright/README.md delete mode 100644 typescript-jsx-vitest-cypress-playwright/cypress.config.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-jsx-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-jsx-vitest-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-jsx-vitest-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/env.d.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/index.html delete mode 100644 typescript-jsx-vitest-cypress-playwright/package.json delete mode 100644 typescript-jsx-vitest-cypress-playwright/playwright.config.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/public/favicon.ico delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/App.vue delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/assets/base.css delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/assets/main.css delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-vitest-cypress-playwright/src/main.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-jsx-vitest-cypress-playwright/tsconfig.json delete mode 100644 typescript-jsx-vitest-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-jsx-vitest-cypress-playwright/tsconfig.vitest.json delete mode 100644 typescript-jsx-vitest-cypress-playwright/vite.config.ts delete mode 100644 typescript-jsx-vitest-cypress-playwright/vitest.config.ts delete mode 100644 typescript-jsx-vitest-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/.gitignore delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/README.md delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/env.d.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/index.html delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/package.json delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/App.vue delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/src/main.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-jsx-vitest-playwright-nightwatch/vitest.config.ts delete mode 100644 typescript-nightwatch/nightwatch/globals.js delete mode 100644 typescript-pinia-cypress-nightwatch/.gitignore delete mode 100644 typescript-pinia-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-pinia-cypress-nightwatch/README.md delete mode 100644 typescript-pinia-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-pinia-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-pinia-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-pinia-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 typescript-pinia-cypress-nightwatch/cypress/support/component.ts delete mode 100644 typescript-pinia-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-pinia-cypress-nightwatch/env.d.ts delete mode 100644 typescript-pinia-cypress-nightwatch/index.html delete mode 100644 typescript-pinia-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-pinia-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-pinia-cypress-nightwatch/nightwatch/index.html delete mode 100644 typescript-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-pinia-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-pinia-cypress-nightwatch/package.json delete mode 100644 typescript-pinia-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-pinia-cypress-nightwatch/src/App.vue delete mode 100644 typescript-pinia-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-pinia-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-pinia-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-pinia-cypress-nightwatch/src/main.ts delete mode 100644 typescript-pinia-cypress-nightwatch/src/stores/counter.ts delete mode 100644 typescript-pinia-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-pinia-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-pinia-cypress-nightwatch/tsconfig.cypress-ct.json delete mode 100644 typescript-pinia-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-pinia-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-pinia-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-pinia-cypress-playwright/.gitignore delete mode 100644 typescript-pinia-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-pinia-cypress-playwright/README.md delete mode 100644 typescript-pinia-cypress-playwright/cypress.config.ts delete mode 100644 typescript-pinia-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-pinia-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-pinia-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-pinia-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-pinia-cypress-playwright/cypress/support/component-index.html delete mode 100644 typescript-pinia-cypress-playwright/cypress/support/component.ts delete mode 100644 typescript-pinia-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-pinia-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-pinia-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-pinia-cypress-playwright/env.d.ts delete mode 100644 typescript-pinia-cypress-playwright/index.html delete mode 100644 typescript-pinia-cypress-playwright/package.json delete mode 100644 typescript-pinia-cypress-playwright/playwright.config.ts delete mode 100644 typescript-pinia-cypress-playwright/public/favicon.ico delete mode 100644 typescript-pinia-cypress-playwright/src/App.vue delete mode 100644 typescript-pinia-cypress-playwright/src/assets/base.css delete mode 100644 typescript-pinia-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-pinia-cypress-playwright/src/assets/main.css delete mode 100644 typescript-pinia-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-pinia-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-pinia-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-pinia-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-pinia-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-pinia-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-pinia-cypress-playwright/src/main.ts delete mode 100644 typescript-pinia-cypress-playwright/src/stores/counter.ts delete mode 100644 typescript-pinia-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-pinia-cypress-playwright/tsconfig.cypress-ct.json delete mode 100644 typescript-pinia-cypress-playwright/tsconfig.json delete mode 100644 typescript-pinia-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-pinia-cypress-playwright/vite.config.ts delete mode 100644 typescript-pinia-nightwatch/nightwatch/globals.js delete mode 100644 typescript-pinia-playwright-nightwatch/.gitignore delete mode 100644 typescript-pinia-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-pinia-playwright-nightwatch/README.md delete mode 100644 typescript-pinia-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-pinia-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-pinia-playwright-nightwatch/env.d.ts delete mode 100644 typescript-pinia-playwright-nightwatch/index.html delete mode 100644 typescript-pinia-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-pinia-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-pinia-playwright-nightwatch/nightwatch/index.html delete mode 100644 typescript-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-pinia-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-pinia-playwright-nightwatch/package.json delete mode 100644 typescript-pinia-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-pinia-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-pinia-playwright-nightwatch/src/App.vue delete mode 100644 typescript-pinia-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-pinia-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-pinia-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-pinia-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-pinia-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-pinia-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-pinia-playwright-nightwatch/src/main.ts delete mode 100644 typescript-pinia-playwright-nightwatch/src/stores/counter.ts delete mode 100644 typescript-pinia-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-pinia-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-pinia-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-pinia-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-pinia-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/.gitignore delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/README.md delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/env.d.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/index.html delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/package.json delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/App.vue delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/main.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/src/stores/counter.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-pinia-vitest-cypress-nightwatch/vitest.config.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/.gitignore delete mode 100644 typescript-pinia-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-pinia-vitest-cypress-playwright/README.md delete mode 100644 typescript-pinia-vitest-cypress-playwright/cypress.config.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-pinia-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-pinia-vitest-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-pinia-vitest-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/env.d.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/index.html delete mode 100644 typescript-pinia-vitest-cypress-playwright/package.json delete mode 100644 typescript-pinia-vitest-cypress-playwright/playwright.config.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/public/favicon.ico delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/App.vue delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/assets/base.css delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/assets/main.css delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/main.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/src/stores/counter.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-pinia-vitest-cypress-playwright/tsconfig.json delete mode 100644 typescript-pinia-vitest-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-pinia-vitest-cypress-playwright/tsconfig.vitest.json delete mode 100644 typescript-pinia-vitest-cypress-playwright/vite.config.ts delete mode 100644 typescript-pinia-vitest-cypress-playwright/vitest.config.ts delete mode 100644 typescript-pinia-vitest-nightwatch/nightwatch/globals.js delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/.gitignore delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/README.md delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/env.d.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/index.html delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/package.json delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/App.vue delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/main.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/src/stores/counter.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-pinia-vitest-playwright-nightwatch/vitest.config.ts delete mode 100644 typescript-playwright-nightwatch/.gitignore delete mode 100644 typescript-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-playwright-nightwatch/README.md delete mode 100644 typescript-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-playwright-nightwatch/env.d.ts delete mode 100644 typescript-playwright-nightwatch/index.html delete mode 100644 typescript-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-playwright-nightwatch/nightwatch/index.html delete mode 100644 typescript-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-playwright-nightwatch/package.json delete mode 100644 typescript-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-playwright-nightwatch/src/App.vue delete mode 100644 typescript-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-playwright-nightwatch/src/main.ts delete mode 100644 typescript-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-router-cypress-nightwatch/.gitignore delete mode 100644 typescript-router-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-router-cypress-nightwatch/README.md delete mode 100644 typescript-router-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-router-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-router-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-router-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-router-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-router-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 typescript-router-cypress-nightwatch/cypress/support/component.ts delete mode 100644 typescript-router-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-router-cypress-nightwatch/env.d.ts delete mode 100644 typescript-router-cypress-nightwatch/index.html delete mode 100644 typescript-router-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-router-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-cypress-nightwatch/nightwatch/index.html delete mode 100644 typescript-router-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-router-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-router-cypress-nightwatch/package.json delete mode 100644 typescript-router-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-router-cypress-nightwatch/src/App.vue delete mode 100644 typescript-router-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-router-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-router-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-router-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-router-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-router-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-cypress-nightwatch/src/main.ts delete mode 100644 typescript-router-cypress-nightwatch/src/router/index.ts delete mode 100644 typescript-router-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-router-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-router-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-router-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-router-cypress-nightwatch/tsconfig.cypress-ct.json delete mode 100644 typescript-router-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-router-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-router-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-router-cypress-playwright/.gitignore delete mode 100644 typescript-router-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-router-cypress-playwright/README.md delete mode 100644 typescript-router-cypress-playwright/cypress.config.ts delete mode 100644 typescript-router-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-router-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-router-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-router-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-router-cypress-playwright/cypress/support/component-index.html delete mode 100644 typescript-router-cypress-playwright/cypress/support/component.ts delete mode 100644 typescript-router-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-router-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-router-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-router-cypress-playwright/env.d.ts delete mode 100644 typescript-router-cypress-playwright/index.html delete mode 100644 typescript-router-cypress-playwright/package.json delete mode 100644 typescript-router-cypress-playwright/playwright.config.ts delete mode 100644 typescript-router-cypress-playwright/public/favicon.ico delete mode 100644 typescript-router-cypress-playwright/src/App.vue delete mode 100644 typescript-router-cypress-playwright/src/assets/base.css delete mode 100644 typescript-router-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-router-cypress-playwright/src/assets/main.css delete mode 100644 typescript-router-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-router-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-router-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-router-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-cypress-playwright/src/main.ts delete mode 100644 typescript-router-cypress-playwright/src/router/index.ts delete mode 100644 typescript-router-cypress-playwright/src/views/AboutView.vue delete mode 100644 typescript-router-cypress-playwright/src/views/HomeView.vue delete mode 100644 typescript-router-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-router-cypress-playwright/tsconfig.cypress-ct.json delete mode 100644 typescript-router-cypress-playwright/tsconfig.json delete mode 100644 typescript-router-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-router-cypress-playwright/vite.config.ts delete mode 100644 typescript-router-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-pinia-cypress-nightwatch/.gitignore delete mode 100644 typescript-router-pinia-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-router-pinia-cypress-nightwatch/README.md delete mode 100644 typescript-router-pinia-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-router-pinia-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-router-pinia-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/cypress/support/component-index.html delete mode 100644 typescript-router-pinia-cypress-nightwatch/cypress/support/component.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/env.d.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/index.html delete mode 100644 typescript-router-pinia-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-pinia-cypress-nightwatch/nightwatch/index.html delete mode 100644 typescript-router-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-router-pinia-cypress-nightwatch/package.json delete mode 100644 typescript-router-pinia-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/App.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/main.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/router/index.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/stores/counter.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-router-pinia-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-router-pinia-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-router-pinia-cypress-nightwatch/tsconfig.cypress-ct.json delete mode 100644 typescript-router-pinia-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-router-pinia-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-router-pinia-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-router-pinia-cypress-playwright/.gitignore delete mode 100644 typescript-router-pinia-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-router-pinia-cypress-playwright/README.md delete mode 100644 typescript-router-pinia-cypress-playwright/cypress.config.ts delete mode 100644 typescript-router-pinia-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-router-pinia-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-router-pinia-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-router-pinia-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-router-pinia-cypress-playwright/cypress/support/component-index.html delete mode 100644 typescript-router-pinia-cypress-playwright/cypress/support/component.ts delete mode 100644 typescript-router-pinia-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-router-pinia-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-router-pinia-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-router-pinia-cypress-playwright/env.d.ts delete mode 100644 typescript-router-pinia-cypress-playwright/index.html delete mode 100644 typescript-router-pinia-cypress-playwright/package.json delete mode 100644 typescript-router-pinia-cypress-playwright/playwright.config.ts delete mode 100644 typescript-router-pinia-cypress-playwright/public/favicon.ico delete mode 100644 typescript-router-pinia-cypress-playwright/src/App.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/assets/base.css delete mode 100644 typescript-router-pinia-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-router-pinia-cypress-playwright/src/assets/main.css delete mode 100644 typescript-router-pinia-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts delete mode 100644 typescript-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/main.ts delete mode 100644 typescript-router-pinia-cypress-playwright/src/router/index.ts delete mode 100644 typescript-router-pinia-cypress-playwright/src/stores/counter.ts delete mode 100644 typescript-router-pinia-cypress-playwright/src/views/AboutView.vue delete mode 100644 typescript-router-pinia-cypress-playwright/src/views/HomeView.vue delete mode 100644 typescript-router-pinia-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-router-pinia-cypress-playwright/tsconfig.cypress-ct.json delete mode 100644 typescript-router-pinia-cypress-playwright/tsconfig.json delete mode 100644 typescript-router-pinia-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-router-pinia-cypress-playwright/vite.config.ts delete mode 100644 typescript-router-pinia-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-pinia-playwright-nightwatch/.gitignore delete mode 100644 typescript-router-pinia-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-router-pinia-playwright-nightwatch/README.md delete mode 100644 typescript-router-pinia-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-router-pinia-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/env.d.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/index.html delete mode 100644 typescript-router-pinia-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-pinia-playwright-nightwatch/nightwatch/index.html delete mode 100644 typescript-router-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-router-pinia-playwright-nightwatch/package.json delete mode 100644 typescript-router-pinia-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/App.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/main.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/router/index.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/stores/counter.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-router-pinia-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-router-pinia-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-router-pinia-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-router-pinia-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-router-pinia-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/.gitignore delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/README.md delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/env.d.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/index.html delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/package.json delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/App.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/main.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/router/index.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/stores/counter.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-router-pinia-vitest-cypress-nightwatch/vitest.config.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/.gitignore delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/README.md delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/cypress.config.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/env.d.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/index.html delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/package.json delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/playwright.config.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/public/favicon.ico delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/App.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/assets/base.css delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/assets/main.css delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/main.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/router/index.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/stores/counter.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/tsconfig.json delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/tsconfig.vitest.json delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/vite.config.ts delete mode 100644 typescript-router-pinia-vitest-cypress-playwright/vitest.config.ts delete mode 100644 typescript-router-pinia-vitest-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/.gitignore delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/README.md delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/env.d.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/index.html delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/package.json delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/App.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/main.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/router/index.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/stores/counter.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-router-pinia-vitest-playwright-nightwatch/vitest.config.ts delete mode 100644 typescript-router-playwright-nightwatch/.gitignore delete mode 100644 typescript-router-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-router-playwright-nightwatch/README.md delete mode 100644 typescript-router-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-router-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-router-playwright-nightwatch/env.d.ts delete mode 100644 typescript-router-playwright-nightwatch/index.html delete mode 100644 typescript-router-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-router-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-playwright-nightwatch/nightwatch/index.html delete mode 100644 typescript-router-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-router-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-router-playwright-nightwatch/package.json delete mode 100644 typescript-router-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-router-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-router-playwright-nightwatch/src/App.vue delete mode 100644 typescript-router-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-router-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-router-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-router-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-router-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-router-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-playwright-nightwatch/src/main.ts delete mode 100644 typescript-router-playwright-nightwatch/src/router/index.ts delete mode 100644 typescript-router-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-router-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-router-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-router-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-router-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-router-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-router-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/.gitignore delete mode 100644 typescript-router-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-router-vitest-cypress-nightwatch/README.md delete mode 100644 typescript-router-vitest-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-router-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-router-vitest-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/env.d.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/index.html delete mode 100644 typescript-router-vitest-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-router-vitest-cypress-nightwatch/package.json delete mode 100644 typescript-router-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/App.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/main.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/router/index.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-router-vitest-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-router-vitest-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-router-vitest-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-router-vitest-cypress-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-router-vitest-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-router-vitest-cypress-nightwatch/vitest.config.ts delete mode 100644 typescript-router-vitest-cypress-playwright/.gitignore delete mode 100644 typescript-router-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-router-vitest-cypress-playwright/README.md delete mode 100644 typescript-router-vitest-cypress-playwright/cypress.config.ts delete mode 100644 typescript-router-vitest-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-router-vitest-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-router-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-router-vitest-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-router-vitest-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-router-vitest-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-router-vitest-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-router-vitest-cypress-playwright/env.d.ts delete mode 100644 typescript-router-vitest-cypress-playwright/index.html delete mode 100644 typescript-router-vitest-cypress-playwright/package.json delete mode 100644 typescript-router-vitest-cypress-playwright/playwright.config.ts delete mode 100644 typescript-router-vitest-cypress-playwright/public/favicon.ico delete mode 100644 typescript-router-vitest-cypress-playwright/src/App.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/assets/base.css delete mode 100644 typescript-router-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-router-vitest-cypress-playwright/src/assets/main.css delete mode 100644 typescript-router-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/main.ts delete mode 100644 typescript-router-vitest-cypress-playwright/src/router/index.ts delete mode 100644 typescript-router-vitest-cypress-playwright/src/views/AboutView.vue delete mode 100644 typescript-router-vitest-cypress-playwright/src/views/HomeView.vue delete mode 100644 typescript-router-vitest-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-router-vitest-cypress-playwright/tsconfig.json delete mode 100644 typescript-router-vitest-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-router-vitest-cypress-playwright/tsconfig.vitest.json delete mode 100644 typescript-router-vitest-cypress-playwright/vite.config.ts delete mode 100644 typescript-router-vitest-cypress-playwright/vitest.config.ts delete mode 100644 typescript-router-vitest-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-vitest-playwright-nightwatch/.gitignore delete mode 100644 typescript-router-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-router-vitest-playwright-nightwatch/README.md delete mode 100644 typescript-router-vitest-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-router-vitest-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/env.d.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/index.html delete mode 100644 typescript-router-vitest-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-router-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-router-vitest-playwright-nightwatch/package.json delete mode 100644 typescript-router-vitest-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/App.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/main.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/router/index.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/views/AboutView.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/src/views/HomeView.vue delete mode 100644 typescript-router-vitest-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-router-vitest-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-router-vitest-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-router-vitest-playwright-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-router-vitest-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-router-vitest-playwright-nightwatch/vitest.config.ts delete mode 100644 typescript-vitest-cypress-nightwatch/.gitignore delete mode 100644 typescript-vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 typescript-vitest-cypress-nightwatch/README.md delete mode 100644 typescript-vitest-cypress-nightwatch/cypress.config.ts delete mode 100644 typescript-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts delete mode 100644 typescript-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json delete mode 100644 typescript-vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 typescript-vitest-cypress-nightwatch/cypress/support/commands.ts delete mode 100644 typescript-vitest-cypress-nightwatch/cypress/support/e2e.ts delete mode 100644 typescript-vitest-cypress-nightwatch/env.d.ts delete mode 100644 typescript-vitest-cypress-nightwatch/index.html delete mode 100644 typescript-vitest-cypress-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 typescript-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-vitest-cypress-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-vitest-cypress-nightwatch/package.json delete mode 100644 typescript-vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 typescript-vitest-cypress-nightwatch/src/App.vue delete mode 100644 typescript-vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 typescript-vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 typescript-vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 typescript-vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-vitest-cypress-nightwatch/src/main.ts delete mode 100644 typescript-vitest-cypress-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-vitest-cypress-nightwatch/tsconfig.app.json delete mode 100644 typescript-vitest-cypress-nightwatch/tsconfig.json delete mode 100644 typescript-vitest-cypress-nightwatch/tsconfig.node.json delete mode 100644 typescript-vitest-cypress-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-vitest-cypress-nightwatch/vite.config.ts delete mode 100644 typescript-vitest-cypress-nightwatch/vitest.config.ts delete mode 100644 typescript-vitest-cypress-playwright/.gitignore delete mode 100644 typescript-vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 typescript-vitest-cypress-playwright/README.md delete mode 100644 typescript-vitest-cypress-playwright/cypress.config.ts delete mode 100644 typescript-vitest-cypress-playwright/cypress/e2e/example.cy.ts delete mode 100644 typescript-vitest-cypress-playwright/cypress/e2e/tsconfig.json delete mode 100644 typescript-vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 typescript-vitest-cypress-playwright/cypress/support/commands.ts delete mode 100644 typescript-vitest-cypress-playwright/cypress/support/e2e.ts delete mode 100644 typescript-vitest-cypress-playwright/e2e/tsconfig.json delete mode 100644 typescript-vitest-cypress-playwright/e2e/vue.spec.ts delete mode 100644 typescript-vitest-cypress-playwright/env.d.ts delete mode 100644 typescript-vitest-cypress-playwright/index.html delete mode 100644 typescript-vitest-cypress-playwright/package.json delete mode 100644 typescript-vitest-cypress-playwright/playwright.config.ts delete mode 100644 typescript-vitest-cypress-playwright/public/favicon.ico delete mode 100644 typescript-vitest-cypress-playwright/src/App.vue delete mode 100644 typescript-vitest-cypress-playwright/src/assets/base.css delete mode 100644 typescript-vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 typescript-vitest-cypress-playwright/src/assets/main.css delete mode 100644 typescript-vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 typescript-vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 typescript-vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 typescript-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 typescript-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 typescript-vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 typescript-vitest-cypress-playwright/src/main.ts delete mode 100644 typescript-vitest-cypress-playwright/tsconfig.app.json delete mode 100644 typescript-vitest-cypress-playwright/tsconfig.json delete mode 100644 typescript-vitest-cypress-playwright/tsconfig.node.json delete mode 100644 typescript-vitest-cypress-playwright/tsconfig.vitest.json delete mode 100644 typescript-vitest-cypress-playwright/vite.config.ts delete mode 100644 typescript-vitest-cypress-playwright/vitest.config.ts delete mode 100644 typescript-vitest-nightwatch/nightwatch/globals.js delete mode 100644 typescript-vitest-playwright-nightwatch/.gitignore delete mode 100644 typescript-vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 typescript-vitest-playwright-nightwatch/README.md delete mode 100644 typescript-vitest-playwright-nightwatch/e2e/tsconfig.json delete mode 100644 typescript-vitest-playwright-nightwatch/e2e/vue.spec.ts delete mode 100644 typescript-vitest-playwright-nightwatch/env.d.ts delete mode 100644 typescript-vitest-playwright-nightwatch/index.html delete mode 100644 typescript-vitest-playwright-nightwatch/nightwatch.conf.ts delete mode 100644 typescript-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts delete mode 100644 typescript-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts delete mode 100644 typescript-vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 typescript-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts delete mode 100644 typescript-vitest-playwright-nightwatch/nightwatch/tsconfig.json delete mode 100644 typescript-vitest-playwright-nightwatch/package.json delete mode 100644 typescript-vitest-playwright-nightwatch/playwright.config.ts delete mode 100644 typescript-vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 typescript-vitest-playwright-nightwatch/src/App.vue delete mode 100644 typescript-vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 typescript-vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 typescript-vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 typescript-vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 typescript-vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 typescript-vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 typescript-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts delete mode 100644 typescript-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 typescript-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 typescript-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 typescript-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 typescript-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 typescript-vitest-playwright-nightwatch/src/main.ts delete mode 100644 typescript-vitest-playwright-nightwatch/tests/e2e/example.ts delete mode 100644 typescript-vitest-playwright-nightwatch/tsconfig.app.json delete mode 100644 typescript-vitest-playwright-nightwatch/tsconfig.json delete mode 100644 typescript-vitest-playwright-nightwatch/tsconfig.node.json delete mode 100644 typescript-vitest-playwright-nightwatch/tsconfig.vitest.json delete mode 100644 typescript-vitest-playwright-nightwatch/vite.config.ts delete mode 100644 typescript-vitest-playwright-nightwatch/vitest.config.ts delete mode 100644 vitest-cypress-nightwatch/.gitignore delete mode 100644 vitest-cypress-nightwatch/.vscode/extensions.json delete mode 100644 vitest-cypress-nightwatch/README.md delete mode 100644 vitest-cypress-nightwatch/cypress.config.js delete mode 100644 vitest-cypress-nightwatch/cypress/e2e/example.cy.js delete mode 100644 vitest-cypress-nightwatch/cypress/e2e/jsconfig.json delete mode 100644 vitest-cypress-nightwatch/cypress/fixtures/example.json delete mode 100644 vitest-cypress-nightwatch/cypress/support/commands.js delete mode 100644 vitest-cypress-nightwatch/cypress/support/e2e.js delete mode 100644 vitest-cypress-nightwatch/index.html delete mode 100644 vitest-cypress-nightwatch/nightwatch.conf.js delete mode 100644 vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 vitest-cypress-nightwatch/nightwatch/globals.js delete mode 100644 vitest-cypress-nightwatch/package.json delete mode 100644 vitest-cypress-nightwatch/public/favicon.ico delete mode 100644 vitest-cypress-nightwatch/src/App.vue delete mode 100644 vitest-cypress-nightwatch/src/assets/base.css delete mode 100644 vitest-cypress-nightwatch/src/assets/logo.svg delete mode 100644 vitest-cypress-nightwatch/src/assets/main.css delete mode 100644 vitest-cypress-nightwatch/src/components/HelloWorld.vue delete mode 100644 vitest-cypress-nightwatch/src/components/TheWelcome.vue delete mode 100644 vitest-cypress-nightwatch/src/components/WelcomeItem.vue delete mode 100644 vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 vitest-cypress-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 vitest-cypress-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 vitest-cypress-nightwatch/src/main.js delete mode 100644 vitest-cypress-nightwatch/tests/e2e/example.js delete mode 100644 vitest-cypress-nightwatch/vite.config.js delete mode 100644 vitest-cypress-nightwatch/vitest.config.js delete mode 100644 vitest-cypress-playwright/.gitignore delete mode 100644 vitest-cypress-playwright/.vscode/extensions.json delete mode 100644 vitest-cypress-playwright/README.md delete mode 100644 vitest-cypress-playwright/cypress.config.js delete mode 100644 vitest-cypress-playwright/cypress/e2e/example.cy.js delete mode 100644 vitest-cypress-playwright/cypress/e2e/jsconfig.json delete mode 100644 vitest-cypress-playwright/cypress/fixtures/example.json delete mode 100644 vitest-cypress-playwright/cypress/support/commands.js delete mode 100644 vitest-cypress-playwright/cypress/support/e2e.js delete mode 100644 vitest-cypress-playwright/e2e/vue.spec.js delete mode 100644 vitest-cypress-playwright/index.html delete mode 100644 vitest-cypress-playwright/package.json delete mode 100644 vitest-cypress-playwright/playwright.config.js delete mode 100644 vitest-cypress-playwright/public/favicon.ico delete mode 100644 vitest-cypress-playwright/src/App.vue delete mode 100644 vitest-cypress-playwright/src/assets/base.css delete mode 100644 vitest-cypress-playwright/src/assets/logo.svg delete mode 100644 vitest-cypress-playwright/src/assets/main.css delete mode 100644 vitest-cypress-playwright/src/components/HelloWorld.vue delete mode 100644 vitest-cypress-playwright/src/components/TheWelcome.vue delete mode 100644 vitest-cypress-playwright/src/components/WelcomeItem.vue delete mode 100644 vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js delete mode 100644 vitest-cypress-playwright/src/components/icons/IconCommunity.vue delete mode 100644 vitest-cypress-playwright/src/components/icons/IconDocumentation.vue delete mode 100644 vitest-cypress-playwright/src/components/icons/IconEcosystem.vue delete mode 100644 vitest-cypress-playwright/src/components/icons/IconSupport.vue delete mode 100644 vitest-cypress-playwright/src/components/icons/IconTooling.vue delete mode 100644 vitest-cypress-playwright/src/main.js delete mode 100644 vitest-cypress-playwright/vite.config.js delete mode 100644 vitest-cypress-playwright/vitest.config.js create mode 100644 vitest-cypress/jsconfig.json create mode 100644 vitest-nightwatch/jsconfig.json delete mode 100644 vitest-nightwatch/nightwatch/globals.js delete mode 100644 vitest-playwright-nightwatch/.gitignore delete mode 100644 vitest-playwright-nightwatch/.vscode/extensions.json delete mode 100644 vitest-playwright-nightwatch/README.md delete mode 100644 vitest-playwright-nightwatch/e2e/vue.spec.js delete mode 100644 vitest-playwright-nightwatch/index.html delete mode 100644 vitest-playwright-nightwatch/nightwatch.conf.js delete mode 100644 vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js delete mode 100644 vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js delete mode 100644 vitest-playwright-nightwatch/nightwatch/globals.js delete mode 100644 vitest-playwright-nightwatch/package.json delete mode 100644 vitest-playwright-nightwatch/playwright.config.js delete mode 100644 vitest-playwright-nightwatch/public/favicon.ico delete mode 100644 vitest-playwright-nightwatch/src/App.vue delete mode 100644 vitest-playwright-nightwatch/src/assets/base.css delete mode 100644 vitest-playwright-nightwatch/src/assets/logo.svg delete mode 100644 vitest-playwright-nightwatch/src/assets/main.css delete mode 100644 vitest-playwright-nightwatch/src/components/HelloWorld.vue delete mode 100644 vitest-playwright-nightwatch/src/components/TheWelcome.vue delete mode 100644 vitest-playwright-nightwatch/src/components/WelcomeItem.vue delete mode 100644 vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js delete mode 100644 vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue delete mode 100644 vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue delete mode 100644 vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue delete mode 100644 vitest-playwright-nightwatch/src/components/icons/IconSupport.vue delete mode 100644 vitest-playwright-nightwatch/src/components/icons/IconTooling.vue delete mode 100644 vitest-playwright-nightwatch/src/main.js delete mode 100644 vitest-playwright-nightwatch/tests/e2e/example.js delete mode 100644 vitest-playwright-nightwatch/vite.config.js delete mode 100644 vitest-playwright-nightwatch/vitest.config.js create mode 100644 vitest-playwright/jsconfig.json create mode 100644 vitest/jsconfig.json create mode 100644 with-tests/jsconfig.json diff --git a/cypress-nightwatch/.gitignore b/cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/cypress-nightwatch/.vscode/extensions.json b/cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/cypress-nightwatch/README.md b/cypress-nightwatch/README.md deleted file mode 100644 index d2ce3f6d..00000000 --- a/cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/cypress-nightwatch/cypress.config.js b/cypress-nightwatch/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/cypress-nightwatch/cypress/e2e/example.cy.js b/cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/cypress-nightwatch/cypress/e2e/jsconfig.json b/cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/cypress-nightwatch/cypress/fixtures/example.json b/cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/cypress-nightwatch/cypress/support/commands.js b/cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/cypress-nightwatch/cypress/support/component-index.html b/cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/cypress-nightwatch/cypress/support/component.js b/cypress-nightwatch/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/cypress-nightwatch/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/cypress-nightwatch/cypress/support/e2e.js b/cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/cypress-nightwatch/index.html b/cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/cypress-nightwatch/nightwatch.conf.js b/cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/cypress-nightwatch/nightwatch/globals.js b/cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/cypress-nightwatch/nightwatch/index.html b/cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/cypress-nightwatch/package.json b/cypress-nightwatch/package.json deleted file mode 100644 index c8aeae58..00000000 --- a/cypress-nightwatch/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/cypress-nightwatch/public/favicon.ico b/cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/cypress-nightwatch/src/App.vue b/cypress-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/cypress-nightwatch/src/assets/base.css b/cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/cypress-nightwatch/src/assets/logo.svg b/cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/cypress-nightwatch/src/assets/main.css b/cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/cypress-nightwatch/src/components/HelloWorld.vue b/cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/cypress-nightwatch/src/components/TheWelcome.vue b/cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/cypress-nightwatch/src/components/WelcomeItem.vue b/cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js b/cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/cypress-nightwatch/src/components/icons/IconCommunity.vue b/cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/cypress-nightwatch/src/components/icons/IconDocumentation.vue b/cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/cypress-nightwatch/src/components/icons/IconEcosystem.vue b/cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/cypress-nightwatch/src/components/icons/IconSupport.vue b/cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/cypress-nightwatch/src/components/icons/IconTooling.vue b/cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/cypress-nightwatch/src/main.js b/cypress-nightwatch/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/cypress-nightwatch/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/cypress-nightwatch/tests/e2e/example.js b/cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/cypress-nightwatch/vite.config.js b/cypress-nightwatch/vite.config.js deleted file mode 100644 index fd83c5b2..00000000 --- a/cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/cypress-playwright/.gitignore b/cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/cypress-playwright/.vscode/extensions.json b/cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/cypress-playwright/README.md b/cypress-playwright/README.md deleted file mode 100644 index 7d2f09c8..00000000 --- a/cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/cypress-playwright/cypress.config.js b/cypress-playwright/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/cypress-playwright/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/cypress-playwright/cypress/e2e/example.cy.js b/cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/cypress-playwright/cypress/e2e/jsconfig.json b/cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/cypress-playwright/cypress/fixtures/example.json b/cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/cypress-playwright/cypress/support/commands.js b/cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/cypress-playwright/cypress/support/component-index.html b/cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/cypress-playwright/cypress/support/component.js b/cypress-playwright/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/cypress-playwright/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/cypress-playwright/cypress/support/e2e.js b/cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/cypress-playwright/e2e/vue.spec.js b/cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/cypress-playwright/index.html b/cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/cypress-playwright/package.json b/cypress-playwright/package.json deleted file mode 100644 index 898b5b8e..00000000 --- a/cypress-playwright/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" - } -} diff --git a/cypress-playwright/playwright.config.js b/cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/cypress-playwright/public/favicon.ico b/cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/cypress-playwright/src/App.vue b/cypress-playwright/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/cypress-playwright/src/assets/base.css b/cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/cypress-playwright/src/assets/logo.svg b/cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/cypress-playwright/src/assets/main.css b/cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/cypress-playwright/src/components/HelloWorld.vue b/cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/cypress-playwright/src/components/TheWelcome.vue b/cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/cypress-playwright/src/components/WelcomeItem.vue b/cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/cypress-playwright/src/components/__tests__/HelloWorld.cy.js b/cypress-playwright/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/cypress-playwright/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/cypress-playwright/src/components/icons/IconCommunity.vue b/cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/cypress-playwright/src/components/icons/IconDocumentation.vue b/cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/cypress-playwright/src/components/icons/IconEcosystem.vue b/cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/cypress-playwright/src/components/icons/IconSupport.vue b/cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/cypress-playwright/src/components/icons/IconTooling.vue b/cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/cypress-playwright/src/main.js b/cypress-playwright/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/cypress-playwright/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/cypress-playwright/vite.config.js b/cypress-playwright/vite.config.js deleted file mode 100644 index 5c45e1d9..00000000 --- a/cypress-playwright/vite.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/cypress/.gitignore b/cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/cypress/.gitignore +++ b/cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/cypress/cypress.config.js b/cypress/cypress.config.js index c3aba743..c8fac129 100644 --- a/cypress/cypress.config.js +++ b/cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/cypress/jsconfig.json b/cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/cypress/package.json b/cypress/package.json index 42abb960..4b6d1b70 100644 --- a/cypress/package.json +++ b/cypress/package.json @@ -2,6 +2,7 @@ "name": "cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,12 +13,12 @@ "test:unit:dev": "cypress open --component" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "cypress": "^13.6.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5" } } diff --git a/cypress/src/assets/main.css b/cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/cypress/src/assets/main.css +++ b/cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/default/.gitignore b/default/.gitignore index 38adffa6..8ee54e8d 100644 --- a/default/.gitignore +++ b/default/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/default/jsconfig.json b/default/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/default/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/default/package.json b/default/package.json index 7c34e990..7a34a265 100644 --- a/default/package.json +++ b/default/package.json @@ -2,16 +2,17 @@ "name": "default", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "vite": "^5.0.5" } } diff --git a/default/src/assets/main.css b/default/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/default/src/assets/main.css +++ b/default/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-cypress-nightwatch/.gitignore b/jsx-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/jsx-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/jsx-cypress-nightwatch/.vscode/extensions.json b/jsx-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/jsx-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/jsx-cypress-nightwatch/README.md b/jsx-cypress-nightwatch/README.md deleted file mode 100644 index e6b55d36..00000000 --- a/jsx-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# jsx-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/jsx-cypress-nightwatch/cypress.config.js b/jsx-cypress-nightwatch/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/jsx-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/jsx-cypress-nightwatch/cypress/e2e/example.cy.js b/jsx-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-cypress-nightwatch/cypress/e2e/jsconfig.json b/jsx-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-cypress-nightwatch/cypress/fixtures/example.json b/jsx-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-cypress-nightwatch/cypress/support/commands.js b/jsx-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-cypress-nightwatch/cypress/support/component-index.html b/jsx-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/jsx-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/jsx-cypress-nightwatch/cypress/support/component.js b/jsx-cypress-nightwatch/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/jsx-cypress-nightwatch/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/jsx-cypress-nightwatch/cypress/support/e2e.js b/jsx-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-cypress-nightwatch/index.html b/jsx-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-cypress-nightwatch/nightwatch.conf.js b/jsx-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-cypress-nightwatch/nightwatch/globals.js b/jsx-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-cypress-nightwatch/nightwatch/index.html b/jsx-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/jsx-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/jsx-cypress-nightwatch/package.json b/jsx-cypress-nightwatch/package.json deleted file mode 100644 index 05e2aceb..00000000 --- a/jsx-cypress-nightwatch/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "jsx-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-cypress-nightwatch/public/favicon.ico b/jsx-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-cypress-nightwatch/src/App.vue b/jsx-cypress-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-cypress-nightwatch/src/assets/base.css b/jsx-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-cypress-nightwatch/src/assets/logo.svg b/jsx-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-cypress-nightwatch/src/assets/main.css b/jsx-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-cypress-nightwatch/src/components/HelloWorld.vue b/jsx-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-cypress-nightwatch/src/components/TheWelcome.vue b/jsx-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-cypress-nightwatch/src/components/WelcomeItem.vue b/jsx-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js b/jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-cypress-nightwatch/src/components/icons/IconCommunity.vue b/jsx-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-cypress-nightwatch/src/components/icons/IconSupport.vue b/jsx-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-cypress-nightwatch/src/components/icons/IconTooling.vue b/jsx-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-cypress-nightwatch/src/main.js b/jsx-cypress-nightwatch/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/jsx-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/jsx-cypress-nightwatch/tests/e2e/example.js b/jsx-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-cypress-nightwatch/vite.config.js b/jsx-cypress-nightwatch/vite.config.js deleted file mode 100644 index 3e49bf0c..00000000 --- a/jsx-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-cypress-playwright/.gitignore b/jsx-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/jsx-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/jsx-cypress-playwright/.vscode/extensions.json b/jsx-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/jsx-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/jsx-cypress-playwright/README.md b/jsx-cypress-playwright/README.md deleted file mode 100644 index 6ff4c837..00000000 --- a/jsx-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# jsx-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-cypress-playwright/cypress.config.js b/jsx-cypress-playwright/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/jsx-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/jsx-cypress-playwright/cypress/e2e/example.cy.js b/jsx-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-cypress-playwright/cypress/e2e/jsconfig.json b/jsx-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-cypress-playwright/cypress/fixtures/example.json b/jsx-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-cypress-playwright/cypress/support/commands.js b/jsx-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-cypress-playwright/cypress/support/component-index.html b/jsx-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/jsx-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/jsx-cypress-playwright/cypress/support/component.js b/jsx-cypress-playwright/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/jsx-cypress-playwright/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/jsx-cypress-playwright/cypress/support/e2e.js b/jsx-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-cypress-playwright/e2e/vue.spec.js b/jsx-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-cypress-playwright/index.html b/jsx-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-cypress-playwright/package.json b/jsx-cypress-playwright/package.json deleted file mode 100644 index 58531b33..00000000 --- a/jsx-cypress-playwright/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "jsx-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" - } -} diff --git a/jsx-cypress-playwright/playwright.config.js b/jsx-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-cypress-playwright/public/favicon.ico b/jsx-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-cypress-playwright/src/App.vue b/jsx-cypress-playwright/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-cypress-playwright/src/assets/base.css b/jsx-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-cypress-playwright/src/assets/logo.svg b/jsx-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-cypress-playwright/src/assets/main.css b/jsx-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-cypress-playwright/src/components/HelloWorld.vue b/jsx-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-cypress-playwright/src/components/TheWelcome.vue b/jsx-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-cypress-playwright/src/components/WelcomeItem.vue b/jsx-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-cypress-playwright/src/components/__tests__/HelloWorld.cy.js b/jsx-cypress-playwright/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/jsx-cypress-playwright/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/jsx-cypress-playwright/src/components/icons/IconCommunity.vue b/jsx-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-cypress-playwright/src/components/icons/IconDocumentation.vue b/jsx-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-cypress-playwright/src/components/icons/IconEcosystem.vue b/jsx-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-cypress-playwright/src/components/icons/IconSupport.vue b/jsx-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-cypress-playwright/src/components/icons/IconTooling.vue b/jsx-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-cypress-playwright/src/main.js b/jsx-cypress-playwright/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/jsx-cypress-playwright/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/jsx-cypress-playwright/vite.config.js b/jsx-cypress-playwright/vite.config.js deleted file mode 100644 index 36c61875..00000000 --- a/jsx-cypress-playwright/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-cypress/.gitignore b/jsx-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-cypress/.gitignore +++ b/jsx-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-cypress/cypress.config.js b/jsx-cypress/cypress.config.js index c3aba743..c8fac129 100644 --- a/jsx-cypress/cypress.config.js +++ b/jsx-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-cypress/jsconfig.json b/jsx-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-cypress/package.json b/jsx-cypress/package.json index 3f3f659f..bd29e7c7 100644 --- a/jsx-cypress/package.json +++ b/jsx-cypress/package.json @@ -2,6 +2,7 @@ "name": "jsx-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,13 +13,13 @@ "test:unit:dev": "cypress open --component" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "cypress": "^13.6.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5" } } diff --git a/jsx-cypress/src/assets/main.css b/jsx-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-cypress/src/assets/main.css +++ b/jsx-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-nightwatch/.gitignore b/jsx-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/jsx-nightwatch/.gitignore +++ b/jsx-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/jsx-nightwatch/jsconfig.json b/jsx-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-nightwatch/nightwatch.conf.js b/jsx-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/jsx-nightwatch/nightwatch.conf.js +++ b/jsx-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/jsx-nightwatch/nightwatch/globals.js b/jsx-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-nightwatch/package.json b/jsx-nightwatch/package.json index 092381cd..e818aeb1 100644 --- a/jsx-nightwatch/package.json +++ b/jsx-nightwatch/package.json @@ -2,26 +2,28 @@ "name": "jsx-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*" + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5" } } diff --git a/jsx-nightwatch/src/assets/main.css b/jsx-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-nightwatch/src/assets/main.css +++ b/jsx-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-nightwatch/tests/e2e/example.js b/jsx-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/jsx-nightwatch/tests/e2e/example.js +++ b/jsx-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/jsx-pinia-cypress-nightwatch/.gitignore b/jsx-pinia-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/jsx-pinia-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/jsx-pinia-cypress-nightwatch/.vscode/extensions.json b/jsx-pinia-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/jsx-pinia-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/jsx-pinia-cypress-nightwatch/README.md b/jsx-pinia-cypress-nightwatch/README.md deleted file mode 100644 index f619d64a..00000000 --- a/jsx-pinia-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# jsx-pinia-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/jsx-pinia-cypress-nightwatch/cypress.config.js b/jsx-pinia-cypress-nightwatch/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/jsx-pinia-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/jsx-pinia-cypress-nightwatch/cypress/e2e/example.cy.js b/jsx-pinia-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-pinia-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json b/jsx-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-pinia-cypress-nightwatch/cypress/fixtures/example.json b/jsx-pinia-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-pinia-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-pinia-cypress-nightwatch/cypress/support/commands.js b/jsx-pinia-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-pinia-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-pinia-cypress-nightwatch/cypress/support/component-index.html b/jsx-pinia-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/jsx-pinia-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/jsx-pinia-cypress-nightwatch/cypress/support/component.js b/jsx-pinia-cypress-nightwatch/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/jsx-pinia-cypress-nightwatch/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/jsx-pinia-cypress-nightwatch/cypress/support/e2e.js b/jsx-pinia-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-pinia-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-pinia-cypress-nightwatch/index.html b/jsx-pinia-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-pinia-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-pinia-cypress-nightwatch/nightwatch.conf.js b/jsx-pinia-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-pinia-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-pinia-cypress-nightwatch/nightwatch/globals.js b/jsx-pinia-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-pinia-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-pinia-cypress-nightwatch/nightwatch/index.html b/jsx-pinia-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/jsx-pinia-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/jsx-pinia-cypress-nightwatch/package.json b/jsx-pinia-cypress-nightwatch/package.json deleted file mode 100644 index 3cb1024d..00000000 --- a/jsx-pinia-cypress-nightwatch/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "jsx-pinia-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-pinia-cypress-nightwatch/public/favicon.ico b/jsx-pinia-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-pinia-cypress-nightwatch/src/App.vue b/jsx-pinia-cypress-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-pinia-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-pinia-cypress-nightwatch/src/assets/base.css b/jsx-pinia-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-pinia-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-pinia-cypress-nightwatch/src/assets/logo.svg b/jsx-pinia-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-pinia-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-pinia-cypress-nightwatch/src/assets/main.css b/jsx-pinia-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-pinia-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-pinia-cypress-nightwatch/src/components/HelloWorld.vue b/jsx-pinia-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-pinia-cypress-nightwatch/src/components/TheWelcome.vue b/jsx-pinia-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-pinia-cypress-nightwatch/src/components/WelcomeItem.vue b/jsx-pinia-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js b/jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue b/jsx-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue b/jsx-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue b/jsx-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-pinia-cypress-nightwatch/src/main.js b/jsx-pinia-cypress-nightwatch/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/jsx-pinia-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/jsx-pinia-cypress-nightwatch/src/stores/counter.js b/jsx-pinia-cypress-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-pinia-cypress-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-pinia-cypress-nightwatch/tests/e2e/example.js b/jsx-pinia-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-pinia-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-pinia-cypress-nightwatch/vite.config.js b/jsx-pinia-cypress-nightwatch/vite.config.js deleted file mode 100644 index 3e49bf0c..00000000 --- a/jsx-pinia-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-pinia-cypress-playwright/.gitignore b/jsx-pinia-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/jsx-pinia-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/jsx-pinia-cypress-playwright/.vscode/extensions.json b/jsx-pinia-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/jsx-pinia-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/jsx-pinia-cypress-playwright/README.md b/jsx-pinia-cypress-playwright/README.md deleted file mode 100644 index 5d2f17d2..00000000 --- a/jsx-pinia-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# jsx-pinia-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-pinia-cypress-playwright/cypress.config.js b/jsx-pinia-cypress-playwright/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/jsx-pinia-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/jsx-pinia-cypress-playwright/cypress/e2e/example.cy.js b/jsx-pinia-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-pinia-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-pinia-cypress-playwright/cypress/e2e/jsconfig.json b/jsx-pinia-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-pinia-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-pinia-cypress-playwright/cypress/fixtures/example.json b/jsx-pinia-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-pinia-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-pinia-cypress-playwright/cypress/support/commands.js b/jsx-pinia-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-pinia-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-pinia-cypress-playwright/cypress/support/component-index.html b/jsx-pinia-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/jsx-pinia-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/jsx-pinia-cypress-playwright/cypress/support/component.js b/jsx-pinia-cypress-playwright/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/jsx-pinia-cypress-playwright/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/jsx-pinia-cypress-playwright/cypress/support/e2e.js b/jsx-pinia-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-pinia-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-pinia-cypress-playwright/e2e/vue.spec.js b/jsx-pinia-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-pinia-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-pinia-cypress-playwright/index.html b/jsx-pinia-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-pinia-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-pinia-cypress-playwright/package.json b/jsx-pinia-cypress-playwright/package.json deleted file mode 100644 index f1f1f187..00000000 --- a/jsx-pinia-cypress-playwright/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "jsx-pinia-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" - } -} diff --git a/jsx-pinia-cypress-playwright/playwright.config.js b/jsx-pinia-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-pinia-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-pinia-cypress-playwright/public/favicon.ico b/jsx-pinia-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-pinia-cypress-playwright/src/App.vue b/jsx-pinia-cypress-playwright/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-pinia-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-pinia-cypress-playwright/src/assets/base.css b/jsx-pinia-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-pinia-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-pinia-cypress-playwright/src/assets/logo.svg b/jsx-pinia-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-pinia-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-pinia-cypress-playwright/src/assets/main.css b/jsx-pinia-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-pinia-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-pinia-cypress-playwright/src/components/HelloWorld.vue b/jsx-pinia-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-pinia-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-pinia-cypress-playwright/src/components/TheWelcome.vue b/jsx-pinia-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-pinia-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-pinia-cypress-playwright/src/components/WelcomeItem.vue b/jsx-pinia-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-pinia-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js b/jsx-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/jsx-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/jsx-pinia-cypress-playwright/src/components/icons/IconCommunity.vue b/jsx-pinia-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-pinia-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue b/jsx-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue b/jsx-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-cypress-playwright/src/components/icons/IconSupport.vue b/jsx-pinia-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-pinia-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-cypress-playwright/src/components/icons/IconTooling.vue b/jsx-pinia-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-pinia-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-pinia-cypress-playwright/src/main.js b/jsx-pinia-cypress-playwright/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/jsx-pinia-cypress-playwright/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/jsx-pinia-cypress-playwright/src/stores/counter.js b/jsx-pinia-cypress-playwright/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-pinia-cypress-playwright/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-pinia-cypress-playwright/vite.config.js b/jsx-pinia-cypress-playwright/vite.config.js deleted file mode 100644 index 36c61875..00000000 --- a/jsx-pinia-cypress-playwright/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-pinia-cypress/.gitignore b/jsx-pinia-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-pinia-cypress/.gitignore +++ b/jsx-pinia-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-pinia-cypress/cypress.config.js b/jsx-pinia-cypress/cypress.config.js index c3aba743..c8fac129 100644 --- a/jsx-pinia-cypress/cypress.config.js +++ b/jsx-pinia-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-pinia-cypress/jsconfig.json b/jsx-pinia-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-pinia-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-pinia-cypress/package.json b/jsx-pinia-cypress/package.json index 8e5bb766..0403d51d 100644 --- a/jsx-pinia-cypress/package.json +++ b/jsx-pinia-cypress/package.json @@ -2,6 +2,7 @@ "name": "jsx-pinia-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -13,13 +14,13 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "cypress": "^13.6.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5" } } diff --git a/jsx-pinia-cypress/src/assets/main.css b/jsx-pinia-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-pinia-cypress/src/assets/main.css +++ b/jsx-pinia-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-pinia-nightwatch/.gitignore b/jsx-pinia-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/jsx-pinia-nightwatch/.gitignore +++ b/jsx-pinia-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/jsx-pinia-nightwatch/jsconfig.json b/jsx-pinia-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-pinia-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-pinia-nightwatch/nightwatch.conf.js b/jsx-pinia-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/jsx-pinia-nightwatch/nightwatch.conf.js +++ b/jsx-pinia-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/jsx-pinia-nightwatch/nightwatch/globals.js b/jsx-pinia-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-pinia-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-pinia-nightwatch/package.json b/jsx-pinia-nightwatch/package.json index 098806cd..bd2025dd 100644 --- a/jsx-pinia-nightwatch/package.json +++ b/jsx-pinia-nightwatch/package.json @@ -2,27 +2,29 @@ "name": "jsx-pinia-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*" + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5" } } diff --git a/jsx-pinia-nightwatch/src/assets/main.css b/jsx-pinia-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-pinia-nightwatch/src/assets/main.css +++ b/jsx-pinia-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-pinia-nightwatch/tests/e2e/example.js b/jsx-pinia-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/jsx-pinia-nightwatch/tests/e2e/example.js +++ b/jsx-pinia-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/jsx-pinia-playwright-nightwatch/.gitignore b/jsx-pinia-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/jsx-pinia-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/jsx-pinia-playwright-nightwatch/.vscode/extensions.json b/jsx-pinia-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/jsx-pinia-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/jsx-pinia-playwright-nightwatch/README.md b/jsx-pinia-playwright-nightwatch/README.md deleted file mode 100644 index 23685498..00000000 --- a/jsx-pinia-playwright-nightwatch/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# jsx-pinia-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-pinia-playwright-nightwatch/e2e/vue.spec.js b/jsx-pinia-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-pinia-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-pinia-playwright-nightwatch/index.html b/jsx-pinia-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-pinia-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-pinia-playwright-nightwatch/nightwatch.conf.js b/jsx-pinia-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-pinia-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-pinia-playwright-nightwatch/nightwatch/globals.js b/jsx-pinia-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-pinia-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-pinia-playwright-nightwatch/nightwatch/index.html b/jsx-pinia-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/jsx-pinia-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/jsx-pinia-playwright-nightwatch/package.json b/jsx-pinia-playwright-nightwatch/package.json deleted file mode 100644 index 1c37f578..00000000 --- a/jsx-pinia-playwright-nightwatch/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "jsx-pinia-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-pinia-playwright-nightwatch/playwright.config.js b/jsx-pinia-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-pinia-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-pinia-playwright-nightwatch/public/favicon.ico b/jsx-pinia-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-pinia-playwright-nightwatch/src/App.vue b/jsx-pinia-playwright-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-pinia-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-pinia-playwright-nightwatch/src/assets/base.css b/jsx-pinia-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-pinia-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-pinia-playwright-nightwatch/src/assets/logo.svg b/jsx-pinia-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-pinia-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-pinia-playwright-nightwatch/src/assets/main.css b/jsx-pinia-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-pinia-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-pinia-playwright-nightwatch/src/components/HelloWorld.vue b/jsx-pinia-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-pinia-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-pinia-playwright-nightwatch/src/components/TheWelcome.vue b/jsx-pinia-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-pinia-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-pinia-playwright-nightwatch/src/components/WelcomeItem.vue b/jsx-pinia-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-pinia-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/jsx-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue b/jsx-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue b/jsx-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue b/jsx-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-pinia-playwright-nightwatch/src/main.js b/jsx-pinia-playwright-nightwatch/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/jsx-pinia-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/jsx-pinia-playwright-nightwatch/src/stores/counter.js b/jsx-pinia-playwright-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-pinia-playwright-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-pinia-playwright-nightwatch/tests/e2e/example.js b/jsx-pinia-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-pinia-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-pinia-playwright-nightwatch/vite.config.js b/jsx-pinia-playwright-nightwatch/vite.config.js deleted file mode 100644 index 3e49bf0c..00000000 --- a/jsx-pinia-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-pinia-playwright/.gitignore b/jsx-pinia-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/jsx-pinia-playwright/.gitignore +++ b/jsx-pinia-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/jsx-pinia-playwright/e2e/vue.spec.js b/jsx-pinia-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/jsx-pinia-playwright/e2e/vue.spec.js +++ b/jsx-pinia-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/jsx-pinia-playwright/jsconfig.json b/jsx-pinia-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-pinia-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-pinia-playwright/package.json b/jsx-pinia-playwright/package.json index df65ac70..10e19cac 100644 --- a/jsx-pinia-playwright/package.json +++ b/jsx-pinia-playwright/package.json @@ -2,6 +2,7 @@ "name": "jsx-pinia-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,12 +11,12 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "vite": "^4.4.11" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "vite": "^5.0.5" } } diff --git a/jsx-pinia-playwright/playwright.config.js b/jsx-pinia-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/jsx-pinia-playwright/playwright.config.js +++ b/jsx-pinia-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/jsx-pinia-playwright/src/assets/main.css b/jsx-pinia-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-pinia-playwright/src/assets/main.css +++ b/jsx-pinia-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-pinia-vitest-cypress-nightwatch/.gitignore b/jsx-pinia-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/jsx-pinia-vitest-cypress-nightwatch/.vscode/extensions.json b/jsx-pinia-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/README.md b/jsx-pinia-vitest-cypress-nightwatch/README.md deleted file mode 100644 index e0f45b3c..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# jsx-pinia-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/jsx-pinia-vitest-cypress-nightwatch/cypress.config.js b/jsx-pinia-vitest-cypress-nightwatch/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js b/jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json b/jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json b/jsx-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/cypress/support/commands.js b/jsx-pinia-vitest-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js b/jsx-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-pinia-vitest-cypress-nightwatch/index.html b/jsx-pinia-vitest-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-pinia-vitest-cypress-nightwatch/nightwatch.conf.js b/jsx-pinia-vitest-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/nightwatch/globals.js b/jsx-pinia-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/package.json b/jsx-pinia-vitest-cypress-nightwatch/package.json deleted file mode 100644 index 65f849e4..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "jsx-pinia-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/public/favicon.ico b/jsx-pinia-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/App.vue b/jsx-pinia-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/assets/base.css b/jsx-pinia-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/assets/logo.svg b/jsx-pinia-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/assets/main.css b/jsx-pinia-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/jsx-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/jsx-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/jsx-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/main.js b/jsx-pinia-vitest-cypress-nightwatch/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/jsx-pinia-vitest-cypress-nightwatch/src/stores/counter.js b/jsx-pinia-vitest-cypress-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-pinia-vitest-cypress-nightwatch/tests/e2e/example.js b/jsx-pinia-vitest-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-pinia-vitest-cypress-nightwatch/vite.config.js b/jsx-pinia-vitest-cypress-nightwatch/vite.config.js deleted file mode 100644 index 3a698823..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-pinia-vitest-cypress-nightwatch/vitest.config.js b/jsx-pinia-vitest-cypress-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-pinia-vitest-cypress-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-pinia-vitest-cypress-playwright/.gitignore b/jsx-pinia-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/jsx-pinia-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/jsx-pinia-vitest-cypress-playwright/.vscode/extensions.json b/jsx-pinia-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/jsx-pinia-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/jsx-pinia-vitest-cypress-playwright/README.md b/jsx-pinia-vitest-cypress-playwright/README.md deleted file mode 100644 index 38865136..00000000 --- a/jsx-pinia-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# jsx-pinia-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-pinia-vitest-cypress-playwright/cypress.config.js b/jsx-pinia-vitest-cypress-playwright/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/jsx-pinia-vitest-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/jsx-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js b/jsx-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json b/jsx-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-pinia-vitest-cypress-playwright/cypress/fixtures/example.json b/jsx-pinia-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-pinia-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-pinia-vitest-cypress-playwright/cypress/support/commands.js b/jsx-pinia-vitest-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-pinia-vitest-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-pinia-vitest-cypress-playwright/cypress/support/e2e.js b/jsx-pinia-vitest-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-pinia-vitest-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-pinia-vitest-cypress-playwright/e2e/vue.spec.js b/jsx-pinia-vitest-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-pinia-vitest-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-pinia-vitest-cypress-playwright/index.html b/jsx-pinia-vitest-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-pinia-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-pinia-vitest-cypress-playwright/package.json b/jsx-pinia-vitest-cypress-playwright/package.json deleted file mode 100644 index 38479d49..00000000 --- a/jsx-pinia-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "jsx-pinia-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" - } -} diff --git a/jsx-pinia-vitest-cypress-playwright/playwright.config.js b/jsx-pinia-vitest-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-pinia-vitest-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-pinia-vitest-cypress-playwright/public/favicon.ico b/jsx-pinia-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-pinia-vitest-cypress-playwright/src/App.vue b/jsx-pinia-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-pinia-vitest-cypress-playwright/src/assets/base.css b/jsx-pinia-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-pinia-vitest-cypress-playwright/src/assets/logo.svg b/jsx-pinia-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-playwright/src/assets/main.css b/jsx-pinia-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue b/jsx-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue b/jsx-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue b/jsx-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js b/jsx-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-pinia-vitest-cypress-playwright/src/main.js b/jsx-pinia-vitest-cypress-playwright/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/jsx-pinia-vitest-cypress-playwright/src/stores/counter.js b/jsx-pinia-vitest-cypress-playwright/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-pinia-vitest-cypress-playwright/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-pinia-vitest-cypress-playwright/vite.config.js b/jsx-pinia-vitest-cypress-playwright/vite.config.js deleted file mode 100644 index 36c61875..00000000 --- a/jsx-pinia-vitest-cypress-playwright/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-pinia-vitest-cypress-playwright/vitest.config.js b/jsx-pinia-vitest-cypress-playwright/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-pinia-vitest-cypress-playwright/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-pinia-vitest-cypress/.gitignore b/jsx-pinia-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-pinia-vitest-cypress/.gitignore +++ b/jsx-pinia-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-pinia-vitest-cypress/cypress.config.js b/jsx-pinia-vitest-cypress/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/jsx-pinia-vitest-cypress/cypress.config.js +++ b/jsx-pinia-vitest-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-pinia-vitest-cypress/jsconfig.json b/jsx-pinia-vitest-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-pinia-vitest-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-pinia-vitest-cypress/package.json b/jsx-pinia-vitest-cypress/package.json index 1e3462ba..cb09b328 100644 --- a/jsx-pinia-vitest-cypress/package.json +++ b/jsx-pinia-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "jsx-pinia-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,16 +13,16 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-pinia-vitest-cypress/src/assets/main.css b/jsx-pinia-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-pinia-vitest-cypress/src/assets/main.css +++ b/jsx-pinia-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-pinia-vitest-nightwatch/.gitignore b/jsx-pinia-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/jsx-pinia-vitest-nightwatch/.gitignore +++ b/jsx-pinia-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/jsx-pinia-vitest-nightwatch/jsconfig.json b/jsx-pinia-vitest-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-pinia-vitest-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-pinia-vitest-nightwatch/nightwatch.conf.js b/jsx-pinia-vitest-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/jsx-pinia-vitest-nightwatch/nightwatch.conf.js +++ b/jsx-pinia-vitest-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/jsx-pinia-vitest-nightwatch/nightwatch/globals.js b/jsx-pinia-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-pinia-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-pinia-vitest-nightwatch/package.json b/jsx-pinia-vitest-nightwatch/package.json index a7459cae..32348287 100644 --- a/jsx-pinia-vitest-nightwatch/package.json +++ b/jsx-pinia-vitest-nightwatch/package.json @@ -2,30 +2,31 @@ "name": "jsx-pinia-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e" + "test:e2e": "nightwatch tests/e2e/*" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1" } } diff --git a/jsx-pinia-vitest-nightwatch/src/assets/main.css b/jsx-pinia-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-pinia-vitest-nightwatch/src/assets/main.css +++ b/jsx-pinia-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-pinia-vitest-nightwatch/tests/e2e/example.js b/jsx-pinia-vitest-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/jsx-pinia-vitest-nightwatch/tests/e2e/example.js +++ b/jsx-pinia-vitest-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/jsx-pinia-vitest-playwright-nightwatch/.gitignore b/jsx-pinia-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/jsx-pinia-vitest-playwright-nightwatch/.vscode/extensions.json b/jsx-pinia-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/jsx-pinia-vitest-playwright-nightwatch/README.md b/jsx-pinia-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 2f7ac9b4..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# jsx-pinia-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js b/jsx-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-pinia-vitest-playwright-nightwatch/index.html b/jsx-pinia-vitest-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-pinia-vitest-playwright-nightwatch/nightwatch.conf.js b/jsx-pinia-vitest-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-pinia-vitest-playwright-nightwatch/nightwatch/globals.js b/jsx-pinia-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-pinia-vitest-playwright-nightwatch/package.json b/jsx-pinia-vitest-playwright-nightwatch/package.json deleted file mode 100644 index efcb740d..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "jsx-pinia-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-pinia-vitest-playwright-nightwatch/playwright.config.js b/jsx-pinia-vitest-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-pinia-vitest-playwright-nightwatch/public/favicon.ico b/jsx-pinia-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/App.vue b/jsx-pinia-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/assets/base.css b/jsx-pinia-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/assets/logo.svg b/jsx-pinia-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/assets/main.css b/jsx-pinia-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/jsx-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/jsx-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/jsx-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/main.js b/jsx-pinia-vitest-playwright-nightwatch/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/jsx-pinia-vitest-playwright-nightwatch/src/stores/counter.js b/jsx-pinia-vitest-playwright-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-pinia-vitest-playwright-nightwatch/tests/e2e/example.js b/jsx-pinia-vitest-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-pinia-vitest-playwright-nightwatch/vite.config.js b/jsx-pinia-vitest-playwright-nightwatch/vite.config.js deleted file mode 100644 index 3a698823..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-pinia-vitest-playwright-nightwatch/vitest.config.js b/jsx-pinia-vitest-playwright-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-pinia-vitest-playwright-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-pinia-vitest-playwright/.gitignore b/jsx-pinia-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/jsx-pinia-vitest-playwright/.gitignore +++ b/jsx-pinia-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/jsx-pinia-vitest-playwright/e2e/vue.spec.js b/jsx-pinia-vitest-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/jsx-pinia-vitest-playwright/e2e/vue.spec.js +++ b/jsx-pinia-vitest-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/jsx-pinia-vitest-playwright/jsconfig.json b/jsx-pinia-vitest-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-pinia-vitest-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-pinia-vitest-playwright/package.json b/jsx-pinia-vitest-playwright/package.json index 827e0180..64580a13 100644 --- a/jsx-pinia-vitest-playwright/package.json +++ b/jsx-pinia-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "jsx-pinia-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,15 +12,15 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-pinia-vitest-playwright/playwright.config.js b/jsx-pinia-vitest-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/jsx-pinia-vitest-playwright/playwright.config.js +++ b/jsx-pinia-vitest-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/jsx-pinia-vitest-playwright/src/assets/main.css b/jsx-pinia-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-pinia-vitest-playwright/src/assets/main.css +++ b/jsx-pinia-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-pinia-vitest/.gitignore b/jsx-pinia-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-pinia-vitest/.gitignore +++ b/jsx-pinia-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-pinia-vitest/jsconfig.json b/jsx-pinia-vitest/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-pinia-vitest/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-pinia-vitest/package.json b/jsx-pinia-vitest/package.json index 5014d812..6ae0ac31 100644 --- a/jsx-pinia-vitest/package.json +++ b/jsx-pinia-vitest/package.json @@ -2,6 +2,7 @@ "name": "jsx-pinia-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,14 +11,14 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-pinia-vitest/src/assets/main.css b/jsx-pinia-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-pinia-vitest/src/assets/main.css +++ b/jsx-pinia-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-pinia-with-tests/.gitignore b/jsx-pinia-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-pinia-with-tests/.gitignore +++ b/jsx-pinia-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-pinia-with-tests/cypress.config.js b/jsx-pinia-with-tests/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/jsx-pinia-with-tests/cypress.config.js +++ b/jsx-pinia-with-tests/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-pinia-with-tests/jsconfig.json b/jsx-pinia-with-tests/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-pinia-with-tests/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-pinia-with-tests/package.json b/jsx-pinia-with-tests/package.json index da6a162f..3eb94934 100644 --- a/jsx-pinia-with-tests/package.json +++ b/jsx-pinia-with-tests/package.json @@ -2,6 +2,7 @@ "name": "jsx-pinia-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,16 +13,16 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-pinia-with-tests/src/assets/main.css b/jsx-pinia-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-pinia-with-tests/src/assets/main.css +++ b/jsx-pinia-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-pinia/.gitignore b/jsx-pinia/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-pinia/.gitignore +++ b/jsx-pinia/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-pinia/jsconfig.json b/jsx-pinia/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-pinia/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-pinia/package.json b/jsx-pinia/package.json index 10652e39..faab5f0c 100644 --- a/jsx-pinia/package.json +++ b/jsx-pinia/package.json @@ -2,6 +2,7 @@ "name": "jsx-pinia", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,11 +10,11 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "vite": "^5.0.5" } } diff --git a/jsx-pinia/src/assets/main.css b/jsx-pinia/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-pinia/src/assets/main.css +++ b/jsx-pinia/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-playwright-nightwatch/.gitignore b/jsx-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/jsx-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/jsx-playwright-nightwatch/.vscode/extensions.json b/jsx-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/jsx-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/jsx-playwright-nightwatch/README.md b/jsx-playwright-nightwatch/README.md deleted file mode 100644 index 99b9f16b..00000000 --- a/jsx-playwright-nightwatch/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# jsx-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-playwright-nightwatch/e2e/vue.spec.js b/jsx-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-playwright-nightwatch/index.html b/jsx-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-playwright-nightwatch/nightwatch.conf.js b/jsx-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-playwright-nightwatch/nightwatch/globals.js b/jsx-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-playwright-nightwatch/nightwatch/index.html b/jsx-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/jsx-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/jsx-playwright-nightwatch/package.json b/jsx-playwright-nightwatch/package.json deleted file mode 100644 index d97c69a5..00000000 --- a/jsx-playwright-nightwatch/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "jsx-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-playwright-nightwatch/playwright.config.js b/jsx-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-playwright-nightwatch/public/favicon.ico b/jsx-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-playwright-nightwatch/src/App.vue b/jsx-playwright-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-playwright-nightwatch/src/assets/base.css b/jsx-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-playwright-nightwatch/src/assets/logo.svg b/jsx-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-playwright-nightwatch/src/assets/main.css b/jsx-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-playwright-nightwatch/src/components/HelloWorld.vue b/jsx-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-playwright-nightwatch/src/components/TheWelcome.vue b/jsx-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-playwright-nightwatch/src/components/WelcomeItem.vue b/jsx-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/jsx-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-playwright-nightwatch/src/components/icons/IconCommunity.vue b/jsx-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-playwright-nightwatch/src/components/icons/IconSupport.vue b/jsx-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-playwright-nightwatch/src/components/icons/IconTooling.vue b/jsx-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-playwright-nightwatch/src/main.js b/jsx-playwright-nightwatch/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/jsx-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/jsx-playwright-nightwatch/tests/e2e/example.js b/jsx-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-playwright-nightwatch/vite.config.js b/jsx-playwright-nightwatch/vite.config.js deleted file mode 100644 index 3e49bf0c..00000000 --- a/jsx-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-playwright/.gitignore b/jsx-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/jsx-playwright/.gitignore +++ b/jsx-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/jsx-playwright/e2e/vue.spec.js b/jsx-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/jsx-playwright/e2e/vue.spec.js +++ b/jsx-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/jsx-playwright/jsconfig.json b/jsx-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-playwright/package.json b/jsx-playwright/package.json index 3a959cd6..31b85af9 100644 --- a/jsx-playwright/package.json +++ b/jsx-playwright/package.json @@ -2,6 +2,7 @@ "name": "jsx-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,12 +10,12 @@ "test:e2e": "playwright test" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "vite": "^4.4.11" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "vite": "^5.0.5" } } diff --git a/jsx-playwright/playwright.config.js b/jsx-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/jsx-playwright/playwright.config.js +++ b/jsx-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/jsx-playwright/src/assets/main.css b/jsx-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-playwright/src/assets/main.css +++ b/jsx-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-cypress-nightwatch/.gitignore b/jsx-router-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/jsx-router-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/jsx-router-cypress-nightwatch/.vscode/extensions.json b/jsx-router-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/jsx-router-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/jsx-router-cypress-nightwatch/README.md b/jsx-router-cypress-nightwatch/README.md deleted file mode 100644 index b177f5af..00000000 --- a/jsx-router-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# jsx-router-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/jsx-router-cypress-nightwatch/cypress.config.js b/jsx-router-cypress-nightwatch/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/jsx-router-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/jsx-router-cypress-nightwatch/cypress/e2e/example.cy.js b/jsx-router-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-router-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-router-cypress-nightwatch/cypress/e2e/jsconfig.json b/jsx-router-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-router-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-router-cypress-nightwatch/cypress/fixtures/example.json b/jsx-router-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-router-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-router-cypress-nightwatch/cypress/support/commands.js b/jsx-router-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-router-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-router-cypress-nightwatch/cypress/support/component-index.html b/jsx-router-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/jsx-router-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/jsx-router-cypress-nightwatch/cypress/support/component.js b/jsx-router-cypress-nightwatch/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/jsx-router-cypress-nightwatch/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/jsx-router-cypress-nightwatch/cypress/support/e2e.js b/jsx-router-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-router-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-router-cypress-nightwatch/index.html b/jsx-router-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-cypress-nightwatch/nightwatch.conf.js b/jsx-router-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-router-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-router-cypress-nightwatch/nightwatch/globals.js b/jsx-router-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-cypress-nightwatch/nightwatch/index.html b/jsx-router-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/jsx-router-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/jsx-router-cypress-nightwatch/package.json b/jsx-router-cypress-nightwatch/package.json deleted file mode 100644 index 0a82114d..00000000 --- a/jsx-router-cypress-nightwatch/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "jsx-router-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-router-cypress-nightwatch/public/favicon.ico b/jsx-router-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-cypress-nightwatch/src/App.vue b/jsx-router-cypress-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-cypress-nightwatch/src/assets/base.css b/jsx-router-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-cypress-nightwatch/src/assets/logo.svg b/jsx-router-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-cypress-nightwatch/src/assets/main.css b/jsx-router-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-cypress-nightwatch/src/components/HelloWorld.vue b/jsx-router-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-cypress-nightwatch/src/components/TheWelcome.vue b/jsx-router-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-cypress-nightwatch/src/components/WelcomeItem.vue b/jsx-router-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js b/jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-cypress-nightwatch/src/components/icons/IconCommunity.vue b/jsx-router-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-cypress-nightwatch/src/components/icons/IconSupport.vue b/jsx-router-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-cypress-nightwatch/src/components/icons/IconTooling.vue b/jsx-router-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-cypress-nightwatch/src/main.js b/jsx-router-cypress-nightwatch/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/jsx-router-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/jsx-router-cypress-nightwatch/src/router/index.js b/jsx-router-cypress-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-cypress-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-cypress-nightwatch/src/views/AboutView.vue b/jsx-router-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-cypress-nightwatch/src/views/HomeView.vue b/jsx-router-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-cypress-nightwatch/tests/e2e/example.js b/jsx-router-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-router-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-cypress-nightwatch/vite.config.js b/jsx-router-cypress-nightwatch/vite.config.js deleted file mode 100644 index 3e49bf0c..00000000 --- a/jsx-router-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-cypress-playwright/.gitignore b/jsx-router-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/jsx-router-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/jsx-router-cypress-playwright/.vscode/extensions.json b/jsx-router-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/jsx-router-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/jsx-router-cypress-playwright/README.md b/jsx-router-cypress-playwright/README.md deleted file mode 100644 index 129e6f56..00000000 --- a/jsx-router-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# jsx-router-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-router-cypress-playwright/cypress.config.js b/jsx-router-cypress-playwright/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/jsx-router-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/jsx-router-cypress-playwright/cypress/e2e/example.cy.js b/jsx-router-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-router-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-router-cypress-playwright/cypress/e2e/jsconfig.json b/jsx-router-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-router-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-router-cypress-playwright/cypress/fixtures/example.json b/jsx-router-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-router-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-router-cypress-playwright/cypress/support/commands.js b/jsx-router-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-router-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-router-cypress-playwright/cypress/support/component-index.html b/jsx-router-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/jsx-router-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/jsx-router-cypress-playwright/cypress/support/component.js b/jsx-router-cypress-playwright/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/jsx-router-cypress-playwright/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/jsx-router-cypress-playwright/cypress/support/e2e.js b/jsx-router-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-router-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-router-cypress-playwright/e2e/vue.spec.js b/jsx-router-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-router-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-router-cypress-playwright/index.html b/jsx-router-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-cypress-playwright/package.json b/jsx-router-cypress-playwright/package.json deleted file mode 100644 index e942ed92..00000000 --- a/jsx-router-cypress-playwright/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "jsx-router-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" - } -} diff --git a/jsx-router-cypress-playwright/playwright.config.js b/jsx-router-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-router-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-router-cypress-playwright/public/favicon.ico b/jsx-router-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-cypress-playwright/src/App.vue b/jsx-router-cypress-playwright/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-cypress-playwright/src/assets/base.css b/jsx-router-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-cypress-playwright/src/assets/logo.svg b/jsx-router-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-cypress-playwright/src/assets/main.css b/jsx-router-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-cypress-playwright/src/components/HelloWorld.vue b/jsx-router-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-cypress-playwright/src/components/TheWelcome.vue b/jsx-router-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-cypress-playwright/src/components/WelcomeItem.vue b/jsx-router-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.js b/jsx-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/jsx-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/jsx-router-cypress-playwright/src/components/icons/IconCommunity.vue b/jsx-router-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-cypress-playwright/src/components/icons/IconDocumentation.vue b/jsx-router-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-cypress-playwright/src/components/icons/IconEcosystem.vue b/jsx-router-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-cypress-playwright/src/components/icons/IconSupport.vue b/jsx-router-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-cypress-playwright/src/components/icons/IconTooling.vue b/jsx-router-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-cypress-playwright/src/main.js b/jsx-router-cypress-playwright/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/jsx-router-cypress-playwright/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/jsx-router-cypress-playwright/src/router/index.js b/jsx-router-cypress-playwright/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-cypress-playwright/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-cypress-playwright/src/views/AboutView.vue b/jsx-router-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-cypress-playwright/src/views/HomeView.vue b/jsx-router-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-cypress-playwright/vite.config.js b/jsx-router-cypress-playwright/vite.config.js deleted file mode 100644 index 36c61875..00000000 --- a/jsx-router-cypress-playwright/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-cypress/.gitignore b/jsx-router-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router-cypress/.gitignore +++ b/jsx-router-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router-cypress/cypress.config.js b/jsx-router-cypress/cypress.config.js index c3aba743..c8fac129 100644 --- a/jsx-router-cypress/cypress.config.js +++ b/jsx-router-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-router-cypress/jsconfig.json b/jsx-router-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-cypress/package.json b/jsx-router-cypress/package.json index 1c43850f..e35aed03 100644 --- a/jsx-router-cypress/package.json +++ b/jsx-router-cypress/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,14 +13,14 @@ "test:unit:dev": "cypress open --component" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "cypress": "^13.6.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5" } } diff --git a/jsx-router-cypress/src/assets/main.css b/jsx-router-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-cypress/src/assets/main.css +++ b/jsx-router-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-nightwatch/.gitignore b/jsx-router-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/jsx-router-nightwatch/.gitignore +++ b/jsx-router-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/jsx-router-nightwatch/jsconfig.json b/jsx-router-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-nightwatch/nightwatch.conf.js b/jsx-router-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/jsx-router-nightwatch/nightwatch.conf.js +++ b/jsx-router-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/jsx-router-nightwatch/nightwatch/globals.js b/jsx-router-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-nightwatch/package.json b/jsx-router-nightwatch/package.json index 7568c30d..ddf79c37 100644 --- a/jsx-router-nightwatch/package.json +++ b/jsx-router-nightwatch/package.json @@ -2,27 +2,29 @@ "name": "jsx-router-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*" + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5" } } diff --git a/jsx-router-nightwatch/src/assets/main.css b/jsx-router-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-nightwatch/src/assets/main.css +++ b/jsx-router-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-nightwatch/tests/e2e/example.js b/jsx-router-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/jsx-router-nightwatch/tests/e2e/example.js +++ b/jsx-router-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/jsx-router-pinia-cypress-nightwatch/.gitignore b/jsx-router-pinia-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/jsx-router-pinia-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/jsx-router-pinia-cypress-nightwatch/.vscode/extensions.json b/jsx-router-pinia-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/jsx-router-pinia-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/jsx-router-pinia-cypress-nightwatch/README.md b/jsx-router-pinia-cypress-nightwatch/README.md deleted file mode 100644 index 6761fd73..00000000 --- a/jsx-router-pinia-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# jsx-router-pinia-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/jsx-router-pinia-cypress-nightwatch/cypress.config.js b/jsx-router-pinia-cypress-nightwatch/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/jsx-router-pinia-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/jsx-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.js b/jsx-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-router-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json b/jsx-router-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-router-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-router-pinia-cypress-nightwatch/cypress/fixtures/example.json b/jsx-router-pinia-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-router-pinia-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-router-pinia-cypress-nightwatch/cypress/support/commands.js b/jsx-router-pinia-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-router-pinia-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-router-pinia-cypress-nightwatch/cypress/support/component-index.html b/jsx-router-pinia-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/jsx-router-pinia-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/jsx-router-pinia-cypress-nightwatch/cypress/support/component.js b/jsx-router-pinia-cypress-nightwatch/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/jsx-router-pinia-cypress-nightwatch/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/jsx-router-pinia-cypress-nightwatch/cypress/support/e2e.js b/jsx-router-pinia-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-router-pinia-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-router-pinia-cypress-nightwatch/index.html b/jsx-router-pinia-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-pinia-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-pinia-cypress-nightwatch/nightwatch.conf.js b/jsx-router-pinia-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-router-pinia-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-router-pinia-cypress-nightwatch/nightwatch/globals.js b/jsx-router-pinia-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-pinia-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-pinia-cypress-nightwatch/nightwatch/index.html b/jsx-router-pinia-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/jsx-router-pinia-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/jsx-router-pinia-cypress-nightwatch/package.json b/jsx-router-pinia-cypress-nightwatch/package.json deleted file mode 100644 index c08c8bba..00000000 --- a/jsx-router-pinia-cypress-nightwatch/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "jsx-router-pinia-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-router-pinia-cypress-nightwatch/public/favicon.ico b/jsx-router-pinia-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-pinia-cypress-nightwatch/src/App.vue b/jsx-router-pinia-cypress-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-cypress-nightwatch/src/assets/base.css b/jsx-router-pinia-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-pinia-cypress-nightwatch/src/assets/logo.svg b/jsx-router-pinia-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-nightwatch/src/assets/main.css b/jsx-router-pinia-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue b/jsx-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue b/jsx-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue b/jsx-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js b/jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue b/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue b/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue b/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-pinia-cypress-nightwatch/src/main.js b/jsx-router-pinia-cypress-nightwatch/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/jsx-router-pinia-cypress-nightwatch/src/router/index.js b/jsx-router-pinia-cypress-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-pinia-cypress-nightwatch/src/stores/counter.js b/jsx-router-pinia-cypress-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-router-pinia-cypress-nightwatch/src/views/AboutView.vue b/jsx-router-pinia-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-pinia-cypress-nightwatch/src/views/HomeView.vue b/jsx-router-pinia-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-pinia-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-pinia-cypress-nightwatch/tests/e2e/example.js b/jsx-router-pinia-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-router-pinia-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-pinia-cypress-nightwatch/vite.config.js b/jsx-router-pinia-cypress-nightwatch/vite.config.js deleted file mode 100644 index 3e49bf0c..00000000 --- a/jsx-router-pinia-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-pinia-cypress-playwright/.gitignore b/jsx-router-pinia-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/jsx-router-pinia-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/jsx-router-pinia-cypress-playwright/.vscode/extensions.json b/jsx-router-pinia-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/jsx-router-pinia-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/jsx-router-pinia-cypress-playwright/README.md b/jsx-router-pinia-cypress-playwright/README.md deleted file mode 100644 index b0cb8895..00000000 --- a/jsx-router-pinia-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# jsx-router-pinia-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-router-pinia-cypress-playwright/cypress.config.js b/jsx-router-pinia-cypress-playwright/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/jsx-router-pinia-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/jsx-router-pinia-cypress-playwright/cypress/e2e/example.cy.js b/jsx-router-pinia-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-router-pinia-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-router-pinia-cypress-playwright/cypress/e2e/jsconfig.json b/jsx-router-pinia-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-router-pinia-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-router-pinia-cypress-playwright/cypress/fixtures/example.json b/jsx-router-pinia-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-router-pinia-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-router-pinia-cypress-playwright/cypress/support/commands.js b/jsx-router-pinia-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-router-pinia-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-router-pinia-cypress-playwright/cypress/support/component-index.html b/jsx-router-pinia-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/jsx-router-pinia-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/jsx-router-pinia-cypress-playwright/cypress/support/component.js b/jsx-router-pinia-cypress-playwright/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/jsx-router-pinia-cypress-playwright/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/jsx-router-pinia-cypress-playwright/cypress/support/e2e.js b/jsx-router-pinia-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-router-pinia-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-router-pinia-cypress-playwright/e2e/vue.spec.js b/jsx-router-pinia-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-router-pinia-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-router-pinia-cypress-playwright/index.html b/jsx-router-pinia-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-pinia-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-pinia-cypress-playwright/package.json b/jsx-router-pinia-cypress-playwright/package.json deleted file mode 100644 index 327f8aae..00000000 --- a/jsx-router-pinia-cypress-playwright/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "jsx-router-pinia-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" - } -} diff --git a/jsx-router-pinia-cypress-playwright/playwright.config.js b/jsx-router-pinia-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-router-pinia-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-router-pinia-cypress-playwright/public/favicon.ico b/jsx-router-pinia-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-pinia-cypress-playwright/src/App.vue b/jsx-router-pinia-cypress-playwright/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-pinia-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-cypress-playwright/src/assets/base.css b/jsx-router-pinia-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-pinia-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-pinia-cypress-playwright/src/assets/logo.svg b/jsx-router-pinia-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-pinia-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-playwright/src/assets/main.css b/jsx-router-pinia-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-pinia-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-pinia-cypress-playwright/src/components/HelloWorld.vue b/jsx-router-pinia-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-pinia-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-cypress-playwright/src/components/TheWelcome.vue b/jsx-router-pinia-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-pinia-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-pinia-cypress-playwright/src/components/WelcomeItem.vue b/jsx-router-pinia-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-pinia-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js b/jsx-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/jsx-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/jsx-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue b/jsx-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue b/jsx-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue b/jsx-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue b/jsx-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue b/jsx-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-pinia-cypress-playwright/src/main.js b/jsx-router-pinia-cypress-playwright/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/jsx-router-pinia-cypress-playwright/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/jsx-router-pinia-cypress-playwright/src/router/index.js b/jsx-router-pinia-cypress-playwright/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-pinia-cypress-playwright/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-pinia-cypress-playwright/src/stores/counter.js b/jsx-router-pinia-cypress-playwright/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-router-pinia-cypress-playwright/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-router-pinia-cypress-playwright/src/views/AboutView.vue b/jsx-router-pinia-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-pinia-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-pinia-cypress-playwright/src/views/HomeView.vue b/jsx-router-pinia-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-pinia-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-pinia-cypress-playwright/vite.config.js b/jsx-router-pinia-cypress-playwright/vite.config.js deleted file mode 100644 index 36c61875..00000000 --- a/jsx-router-pinia-cypress-playwright/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-pinia-cypress/.gitignore b/jsx-router-pinia-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router-pinia-cypress/.gitignore +++ b/jsx-router-pinia-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router-pinia-cypress/cypress.config.js b/jsx-router-pinia-cypress/cypress.config.js index c3aba743..c8fac129 100644 --- a/jsx-router-pinia-cypress/cypress.config.js +++ b/jsx-router-pinia-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-router-pinia-cypress/jsconfig.json b/jsx-router-pinia-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-pinia-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-pinia-cypress/package.json b/jsx-router-pinia-cypress/package.json index 492a6d40..16bd9428 100644 --- a/jsx-router-pinia-cypress/package.json +++ b/jsx-router-pinia-cypress/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-pinia-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -13,14 +14,14 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "cypress": "^13.6.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5" } } diff --git a/jsx-router-pinia-cypress/src/assets/main.css b/jsx-router-pinia-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-pinia-cypress/src/assets/main.css +++ b/jsx-router-pinia-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-pinia-nightwatch/.gitignore b/jsx-router-pinia-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/jsx-router-pinia-nightwatch/.gitignore +++ b/jsx-router-pinia-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/jsx-router-pinia-nightwatch/jsconfig.json b/jsx-router-pinia-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-pinia-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-pinia-nightwatch/nightwatch.conf.js b/jsx-router-pinia-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/jsx-router-pinia-nightwatch/nightwatch.conf.js +++ b/jsx-router-pinia-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/jsx-router-pinia-nightwatch/nightwatch/globals.js b/jsx-router-pinia-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-pinia-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-pinia-nightwatch/package.json b/jsx-router-pinia-nightwatch/package.json index ce29b49c..dcada960 100644 --- a/jsx-router-pinia-nightwatch/package.json +++ b/jsx-router-pinia-nightwatch/package.json @@ -2,28 +2,30 @@ "name": "jsx-router-pinia-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*" + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5" } } diff --git a/jsx-router-pinia-nightwatch/src/assets/main.css b/jsx-router-pinia-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-pinia-nightwatch/src/assets/main.css +++ b/jsx-router-pinia-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-pinia-nightwatch/tests/e2e/example.js b/jsx-router-pinia-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/jsx-router-pinia-nightwatch/tests/e2e/example.js +++ b/jsx-router-pinia-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/jsx-router-pinia-playwright-nightwatch/.gitignore b/jsx-router-pinia-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/jsx-router-pinia-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/jsx-router-pinia-playwright-nightwatch/.vscode/extensions.json b/jsx-router-pinia-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/jsx-router-pinia-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/jsx-router-pinia-playwright-nightwatch/README.md b/jsx-router-pinia-playwright-nightwatch/README.md deleted file mode 100644 index 37964add..00000000 --- a/jsx-router-pinia-playwright-nightwatch/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# jsx-router-pinia-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-router-pinia-playwright-nightwatch/e2e/vue.spec.js b/jsx-router-pinia-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-router-pinia-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-router-pinia-playwright-nightwatch/index.html b/jsx-router-pinia-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-pinia-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-pinia-playwright-nightwatch/nightwatch.conf.js b/jsx-router-pinia-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-router-pinia-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-router-pinia-playwright-nightwatch/nightwatch/globals.js b/jsx-router-pinia-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-pinia-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-pinia-playwright-nightwatch/nightwatch/index.html b/jsx-router-pinia-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/jsx-router-pinia-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/jsx-router-pinia-playwright-nightwatch/package.json b/jsx-router-pinia-playwright-nightwatch/package.json deleted file mode 100644 index 226ede2c..00000000 --- a/jsx-router-pinia-playwright-nightwatch/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "jsx-router-pinia-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-router-pinia-playwright-nightwatch/playwright.config.js b/jsx-router-pinia-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-router-pinia-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-router-pinia-playwright-nightwatch/public/favicon.ico b/jsx-router-pinia-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-pinia-playwright-nightwatch/src/App.vue b/jsx-router-pinia-playwright-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-playwright-nightwatch/src/assets/base.css b/jsx-router-pinia-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-pinia-playwright-nightwatch/src/assets/logo.svg b/jsx-router-pinia-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-pinia-playwright-nightwatch/src/assets/main.css b/jsx-router-pinia-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue b/jsx-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue b/jsx-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue b/jsx-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue b/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue b/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue b/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-pinia-playwright-nightwatch/src/main.js b/jsx-router-pinia-playwright-nightwatch/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/jsx-router-pinia-playwright-nightwatch/src/router/index.js b/jsx-router-pinia-playwright-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-pinia-playwright-nightwatch/src/stores/counter.js b/jsx-router-pinia-playwright-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-router-pinia-playwright-nightwatch/src/views/AboutView.vue b/jsx-router-pinia-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-pinia-playwright-nightwatch/src/views/HomeView.vue b/jsx-router-pinia-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-pinia-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-pinia-playwright-nightwatch/tests/e2e/example.js b/jsx-router-pinia-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-router-pinia-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-pinia-playwright-nightwatch/vite.config.js b/jsx-router-pinia-playwright-nightwatch/vite.config.js deleted file mode 100644 index 3e49bf0c..00000000 --- a/jsx-router-pinia-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-pinia-playwright/.gitignore b/jsx-router-pinia-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/jsx-router-pinia-playwright/.gitignore +++ b/jsx-router-pinia-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/jsx-router-pinia-playwright/e2e/vue.spec.js b/jsx-router-pinia-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/jsx-router-pinia-playwright/e2e/vue.spec.js +++ b/jsx-router-pinia-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/jsx-router-pinia-playwright/jsconfig.json b/jsx-router-pinia-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-pinia-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-pinia-playwright/package.json b/jsx-router-pinia-playwright/package.json index 3ba31bbd..a90626b9 100644 --- a/jsx-router-pinia-playwright/package.json +++ b/jsx-router-pinia-playwright/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-pinia-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,13 +11,13 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "vite": "^4.4.11" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "vite": "^5.0.5" } } diff --git a/jsx-router-pinia-playwright/playwright.config.js b/jsx-router-pinia-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/jsx-router-pinia-playwright/playwright.config.js +++ b/jsx-router-pinia-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/jsx-router-pinia-playwright/src/assets/main.css b/jsx-router-pinia-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-pinia-playwright/src/assets/main.css +++ b/jsx-router-pinia-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/.gitignore b/jsx-router-pinia-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json b/jsx-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/README.md b/jsx-router-pinia-vitest-cypress-nightwatch/README.md deleted file mode 100644 index bac6fe90..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# jsx-router-pinia-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/cypress.config.js b/jsx-router-pinia-vitest-cypress-nightwatch/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js b/jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json b/jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json b/jsx-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.js b/jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js b/jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/index.html b/jsx-router-pinia-vitest-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.js b/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js b/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/package.json b/jsx-router-pinia-vitest-cypress-nightwatch/package.json deleted file mode 100644 index 085f272a..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "jsx-router-pinia-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/public/favicon.ico b/jsx-router-pinia-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/App.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/assets/base.css b/jsx-router-pinia-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg b/jsx-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/assets/main.css b/jsx-router-pinia-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/main.js b/jsx-router-pinia-vitest-cypress-nightwatch/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/router/index.js b/jsx-router-pinia-vitest-cypress-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/stores/counter.js b/jsx-router-pinia-vitest-cypress-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue b/jsx-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.js b/jsx-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/vite.config.js b/jsx-router-pinia-vitest-cypress-nightwatch/vite.config.js deleted file mode 100644 index 3a698823..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-pinia-vitest-cypress-nightwatch/vitest.config.js b/jsx-router-pinia-vitest-cypress-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-router-pinia-vitest-cypress-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-router-pinia-vitest-cypress-playwright/.gitignore b/jsx-router-pinia-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/jsx-router-pinia-vitest-cypress-playwright/.vscode/extensions.json b/jsx-router-pinia-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/jsx-router-pinia-vitest-cypress-playwright/README.md b/jsx-router-pinia-vitest-cypress-playwright/README.md deleted file mode 100644 index 1dcb9acd..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# jsx-router-pinia-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-router-pinia-vitest-cypress-playwright/cypress.config.js b/jsx-router-pinia-vitest-cypress-playwright/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js b/jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json b/jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json b/jsx-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-router-pinia-vitest-cypress-playwright/cypress/support/commands.js b/jsx-router-pinia-vitest-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-router-pinia-vitest-cypress-playwright/cypress/support/e2e.js b/jsx-router-pinia-vitest-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-router-pinia-vitest-cypress-playwright/e2e/vue.spec.js b/jsx-router-pinia-vitest-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-router-pinia-vitest-cypress-playwright/index.html b/jsx-router-pinia-vitest-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-pinia-vitest-cypress-playwright/package.json b/jsx-router-pinia-vitest-cypress-playwright/package.json deleted file mode 100644 index f4cb8dc0..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "jsx-router-pinia-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" - } -} diff --git a/jsx-router-pinia-vitest-cypress-playwright/playwright.config.js b/jsx-router-pinia-vitest-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-router-pinia-vitest-cypress-playwright/public/favicon.ico b/jsx-router-pinia-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/App.vue b/jsx-router-pinia-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/assets/base.css b/jsx-router-pinia-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/assets/logo.svg b/jsx-router-pinia-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/assets/main.css b/jsx-router-pinia-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue b/jsx-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue b/jsx-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue b/jsx-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js b/jsx-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/main.js b/jsx-router-pinia-vitest-cypress-playwright/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/router/index.js b/jsx-router-pinia-vitest-cypress-playwright/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/stores/counter.js b/jsx-router-pinia-vitest-cypress-playwright/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue b/jsx-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue b/jsx-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-cypress-playwright/vite.config.js b/jsx-router-pinia-vitest-cypress-playwright/vite.config.js deleted file mode 100644 index 36c61875..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-pinia-vitest-cypress-playwright/vitest.config.js b/jsx-router-pinia-vitest-cypress-playwright/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-router-pinia-vitest-cypress-playwright/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-router-pinia-vitest-cypress/.gitignore b/jsx-router-pinia-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router-pinia-vitest-cypress/.gitignore +++ b/jsx-router-pinia-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router-pinia-vitest-cypress/cypress.config.js b/jsx-router-pinia-vitest-cypress/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/jsx-router-pinia-vitest-cypress/cypress.config.js +++ b/jsx-router-pinia-vitest-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-router-pinia-vitest-cypress/jsconfig.json b/jsx-router-pinia-vitest-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-pinia-vitest-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-pinia-vitest-cypress/package.json b/jsx-router-pinia-vitest-cypress/package.json index ac2e184b..453cde03 100644 --- a/jsx-router-pinia-vitest-cypress/package.json +++ b/jsx-router-pinia-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-pinia-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,17 +13,17 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-pinia-vitest-cypress/src/assets/main.css b/jsx-router-pinia-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-pinia-vitest-cypress/src/assets/main.css +++ b/jsx-router-pinia-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-pinia-vitest-nightwatch/.gitignore b/jsx-router-pinia-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/jsx-router-pinia-vitest-nightwatch/.gitignore +++ b/jsx-router-pinia-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/jsx-router-pinia-vitest-nightwatch/jsconfig.json b/jsx-router-pinia-vitest-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-pinia-vitest-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-pinia-vitest-nightwatch/nightwatch.conf.js b/jsx-router-pinia-vitest-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/jsx-router-pinia-vitest-nightwatch/nightwatch.conf.js +++ b/jsx-router-pinia-vitest-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/jsx-router-pinia-vitest-nightwatch/nightwatch/globals.js b/jsx-router-pinia-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-pinia-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-pinia-vitest-nightwatch/package.json b/jsx-router-pinia-vitest-nightwatch/package.json index 10f6eb28..96df5c19 100644 --- a/jsx-router-pinia-vitest-nightwatch/package.json +++ b/jsx-router-pinia-vitest-nightwatch/package.json @@ -2,31 +2,32 @@ "name": "jsx-router-pinia-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e" + "test:e2e": "nightwatch tests/e2e/*" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-pinia-vitest-nightwatch/src/assets/main.css b/jsx-router-pinia-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-pinia-vitest-nightwatch/src/assets/main.css +++ b/jsx-router-pinia-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-pinia-vitest-nightwatch/tests/e2e/example.js b/jsx-router-pinia-vitest-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/jsx-router-pinia-vitest-nightwatch/tests/e2e/example.js +++ b/jsx-router-pinia-vitest-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/.gitignore b/jsx-router-pinia-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json b/jsx-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/README.md b/jsx-router-pinia-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 8133b15d..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# jsx-router-pinia-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js b/jsx-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/index.html b/jsx-router-pinia-vitest-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.js b/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js b/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/package.json b/jsx-router-pinia-vitest-playwright-nightwatch/package.json deleted file mode 100644 index c0675550..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "jsx-router-pinia-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/playwright.config.js b/jsx-router-pinia-vitest-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/public/favicon.ico b/jsx-router-pinia-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/App.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/assets/base.css b/jsx-router-pinia-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg b/jsx-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/assets/main.css b/jsx-router-pinia-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/main.js b/jsx-router-pinia-vitest-playwright-nightwatch/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/router/index.js b/jsx-router-pinia-vitest-playwright-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/stores/counter.js b/jsx-router-pinia-vitest-playwright-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue b/jsx-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.js b/jsx-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/vite.config.js b/jsx-router-pinia-vitest-playwright-nightwatch/vite.config.js deleted file mode 100644 index 3a698823..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-pinia-vitest-playwright-nightwatch/vitest.config.js b/jsx-router-pinia-vitest-playwright-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-router-pinia-vitest-playwright-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-router-pinia-vitest-playwright/.gitignore b/jsx-router-pinia-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/jsx-router-pinia-vitest-playwright/.gitignore +++ b/jsx-router-pinia-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/jsx-router-pinia-vitest-playwright/e2e/vue.spec.js b/jsx-router-pinia-vitest-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/jsx-router-pinia-vitest-playwright/e2e/vue.spec.js +++ b/jsx-router-pinia-vitest-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/jsx-router-pinia-vitest-playwright/jsconfig.json b/jsx-router-pinia-vitest-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-pinia-vitest-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-pinia-vitest-playwright/package.json b/jsx-router-pinia-vitest-playwright/package.json index a43732ec..28b3c21f 100644 --- a/jsx-router-pinia-vitest-playwright/package.json +++ b/jsx-router-pinia-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-pinia-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,16 +12,16 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-pinia-vitest-playwright/playwright.config.js b/jsx-router-pinia-vitest-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/jsx-router-pinia-vitest-playwright/playwright.config.js +++ b/jsx-router-pinia-vitest-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/jsx-router-pinia-vitest-playwright/src/assets/main.css b/jsx-router-pinia-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-pinia-vitest-playwright/src/assets/main.css +++ b/jsx-router-pinia-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-pinia-vitest/.gitignore b/jsx-router-pinia-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router-pinia-vitest/.gitignore +++ b/jsx-router-pinia-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router-pinia-vitest/jsconfig.json b/jsx-router-pinia-vitest/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-pinia-vitest/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-pinia-vitest/package.json b/jsx-router-pinia-vitest/package.json index c075d898..79d5cc5b 100644 --- a/jsx-router-pinia-vitest/package.json +++ b/jsx-router-pinia-vitest/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-pinia-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,15 +11,15 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-pinia-vitest/src/assets/main.css b/jsx-router-pinia-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-pinia-vitest/src/assets/main.css +++ b/jsx-router-pinia-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-pinia-with-tests/.gitignore b/jsx-router-pinia-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router-pinia-with-tests/.gitignore +++ b/jsx-router-pinia-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router-pinia-with-tests/cypress.config.js b/jsx-router-pinia-with-tests/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/jsx-router-pinia-with-tests/cypress.config.js +++ b/jsx-router-pinia-with-tests/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-router-pinia-with-tests/jsconfig.json b/jsx-router-pinia-with-tests/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-pinia-with-tests/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-pinia-with-tests/package.json b/jsx-router-pinia-with-tests/package.json index 9d8ae58a..e7b57fa5 100644 --- a/jsx-router-pinia-with-tests/package.json +++ b/jsx-router-pinia-with-tests/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-pinia-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,17 +13,17 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-pinia-with-tests/src/assets/main.css b/jsx-router-pinia-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-pinia-with-tests/src/assets/main.css +++ b/jsx-router-pinia-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-pinia/.gitignore b/jsx-router-pinia/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router-pinia/.gitignore +++ b/jsx-router-pinia/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router-pinia/jsconfig.json b/jsx-router-pinia/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-pinia/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-pinia/package.json b/jsx-router-pinia/package.json index aa9c7cab..42fef279 100644 --- a/jsx-router-pinia/package.json +++ b/jsx-router-pinia/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-pinia", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,12 +10,12 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "vite": "^5.0.5" } } diff --git a/jsx-router-pinia/src/assets/main.css b/jsx-router-pinia/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-pinia/src/assets/main.css +++ b/jsx-router-pinia/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-playwright-nightwatch/.gitignore b/jsx-router-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/jsx-router-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/jsx-router-playwright-nightwatch/.vscode/extensions.json b/jsx-router-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/jsx-router-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/jsx-router-playwright-nightwatch/README.md b/jsx-router-playwright-nightwatch/README.md deleted file mode 100644 index f6794afb..00000000 --- a/jsx-router-playwright-nightwatch/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# jsx-router-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-router-playwright-nightwatch/e2e/vue.spec.js b/jsx-router-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-router-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-router-playwright-nightwatch/index.html b/jsx-router-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-playwright-nightwatch/nightwatch.conf.js b/jsx-router-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-router-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-router-playwright-nightwatch/nightwatch/globals.js b/jsx-router-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-playwright-nightwatch/nightwatch/index.html b/jsx-router-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/jsx-router-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/jsx-router-playwright-nightwatch/package.json b/jsx-router-playwright-nightwatch/package.json deleted file mode 100644 index ca6ff91b..00000000 --- a/jsx-router-playwright-nightwatch/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "jsx-router-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-router-playwright-nightwatch/playwright.config.js b/jsx-router-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-router-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-router-playwright-nightwatch/public/favicon.ico b/jsx-router-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-playwright-nightwatch/src/App.vue b/jsx-router-playwright-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-playwright-nightwatch/src/assets/base.css b/jsx-router-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-playwright-nightwatch/src/assets/logo.svg b/jsx-router-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-playwright-nightwatch/src/assets/main.css b/jsx-router-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-playwright-nightwatch/src/components/HelloWorld.vue b/jsx-router-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-playwright-nightwatch/src/components/TheWelcome.vue b/jsx-router-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-playwright-nightwatch/src/components/WelcomeItem.vue b/jsx-router-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/jsx-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-playwright-nightwatch/src/components/icons/IconCommunity.vue b/jsx-router-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-playwright-nightwatch/src/components/icons/IconSupport.vue b/jsx-router-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-playwright-nightwatch/src/components/icons/IconTooling.vue b/jsx-router-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-playwright-nightwatch/src/main.js b/jsx-router-playwright-nightwatch/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/jsx-router-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/jsx-router-playwright-nightwatch/src/router/index.js b/jsx-router-playwright-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-playwright-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-playwright-nightwatch/src/views/AboutView.vue b/jsx-router-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-playwright-nightwatch/src/views/HomeView.vue b/jsx-router-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-playwright-nightwatch/tests/e2e/example.js b/jsx-router-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-router-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-playwright-nightwatch/vite.config.js b/jsx-router-playwright-nightwatch/vite.config.js deleted file mode 100644 index 3e49bf0c..00000000 --- a/jsx-router-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-playwright/.gitignore b/jsx-router-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/jsx-router-playwright/.gitignore +++ b/jsx-router-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/jsx-router-playwright/e2e/vue.spec.js b/jsx-router-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/jsx-router-playwright/e2e/vue.spec.js +++ b/jsx-router-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/jsx-router-playwright/jsconfig.json b/jsx-router-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-playwright/package.json b/jsx-router-playwright/package.json index b75d34d8..b73dc105 100644 --- a/jsx-router-playwright/package.json +++ b/jsx-router-playwright/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,13 +10,13 @@ "test:e2e": "playwright test" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "vite": "^4.4.11" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "vite": "^5.0.5" } } diff --git a/jsx-router-playwright/playwright.config.js b/jsx-router-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/jsx-router-playwright/playwright.config.js +++ b/jsx-router-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/jsx-router-playwright/src/assets/main.css b/jsx-router-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-playwright/src/assets/main.css +++ b/jsx-router-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-vitest-cypress-nightwatch/.gitignore b/jsx-router-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/jsx-router-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/jsx-router-vitest-cypress-nightwatch/.vscode/extensions.json b/jsx-router-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/jsx-router-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/jsx-router-vitest-cypress-nightwatch/README.md b/jsx-router-vitest-cypress-nightwatch/README.md deleted file mode 100644 index 82193654..00000000 --- a/jsx-router-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# jsx-router-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/jsx-router-vitest-cypress-nightwatch/cypress.config.js b/jsx-router-vitest-cypress-nightwatch/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/jsx-router-vitest-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/jsx-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.js b/jsx-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-router-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json b/jsx-router-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-router-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-router-vitest-cypress-nightwatch/cypress/fixtures/example.json b/jsx-router-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-router-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-router-vitest-cypress-nightwatch/cypress/support/commands.js b/jsx-router-vitest-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-router-vitest-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-router-vitest-cypress-nightwatch/cypress/support/e2e.js b/jsx-router-vitest-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-router-vitest-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-router-vitest-cypress-nightwatch/index.html b/jsx-router-vitest-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-vitest-cypress-nightwatch/nightwatch.conf.js b/jsx-router-vitest-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-router-vitest-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-router-vitest-cypress-nightwatch/nightwatch/globals.js b/jsx-router-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-vitest-cypress-nightwatch/package.json b/jsx-router-vitest-cypress-nightwatch/package.json deleted file mode 100644 index e0622530..00000000 --- a/jsx-router-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "jsx-router-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-router-vitest-cypress-nightwatch/public/favicon.ico b/jsx-router-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-vitest-cypress-nightwatch/src/App.vue b/jsx-router-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-vitest-cypress-nightwatch/src/assets/base.css b/jsx-router-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-vitest-cypress-nightwatch/src/assets/logo.svg b/jsx-router-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-nightwatch/src/assets/main.css b/jsx-router-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/jsx-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/jsx-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/jsx-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-vitest-cypress-nightwatch/src/main.js b/jsx-router-vitest-cypress-nightwatch/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/jsx-router-vitest-cypress-nightwatch/src/router/index.js b/jsx-router-vitest-cypress-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-vitest-cypress-nightwatch/src/views/AboutView.vue b/jsx-router-vitest-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-vitest-cypress-nightwatch/src/views/HomeView.vue b/jsx-router-vitest-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-vitest-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-vitest-cypress-nightwatch/tests/e2e/example.js b/jsx-router-vitest-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-router-vitest-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-vitest-cypress-nightwatch/vite.config.js b/jsx-router-vitest-cypress-nightwatch/vite.config.js deleted file mode 100644 index 3a698823..00000000 --- a/jsx-router-vitest-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-vitest-cypress-nightwatch/vitest.config.js b/jsx-router-vitest-cypress-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-router-vitest-cypress-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-router-vitest-cypress-playwright/.gitignore b/jsx-router-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/jsx-router-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/jsx-router-vitest-cypress-playwright/.vscode/extensions.json b/jsx-router-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/jsx-router-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/jsx-router-vitest-cypress-playwright/README.md b/jsx-router-vitest-cypress-playwright/README.md deleted file mode 100644 index ffb91d3c..00000000 --- a/jsx-router-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# jsx-router-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-router-vitest-cypress-playwright/cypress.config.js b/jsx-router-vitest-cypress-playwright/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/jsx-router-vitest-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/jsx-router-vitest-cypress-playwright/cypress/e2e/example.cy.js b/jsx-router-vitest-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-router-vitest-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-router-vitest-cypress-playwright/cypress/e2e/jsconfig.json b/jsx-router-vitest-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-router-vitest-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-router-vitest-cypress-playwright/cypress/fixtures/example.json b/jsx-router-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-router-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-router-vitest-cypress-playwright/cypress/support/commands.js b/jsx-router-vitest-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-router-vitest-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-router-vitest-cypress-playwright/cypress/support/e2e.js b/jsx-router-vitest-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-router-vitest-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-router-vitest-cypress-playwright/e2e/vue.spec.js b/jsx-router-vitest-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-router-vitest-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-router-vitest-cypress-playwright/index.html b/jsx-router-vitest-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-vitest-cypress-playwright/package.json b/jsx-router-vitest-cypress-playwright/package.json deleted file mode 100644 index b4a3b765..00000000 --- a/jsx-router-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "jsx-router-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" - } -} diff --git a/jsx-router-vitest-cypress-playwright/playwright.config.js b/jsx-router-vitest-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-router-vitest-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-router-vitest-cypress-playwright/public/favicon.ico b/jsx-router-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-vitest-cypress-playwright/src/App.vue b/jsx-router-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-vitest-cypress-playwright/src/assets/base.css b/jsx-router-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-vitest-cypress-playwright/src/assets/logo.svg b/jsx-router-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-playwright/src/assets/main.css b/jsx-router-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-vitest-cypress-playwright/src/components/HelloWorld.vue b/jsx-router-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-vitest-cypress-playwright/src/components/TheWelcome.vue b/jsx-router-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-vitest-cypress-playwright/src/components/WelcomeItem.vue b/jsx-router-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js b/jsx-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/jsx-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/jsx-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/jsx-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/jsx-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/jsx-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-vitest-cypress-playwright/src/main.js b/jsx-router-vitest-cypress-playwright/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/jsx-router-vitest-cypress-playwright/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/jsx-router-vitest-cypress-playwright/src/router/index.js b/jsx-router-vitest-cypress-playwright/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-vitest-cypress-playwright/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-vitest-cypress-playwright/src/views/AboutView.vue b/jsx-router-vitest-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-vitest-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-vitest-cypress-playwright/src/views/HomeView.vue b/jsx-router-vitest-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-vitest-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-vitest-cypress-playwright/vite.config.js b/jsx-router-vitest-cypress-playwright/vite.config.js deleted file mode 100644 index 36c61875..00000000 --- a/jsx-router-vitest-cypress-playwright/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-vitest-cypress-playwright/vitest.config.js b/jsx-router-vitest-cypress-playwright/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-router-vitest-cypress-playwright/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-router-vitest-cypress/.gitignore b/jsx-router-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router-vitest-cypress/.gitignore +++ b/jsx-router-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router-vitest-cypress/cypress.config.js b/jsx-router-vitest-cypress/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/jsx-router-vitest-cypress/cypress.config.js +++ b/jsx-router-vitest-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-router-vitest-cypress/jsconfig.json b/jsx-router-vitest-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-vitest-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-vitest-cypress/package.json b/jsx-router-vitest-cypress/package.json index 509c2e54..7428afb0 100644 --- a/jsx-router-vitest-cypress/package.json +++ b/jsx-router-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,17 +12,17 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-vitest-cypress/src/assets/main.css b/jsx-router-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-vitest-cypress/src/assets/main.css +++ b/jsx-router-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-vitest-nightwatch/.gitignore b/jsx-router-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/jsx-router-vitest-nightwatch/.gitignore +++ b/jsx-router-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/jsx-router-vitest-nightwatch/jsconfig.json b/jsx-router-vitest-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-vitest-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-vitest-nightwatch/nightwatch.conf.js b/jsx-router-vitest-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/jsx-router-vitest-nightwatch/nightwatch.conf.js +++ b/jsx-router-vitest-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/jsx-router-vitest-nightwatch/nightwatch/globals.js b/jsx-router-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-vitest-nightwatch/package.json b/jsx-router-vitest-nightwatch/package.json index d51cbc3b..fb418ec7 100644 --- a/jsx-router-vitest-nightwatch/package.json +++ b/jsx-router-vitest-nightwatch/package.json @@ -2,30 +2,31 @@ "name": "jsx-router-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e" + "test:e2e": "nightwatch tests/e2e/*" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-vitest-nightwatch/src/assets/main.css b/jsx-router-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-vitest-nightwatch/src/assets/main.css +++ b/jsx-router-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-vitest-nightwatch/tests/e2e/example.js b/jsx-router-vitest-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/jsx-router-vitest-nightwatch/tests/e2e/example.js +++ b/jsx-router-vitest-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/jsx-router-vitest-playwright-nightwatch/.gitignore b/jsx-router-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/jsx-router-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/jsx-router-vitest-playwright-nightwatch/.vscode/extensions.json b/jsx-router-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/jsx-router-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/jsx-router-vitest-playwright-nightwatch/README.md b/jsx-router-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 62d347e7..00000000 --- a/jsx-router-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# jsx-router-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-router-vitest-playwright-nightwatch/e2e/vue.spec.js b/jsx-router-vitest-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-router-vitest-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-router-vitest-playwright-nightwatch/index.html b/jsx-router-vitest-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-router-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-router-vitest-playwright-nightwatch/nightwatch.conf.js b/jsx-router-vitest-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-router-vitest-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-router-vitest-playwright-nightwatch/nightwatch/globals.js b/jsx-router-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-router-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-router-vitest-playwright-nightwatch/package.json b/jsx-router-vitest-playwright-nightwatch/package.json deleted file mode 100644 index d707b7f5..00000000 --- a/jsx-router-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "jsx-router-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-router-vitest-playwright-nightwatch/playwright.config.js b/jsx-router-vitest-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-router-vitest-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-router-vitest-playwright-nightwatch/public/favicon.ico b/jsx-router-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-router-vitest-playwright-nightwatch/src/App.vue b/jsx-router-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/jsx-router-vitest-playwright-nightwatch/src/assets/base.css b/jsx-router-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-router-vitest-playwright-nightwatch/src/assets/logo.svg b/jsx-router-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-router-vitest-playwright-nightwatch/src/assets/main.css b/jsx-router-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/jsx-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/jsx-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/jsx-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/jsx-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-router-vitest-playwright-nightwatch/src/main.js b/jsx-router-vitest-playwright-nightwatch/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/jsx-router-vitest-playwright-nightwatch/src/router/index.js b/jsx-router-vitest-playwright-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/jsx-router-vitest-playwright-nightwatch/src/views/AboutView.vue b/jsx-router-vitest-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/jsx-router-vitest-playwright-nightwatch/src/views/HomeView.vue b/jsx-router-vitest-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/jsx-router-vitest-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/jsx-router-vitest-playwright-nightwatch/tests/e2e/example.js b/jsx-router-vitest-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-router-vitest-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-router-vitest-playwright-nightwatch/vite.config.js b/jsx-router-vitest-playwright-nightwatch/vite.config.js deleted file mode 100644 index 3a698823..00000000 --- a/jsx-router-vitest-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-router-vitest-playwright-nightwatch/vitest.config.js b/jsx-router-vitest-playwright-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-router-vitest-playwright-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-router-vitest-playwright/.gitignore b/jsx-router-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/jsx-router-vitest-playwright/.gitignore +++ b/jsx-router-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/jsx-router-vitest-playwright/e2e/vue.spec.js b/jsx-router-vitest-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/jsx-router-vitest-playwright/e2e/vue.spec.js +++ b/jsx-router-vitest-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/jsx-router-vitest-playwright/jsconfig.json b/jsx-router-vitest-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-vitest-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-vitest-playwright/package.json b/jsx-router-vitest-playwright/package.json index 4586612b..72ad8e27 100644 --- a/jsx-router-vitest-playwright/package.json +++ b/jsx-router-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,16 +11,16 @@ "test:e2e": "playwright test" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-vitest-playwright/playwright.config.js b/jsx-router-vitest-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/jsx-router-vitest-playwright/playwright.config.js +++ b/jsx-router-vitest-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/jsx-router-vitest-playwright/src/assets/main.css b/jsx-router-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-vitest-playwright/src/assets/main.css +++ b/jsx-router-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-vitest/.gitignore b/jsx-router-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router-vitest/.gitignore +++ b/jsx-router-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router-vitest/jsconfig.json b/jsx-router-vitest/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-vitest/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-vitest/package.json b/jsx-router-vitest/package.json index f79976d5..cc2eef79 100644 --- a/jsx-router-vitest/package.json +++ b/jsx-router-vitest/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,15 +10,15 @@ "test:unit": "vitest" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-vitest/src/assets/main.css b/jsx-router-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-vitest/src/assets/main.css +++ b/jsx-router-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router-with-tests/.gitignore b/jsx-router-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router-with-tests/.gitignore +++ b/jsx-router-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router-with-tests/cypress.config.js b/jsx-router-with-tests/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/jsx-router-with-tests/cypress.config.js +++ b/jsx-router-with-tests/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-router-with-tests/jsconfig.json b/jsx-router-with-tests/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router-with-tests/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router-with-tests/package.json b/jsx-router-with-tests/package.json index 4ae81fb6..a2f7a84a 100644 --- a/jsx-router-with-tests/package.json +++ b/jsx-router-with-tests/package.json @@ -2,6 +2,7 @@ "name": "jsx-router-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,17 +12,17 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-router-with-tests/src/assets/main.css b/jsx-router-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router-with-tests/src/assets/main.css +++ b/jsx-router-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-router/.gitignore b/jsx-router/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-router/.gitignore +++ b/jsx-router/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-router/jsconfig.json b/jsx-router/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-router/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-router/package.json b/jsx-router/package.json index 0c1a77b7..3dec5a17 100644 --- a/jsx-router/package.json +++ b/jsx-router/package.json @@ -2,18 +2,19 @@ "name": "jsx-router", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "vite": "^5.0.5" } } diff --git a/jsx-router/src/assets/main.css b/jsx-router/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-router/src/assets/main.css +++ b/jsx-router/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-vitest-cypress-nightwatch/.gitignore b/jsx-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/jsx-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/jsx-vitest-cypress-nightwatch/.vscode/extensions.json b/jsx-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/jsx-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/jsx-vitest-cypress-nightwatch/README.md b/jsx-vitest-cypress-nightwatch/README.md deleted file mode 100644 index f374254e..00000000 --- a/jsx-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# jsx-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/jsx-vitest-cypress-nightwatch/cypress.config.js b/jsx-vitest-cypress-nightwatch/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/jsx-vitest-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/jsx-vitest-cypress-nightwatch/cypress/e2e/example.cy.js b/jsx-vitest-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-vitest-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json b/jsx-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-vitest-cypress-nightwatch/cypress/fixtures/example.json b/jsx-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-vitest-cypress-nightwatch/cypress/support/commands.js b/jsx-vitest-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-vitest-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-vitest-cypress-nightwatch/cypress/support/e2e.js b/jsx-vitest-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-vitest-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-vitest-cypress-nightwatch/index.html b/jsx-vitest-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-vitest-cypress-nightwatch/nightwatch.conf.js b/jsx-vitest-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-vitest-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-vitest-cypress-nightwatch/nightwatch/globals.js b/jsx-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-vitest-cypress-nightwatch/package.json b/jsx-vitest-cypress-nightwatch/package.json deleted file mode 100644 index 56b835f5..00000000 --- a/jsx-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "jsx-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-vitest-cypress-nightwatch/public/favicon.ico b/jsx-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-vitest-cypress-nightwatch/src/App.vue b/jsx-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-vitest-cypress-nightwatch/src/assets/base.css b/jsx-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-vitest-cypress-nightwatch/src/assets/logo.svg b/jsx-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-vitest-cypress-nightwatch/src/assets/main.css b/jsx-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/jsx-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/jsx-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/jsx-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/jsx-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/jsx-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/jsx-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-vitest-cypress-nightwatch/src/main.js b/jsx-vitest-cypress-nightwatch/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/jsx-vitest-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/jsx-vitest-cypress-nightwatch/tests/e2e/example.js b/jsx-vitest-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-vitest-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-vitest-cypress-nightwatch/vite.config.js b/jsx-vitest-cypress-nightwatch/vite.config.js deleted file mode 100644 index 3a698823..00000000 --- a/jsx-vitest-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-vitest-cypress-nightwatch/vitest.config.js b/jsx-vitest-cypress-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-vitest-cypress-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-vitest-cypress-playwright/.gitignore b/jsx-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/jsx-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/jsx-vitest-cypress-playwright/.vscode/extensions.json b/jsx-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/jsx-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/jsx-vitest-cypress-playwright/README.md b/jsx-vitest-cypress-playwright/README.md deleted file mode 100644 index 35ed671a..00000000 --- a/jsx-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# jsx-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-vitest-cypress-playwright/cypress.config.js b/jsx-vitest-cypress-playwright/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/jsx-vitest-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/jsx-vitest-cypress-playwright/cypress/e2e/example.cy.js b/jsx-vitest-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/jsx-vitest-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/jsx-vitest-cypress-playwright/cypress/e2e/jsconfig.json b/jsx-vitest-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/jsx-vitest-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/jsx-vitest-cypress-playwright/cypress/fixtures/example.json b/jsx-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/jsx-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/jsx-vitest-cypress-playwright/cypress/support/commands.js b/jsx-vitest-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/jsx-vitest-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/jsx-vitest-cypress-playwright/cypress/support/e2e.js b/jsx-vitest-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/jsx-vitest-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/jsx-vitest-cypress-playwright/e2e/vue.spec.js b/jsx-vitest-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-vitest-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-vitest-cypress-playwright/index.html b/jsx-vitest-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-vitest-cypress-playwright/package.json b/jsx-vitest-cypress-playwright/package.json deleted file mode 100644 index ec8ebf0e..00000000 --- a/jsx-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "jsx-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" - } -} diff --git a/jsx-vitest-cypress-playwright/playwright.config.js b/jsx-vitest-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-vitest-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-vitest-cypress-playwright/public/favicon.ico b/jsx-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-vitest-cypress-playwright/src/App.vue b/jsx-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-vitest-cypress-playwright/src/assets/base.css b/jsx-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-vitest-cypress-playwright/src/assets/logo.svg b/jsx-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-vitest-cypress-playwright/src/assets/main.css b/jsx-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-vitest-cypress-playwright/src/components/HelloWorld.vue b/jsx-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-vitest-cypress-playwright/src/components/TheWelcome.vue b/jsx-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-vitest-cypress-playwright/src/components/WelcomeItem.vue b/jsx-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js b/jsx-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/jsx-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/jsx-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/jsx-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/jsx-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/jsx-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-vitest-cypress-playwright/src/main.js b/jsx-vitest-cypress-playwright/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/jsx-vitest-cypress-playwright/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/jsx-vitest-cypress-playwright/vite.config.js b/jsx-vitest-cypress-playwright/vite.config.js deleted file mode 100644 index 36c61875..00000000 --- a/jsx-vitest-cypress-playwright/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-vitest-cypress-playwright/vitest.config.js b/jsx-vitest-cypress-playwright/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-vitest-cypress-playwright/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-vitest-cypress/.gitignore b/jsx-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-vitest-cypress/.gitignore +++ b/jsx-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-vitest-cypress/cypress.config.js b/jsx-vitest-cypress/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/jsx-vitest-cypress/cypress.config.js +++ b/jsx-vitest-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-vitest-cypress/jsconfig.json b/jsx-vitest-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-vitest-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-vitest-cypress/package.json b/jsx-vitest-cypress/package.json index 0c6dc599..11148e85 100644 --- a/jsx-vitest-cypress/package.json +++ b/jsx-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "jsx-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,16 +12,16 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-vitest-cypress/src/assets/main.css b/jsx-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-vitest-cypress/src/assets/main.css +++ b/jsx-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-vitest-nightwatch/.gitignore b/jsx-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/jsx-vitest-nightwatch/.gitignore +++ b/jsx-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/jsx-vitest-nightwatch/jsconfig.json b/jsx-vitest-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-vitest-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-vitest-nightwatch/nightwatch.conf.js b/jsx-vitest-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/jsx-vitest-nightwatch/nightwatch.conf.js +++ b/jsx-vitest-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/jsx-vitest-nightwatch/nightwatch/globals.js b/jsx-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-vitest-nightwatch/package.json b/jsx-vitest-nightwatch/package.json index 66c5cdf3..aa7ae0aa 100644 --- a/jsx-vitest-nightwatch/package.json +++ b/jsx-vitest-nightwatch/package.json @@ -2,29 +2,30 @@ "name": "jsx-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e" + "test:e2e": "nightwatch tests/e2e/*" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1" } } diff --git a/jsx-vitest-nightwatch/src/assets/main.css b/jsx-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-vitest-nightwatch/src/assets/main.css +++ b/jsx-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-vitest-nightwatch/tests/e2e/example.js b/jsx-vitest-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/jsx-vitest-nightwatch/tests/e2e/example.js +++ b/jsx-vitest-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/jsx-vitest-playwright-nightwatch/.gitignore b/jsx-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/jsx-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/jsx-vitest-playwright-nightwatch/.vscode/extensions.json b/jsx-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/jsx-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/jsx-vitest-playwright-nightwatch/README.md b/jsx-vitest-playwright-nightwatch/README.md deleted file mode 100644 index d4bfa1be..00000000 --- a/jsx-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# jsx-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/jsx-vitest-playwright-nightwatch/e2e/vue.spec.js b/jsx-vitest-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/jsx-vitest-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/jsx-vitest-playwright-nightwatch/index.html b/jsx-vitest-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/jsx-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/jsx-vitest-playwright-nightwatch/nightwatch.conf.js b/jsx-vitest-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/jsx-vitest-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/jsx-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/jsx-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/jsx-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/jsx-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/jsx-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/jsx-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/jsx-vitest-playwright-nightwatch/nightwatch/globals.js b/jsx-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/jsx-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/jsx-vitest-playwright-nightwatch/package.json b/jsx-vitest-playwright-nightwatch/package.json deleted file mode 100644 index 4dc187d1..00000000 --- a/jsx-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "jsx-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/jsx-vitest-playwright-nightwatch/playwright.config.js b/jsx-vitest-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/jsx-vitest-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/jsx-vitest-playwright-nightwatch/public/favicon.ico b/jsx-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/jsx-vitest-playwright-nightwatch/src/App.vue b/jsx-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/jsx-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/jsx-vitest-playwright-nightwatch/src/assets/base.css b/jsx-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/jsx-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/jsx-vitest-playwright-nightwatch/src/assets/logo.svg b/jsx-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/jsx-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/jsx-vitest-playwright-nightwatch/src/assets/main.css b/jsx-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/jsx-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/jsx-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/jsx-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/jsx-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/jsx-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/jsx-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/jsx-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/jsx-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/jsx-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/jsx-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/jsx-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/jsx-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/jsx-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/jsx-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/jsx-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/jsx-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/jsx-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/jsx-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/jsx-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/jsx-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/jsx-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/jsx-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/jsx-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/jsx-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/jsx-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/jsx-vitest-playwright-nightwatch/src/main.js b/jsx-vitest-playwright-nightwatch/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/jsx-vitest-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/jsx-vitest-playwright-nightwatch/tests/e2e/example.js b/jsx-vitest-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/jsx-vitest-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/jsx-vitest-playwright-nightwatch/vite.config.js b/jsx-vitest-playwright-nightwatch/vite.config.js deleted file mode 100644 index 3a698823..00000000 --- a/jsx-vitest-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/jsx-vitest-playwright-nightwatch/vitest.config.js b/jsx-vitest-playwright-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/jsx-vitest-playwright-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/jsx-vitest-playwright/.gitignore b/jsx-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/jsx-vitest-playwright/.gitignore +++ b/jsx-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/jsx-vitest-playwright/e2e/vue.spec.js b/jsx-vitest-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/jsx-vitest-playwright/e2e/vue.spec.js +++ b/jsx-vitest-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/jsx-vitest-playwright/jsconfig.json b/jsx-vitest-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-vitest-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-vitest-playwright/package.json b/jsx-vitest-playwright/package.json index b690659c..aebe7b26 100644 --- a/jsx-vitest-playwright/package.json +++ b/jsx-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "jsx-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,15 +11,15 @@ "test:e2e": "playwright test" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-vitest-playwright/playwright.config.js b/jsx-vitest-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/jsx-vitest-playwright/playwright.config.js +++ b/jsx-vitest-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/jsx-vitest-playwright/src/assets/main.css b/jsx-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-vitest-playwright/src/assets/main.css +++ b/jsx-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-vitest/.gitignore b/jsx-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-vitest/.gitignore +++ b/jsx-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-vitest/jsconfig.json b/jsx-vitest/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-vitest/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-vitest/package.json b/jsx-vitest/package.json index 0623666f..e18c99db 100644 --- a/jsx-vitest/package.json +++ b/jsx-vitest/package.json @@ -2,6 +2,7 @@ "name": "jsx-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,14 +10,14 @@ "test:unit": "vitest" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-vitest/src/assets/main.css b/jsx-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-vitest/src/assets/main.css +++ b/jsx-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx-with-tests/.gitignore b/jsx-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx-with-tests/.gitignore +++ b/jsx-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx-with-tests/cypress.config.js b/jsx-with-tests/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/jsx-with-tests/cypress.config.js +++ b/jsx-with-tests/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/jsx-with-tests/jsconfig.json b/jsx-with-tests/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx-with-tests/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx-with-tests/package.json b/jsx-with-tests/package.json index 84ea1ecf..dc9bcbe2 100644 --- a/jsx-with-tests/package.json +++ b/jsx-with-tests/package.json @@ -2,6 +2,7 @@ "name": "jsx-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,16 +12,16 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/jsx-with-tests/src/assets/main.css b/jsx-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx-with-tests/src/assets/main.css +++ b/jsx-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/jsx/.gitignore b/jsx/.gitignore index 38adffa6..8ee54e8d 100644 --- a/jsx/.gitignore +++ b/jsx/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/jsx/jsconfig.json b/jsx/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/jsx/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/jsx/package.json b/jsx/package.json index 5cf17cf0..0add463c 100644 --- a/jsx/package.json +++ b/jsx/package.json @@ -2,17 +2,18 @@ "name": "jsx", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "vite": "^5.0.5" } } diff --git a/jsx/src/assets/main.css b/jsx/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/jsx/src/assets/main.css +++ b/jsx/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/nightwatch/.gitignore b/nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/nightwatch/.gitignore +++ b/nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/nightwatch/jsconfig.json b/nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/nightwatch/nightwatch.conf.js b/nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/nightwatch/nightwatch.conf.js +++ b/nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/nightwatch/nightwatch/globals.js b/nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/nightwatch/package.json b/nightwatch/package.json index 9d71b19b..41f72aa9 100644 --- a/nightwatch/package.json +++ b/nightwatch/package.json @@ -2,25 +2,27 @@ "name": "nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*" + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5" } } diff --git a/nightwatch/src/assets/main.css b/nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/nightwatch/src/assets/main.css +++ b/nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/nightwatch/tests/e2e/example.js b/nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/nightwatch/tests/e2e/example.js +++ b/nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/pinia-cypress-nightwatch/.gitignore b/pinia-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/pinia-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/pinia-cypress-nightwatch/.vscode/extensions.json b/pinia-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/pinia-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/pinia-cypress-nightwatch/README.md b/pinia-cypress-nightwatch/README.md deleted file mode 100644 index 4513896f..00000000 --- a/pinia-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# pinia-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/pinia-cypress-nightwatch/cypress.config.js b/pinia-cypress-nightwatch/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/pinia-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/pinia-cypress-nightwatch/cypress/e2e/example.cy.js b/pinia-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/pinia-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/pinia-cypress-nightwatch/cypress/e2e/jsconfig.json b/pinia-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/pinia-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/pinia-cypress-nightwatch/cypress/fixtures/example.json b/pinia-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/pinia-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/pinia-cypress-nightwatch/cypress/support/commands.js b/pinia-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/pinia-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/pinia-cypress-nightwatch/cypress/support/component-index.html b/pinia-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/pinia-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/pinia-cypress-nightwatch/cypress/support/component.js b/pinia-cypress-nightwatch/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/pinia-cypress-nightwatch/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/pinia-cypress-nightwatch/cypress/support/e2e.js b/pinia-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/pinia-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/pinia-cypress-nightwatch/index.html b/pinia-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/pinia-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/pinia-cypress-nightwatch/nightwatch.conf.js b/pinia-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/pinia-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/pinia-cypress-nightwatch/nightwatch/globals.js b/pinia-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/pinia-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/pinia-cypress-nightwatch/nightwatch/index.html b/pinia-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/pinia-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/pinia-cypress-nightwatch/package.json b/pinia-cypress-nightwatch/package.json deleted file mode 100644 index ee208153..00000000 --- a/pinia-cypress-nightwatch/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "pinia-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/pinia-cypress-nightwatch/public/favicon.ico b/pinia-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/pinia-cypress-nightwatch/src/App.vue b/pinia-cypress-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/pinia-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/pinia-cypress-nightwatch/src/assets/base.css b/pinia-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/pinia-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/pinia-cypress-nightwatch/src/assets/logo.svg b/pinia-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/pinia-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pinia-cypress-nightwatch/src/assets/main.css b/pinia-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/pinia-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/pinia-cypress-nightwatch/src/components/HelloWorld.vue b/pinia-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/pinia-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/pinia-cypress-nightwatch/src/components/TheWelcome.vue b/pinia-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/pinia-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/pinia-cypress-nightwatch/src/components/WelcomeItem.vue b/pinia-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/pinia-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js b/pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue b/pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-cypress-nightwatch/src/components/icons/IconSupport.vue b/pinia-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/pinia-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-cypress-nightwatch/src/components/icons/IconTooling.vue b/pinia-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/pinia-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/pinia-cypress-nightwatch/src/main.js b/pinia-cypress-nightwatch/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/pinia-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/pinia-cypress-nightwatch/src/stores/counter.js b/pinia-cypress-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/pinia-cypress-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/pinia-cypress-nightwatch/tests/e2e/example.js b/pinia-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/pinia-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/pinia-cypress-nightwatch/vite.config.js b/pinia-cypress-nightwatch/vite.config.js deleted file mode 100644 index fd83c5b2..00000000 --- a/pinia-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/pinia-cypress-playwright/.gitignore b/pinia-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/pinia-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/pinia-cypress-playwright/.vscode/extensions.json b/pinia-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/pinia-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/pinia-cypress-playwright/README.md b/pinia-cypress-playwright/README.md deleted file mode 100644 index 0dd97b86..00000000 --- a/pinia-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# pinia-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/pinia-cypress-playwright/cypress.config.js b/pinia-cypress-playwright/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/pinia-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/pinia-cypress-playwright/cypress/e2e/example.cy.js b/pinia-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/pinia-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/pinia-cypress-playwright/cypress/e2e/jsconfig.json b/pinia-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/pinia-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/pinia-cypress-playwright/cypress/fixtures/example.json b/pinia-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/pinia-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/pinia-cypress-playwright/cypress/support/commands.js b/pinia-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/pinia-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/pinia-cypress-playwright/cypress/support/component-index.html b/pinia-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/pinia-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/pinia-cypress-playwright/cypress/support/component.js b/pinia-cypress-playwright/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/pinia-cypress-playwright/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/pinia-cypress-playwright/cypress/support/e2e.js b/pinia-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/pinia-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/pinia-cypress-playwright/e2e/vue.spec.js b/pinia-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/pinia-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/pinia-cypress-playwright/index.html b/pinia-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/pinia-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/pinia-cypress-playwright/package.json b/pinia-cypress-playwright/package.json deleted file mode 100644 index d24253e3..00000000 --- a/pinia-cypress-playwright/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "pinia-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" - } -} diff --git a/pinia-cypress-playwright/playwright.config.js b/pinia-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/pinia-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/pinia-cypress-playwright/public/favicon.ico b/pinia-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/pinia-cypress-playwright/src/App.vue b/pinia-cypress-playwright/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/pinia-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/pinia-cypress-playwright/src/assets/base.css b/pinia-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/pinia-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/pinia-cypress-playwright/src/assets/logo.svg b/pinia-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/pinia-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pinia-cypress-playwright/src/assets/main.css b/pinia-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/pinia-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/pinia-cypress-playwright/src/components/HelloWorld.vue b/pinia-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/pinia-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/pinia-cypress-playwright/src/components/TheWelcome.vue b/pinia-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/pinia-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/pinia-cypress-playwright/src/components/WelcomeItem.vue b/pinia-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/pinia-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js b/pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/pinia-cypress-playwright/src/components/icons/IconCommunity.vue b/pinia-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/pinia-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-cypress-playwright/src/components/icons/IconDocumentation.vue b/pinia-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/pinia-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-cypress-playwright/src/components/icons/IconEcosystem.vue b/pinia-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/pinia-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-cypress-playwright/src/components/icons/IconSupport.vue b/pinia-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/pinia-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-cypress-playwright/src/components/icons/IconTooling.vue b/pinia-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/pinia-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/pinia-cypress-playwright/src/main.js b/pinia-cypress-playwright/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/pinia-cypress-playwright/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/pinia-cypress-playwright/src/stores/counter.js b/pinia-cypress-playwright/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/pinia-cypress-playwright/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/pinia-cypress-playwright/vite.config.js b/pinia-cypress-playwright/vite.config.js deleted file mode 100644 index 5c45e1d9..00000000 --- a/pinia-cypress-playwright/vite.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/pinia-cypress/.gitignore b/pinia-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/pinia-cypress/.gitignore +++ b/pinia-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/pinia-cypress/cypress.config.js b/pinia-cypress/cypress.config.js index c3aba743..c8fac129 100644 --- a/pinia-cypress/cypress.config.js +++ b/pinia-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/pinia-cypress/jsconfig.json b/pinia-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/pinia-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pinia-cypress/package.json b/pinia-cypress/package.json index 00b55566..d304a7ae 100644 --- a/pinia-cypress/package.json +++ b/pinia-cypress/package.json @@ -2,6 +2,7 @@ "name": "pinia-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -13,12 +14,12 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "cypress": "^13.6.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5" } } diff --git a/pinia-cypress/src/assets/main.css b/pinia-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/pinia-cypress/src/assets/main.css +++ b/pinia-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/pinia-nightwatch/.gitignore b/pinia-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/pinia-nightwatch/.gitignore +++ b/pinia-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/pinia-nightwatch/jsconfig.json b/pinia-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/pinia-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pinia-nightwatch/nightwatch.conf.js b/pinia-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/pinia-nightwatch/nightwatch.conf.js +++ b/pinia-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/pinia-nightwatch/nightwatch/globals.js b/pinia-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/pinia-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/pinia-nightwatch/package.json b/pinia-nightwatch/package.json index 4c1ca913..270fea40 100644 --- a/pinia-nightwatch/package.json +++ b/pinia-nightwatch/package.json @@ -2,26 +2,28 @@ "name": "pinia-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*" + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5" } } diff --git a/pinia-nightwatch/src/assets/main.css b/pinia-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/pinia-nightwatch/src/assets/main.css +++ b/pinia-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/pinia-nightwatch/tests/e2e/example.js b/pinia-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/pinia-nightwatch/tests/e2e/example.js +++ b/pinia-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/pinia-playwright-nightwatch/.gitignore b/pinia-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/pinia-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/pinia-playwright-nightwatch/.vscode/extensions.json b/pinia-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/pinia-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/pinia-playwright-nightwatch/README.md b/pinia-playwright-nightwatch/README.md deleted file mode 100644 index 298e5cdf..00000000 --- a/pinia-playwright-nightwatch/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# pinia-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/pinia-playwright-nightwatch/e2e/vue.spec.js b/pinia-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/pinia-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/pinia-playwright-nightwatch/index.html b/pinia-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/pinia-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/pinia-playwright-nightwatch/nightwatch.conf.js b/pinia-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/pinia-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/pinia-playwright-nightwatch/nightwatch/globals.js b/pinia-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/pinia-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/pinia-playwright-nightwatch/nightwatch/index.html b/pinia-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/pinia-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/pinia-playwright-nightwatch/package.json b/pinia-playwright-nightwatch/package.json deleted file mode 100644 index ff86f01f..00000000 --- a/pinia-playwright-nightwatch/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "pinia-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/pinia-playwright-nightwatch/playwright.config.js b/pinia-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/pinia-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/pinia-playwright-nightwatch/public/favicon.ico b/pinia-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/pinia-playwright-nightwatch/src/App.vue b/pinia-playwright-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/pinia-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/pinia-playwright-nightwatch/src/assets/base.css b/pinia-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/pinia-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/pinia-playwright-nightwatch/src/assets/logo.svg b/pinia-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/pinia-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pinia-playwright-nightwatch/src/assets/main.css b/pinia-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/pinia-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/pinia-playwright-nightwatch/src/components/HelloWorld.vue b/pinia-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/pinia-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/pinia-playwright-nightwatch/src/components/TheWelcome.vue b/pinia-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/pinia-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/pinia-playwright-nightwatch/src/components/WelcomeItem.vue b/pinia-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/pinia-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue b/pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-playwright-nightwatch/src/components/icons/IconSupport.vue b/pinia-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/pinia-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-playwright-nightwatch/src/components/icons/IconTooling.vue b/pinia-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/pinia-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/pinia-playwright-nightwatch/src/main.js b/pinia-playwright-nightwatch/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/pinia-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/pinia-playwright-nightwatch/src/stores/counter.js b/pinia-playwright-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/pinia-playwright-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/pinia-playwright-nightwatch/tests/e2e/example.js b/pinia-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/pinia-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/pinia-playwright-nightwatch/vite.config.js b/pinia-playwright-nightwatch/vite.config.js deleted file mode 100644 index fd83c5b2..00000000 --- a/pinia-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/pinia-playwright/.gitignore b/pinia-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/pinia-playwright/.gitignore +++ b/pinia-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/pinia-playwright/e2e/vue.spec.js b/pinia-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/pinia-playwright/e2e/vue.spec.js +++ b/pinia-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/pinia-playwright/jsconfig.json b/pinia-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/pinia-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pinia-playwright/package.json b/pinia-playwright/package.json index 2c70bc31..b5c30ac3 100644 --- a/pinia-playwright/package.json +++ b/pinia-playwright/package.json @@ -2,6 +2,7 @@ "name": "pinia-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,11 +11,11 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "vite": "^4.4.11" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "vite": "^5.0.5" } } diff --git a/pinia-playwright/playwright.config.js b/pinia-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/pinia-playwright/playwright.config.js +++ b/pinia-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/pinia-playwright/src/assets/main.css b/pinia-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/pinia-playwright/src/assets/main.css +++ b/pinia-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/pinia-vitest-cypress-nightwatch/.gitignore b/pinia-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/pinia-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/pinia-vitest-cypress-nightwatch/.vscode/extensions.json b/pinia-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/pinia-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/pinia-vitest-cypress-nightwatch/README.md b/pinia-vitest-cypress-nightwatch/README.md deleted file mode 100644 index 6d0aa791..00000000 --- a/pinia-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# pinia-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/pinia-vitest-cypress-nightwatch/cypress.config.js b/pinia-vitest-cypress-nightwatch/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/pinia-vitest-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js b/pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json b/pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json b/pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/pinia-vitest-cypress-nightwatch/cypress/support/commands.js b/pinia-vitest-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/pinia-vitest-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/pinia-vitest-cypress-nightwatch/cypress/support/e2e.js b/pinia-vitest-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/pinia-vitest-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/pinia-vitest-cypress-nightwatch/index.html b/pinia-vitest-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/pinia-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/pinia-vitest-cypress-nightwatch/nightwatch.conf.js b/pinia-vitest-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/pinia-vitest-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/pinia-vitest-cypress-nightwatch/nightwatch/globals.js b/pinia-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/pinia-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/pinia-vitest-cypress-nightwatch/package.json b/pinia-vitest-cypress-nightwatch/package.json deleted file mode 100644 index 3712c9cf..00000000 --- a/pinia-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "pinia-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/pinia-vitest-cypress-nightwatch/public/favicon.ico b/pinia-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/pinia-vitest-cypress-nightwatch/src/App.vue b/pinia-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/pinia-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/pinia-vitest-cypress-nightwatch/src/assets/base.css b/pinia-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/pinia-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/pinia-vitest-cypress-nightwatch/src/assets/logo.svg b/pinia-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/pinia-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pinia-vitest-cypress-nightwatch/src/assets/main.css b/pinia-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/pinia-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/pinia-vitest-cypress-nightwatch/src/main.js b/pinia-vitest-cypress-nightwatch/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/pinia-vitest-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/pinia-vitest-cypress-nightwatch/src/stores/counter.js b/pinia-vitest-cypress-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/pinia-vitest-cypress-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/pinia-vitest-cypress-nightwatch/tests/e2e/example.js b/pinia-vitest-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/pinia-vitest-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/pinia-vitest-cypress-nightwatch/vite.config.js b/pinia-vitest-cypress-nightwatch/vite.config.js deleted file mode 100644 index be3cb9c5..00000000 --- a/pinia-vitest-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/pinia-vitest-cypress-nightwatch/vitest.config.js b/pinia-vitest-cypress-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/pinia-vitest-cypress-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/pinia-vitest-cypress-playwright/.gitignore b/pinia-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/pinia-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/pinia-vitest-cypress-playwright/.vscode/extensions.json b/pinia-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/pinia-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/pinia-vitest-cypress-playwright/README.md b/pinia-vitest-cypress-playwright/README.md deleted file mode 100644 index 89c80dcf..00000000 --- a/pinia-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# pinia-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/pinia-vitest-cypress-playwright/cypress.config.js b/pinia-vitest-cypress-playwright/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/pinia-vitest-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js b/pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json b/pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/pinia-vitest-cypress-playwright/cypress/fixtures/example.json b/pinia-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/pinia-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/pinia-vitest-cypress-playwright/cypress/support/commands.js b/pinia-vitest-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/pinia-vitest-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/pinia-vitest-cypress-playwright/cypress/support/e2e.js b/pinia-vitest-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/pinia-vitest-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/pinia-vitest-cypress-playwright/e2e/vue.spec.js b/pinia-vitest-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/pinia-vitest-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/pinia-vitest-cypress-playwright/index.html b/pinia-vitest-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/pinia-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/pinia-vitest-cypress-playwright/package.json b/pinia-vitest-cypress-playwright/package.json deleted file mode 100644 index 7e3d78d2..00000000 --- a/pinia-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "pinia-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" - } -} diff --git a/pinia-vitest-cypress-playwright/playwright.config.js b/pinia-vitest-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/pinia-vitest-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/pinia-vitest-cypress-playwright/public/favicon.ico b/pinia-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/pinia-vitest-cypress-playwright/src/App.vue b/pinia-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/pinia-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/pinia-vitest-cypress-playwright/src/assets/base.css b/pinia-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/pinia-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/pinia-vitest-cypress-playwright/src/assets/logo.svg b/pinia-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/pinia-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pinia-vitest-cypress-playwright/src/assets/main.css b/pinia-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/pinia-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/pinia-vitest-cypress-playwright/src/components/HelloWorld.vue b/pinia-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/pinia-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/pinia-vitest-cypress-playwright/src/components/TheWelcome.vue b/pinia-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/pinia-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue b/pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js b/pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/pinia-vitest-cypress-playwright/src/main.js b/pinia-vitest-cypress-playwright/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/pinia-vitest-cypress-playwright/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/pinia-vitest-cypress-playwright/src/stores/counter.js b/pinia-vitest-cypress-playwright/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/pinia-vitest-cypress-playwright/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/pinia-vitest-cypress-playwright/vite.config.js b/pinia-vitest-cypress-playwright/vite.config.js deleted file mode 100644 index 5c45e1d9..00000000 --- a/pinia-vitest-cypress-playwright/vite.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/pinia-vitest-cypress-playwright/vitest.config.js b/pinia-vitest-cypress-playwright/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/pinia-vitest-cypress-playwright/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/pinia-vitest-cypress/.gitignore b/pinia-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/pinia-vitest-cypress/.gitignore +++ b/pinia-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/pinia-vitest-cypress/cypress.config.js b/pinia-vitest-cypress/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/pinia-vitest-cypress/cypress.config.js +++ b/pinia-vitest-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/pinia-vitest-cypress/jsconfig.json b/pinia-vitest-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/pinia-vitest-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pinia-vitest-cypress/package.json b/pinia-vitest-cypress/package.json index 4e97ab8b..8809cbef 100644 --- a/pinia-vitest-cypress/package.json +++ b/pinia-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "pinia-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,15 +13,15 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/pinia-vitest-cypress/src/assets/main.css b/pinia-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/pinia-vitest-cypress/src/assets/main.css +++ b/pinia-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/pinia-vitest-nightwatch/.gitignore b/pinia-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/pinia-vitest-nightwatch/.gitignore +++ b/pinia-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/pinia-vitest-nightwatch/jsconfig.json b/pinia-vitest-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/pinia-vitest-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pinia-vitest-nightwatch/nightwatch.conf.js b/pinia-vitest-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/pinia-vitest-nightwatch/nightwatch.conf.js +++ b/pinia-vitest-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/pinia-vitest-nightwatch/nightwatch/globals.js b/pinia-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/pinia-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/pinia-vitest-nightwatch/package.json b/pinia-vitest-nightwatch/package.json index 7064e05b..c5d9d7be 100644 --- a/pinia-vitest-nightwatch/package.json +++ b/pinia-vitest-nightwatch/package.json @@ -2,29 +2,30 @@ "name": "pinia-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e" + "test:e2e": "nightwatch tests/e2e/*" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1" } } diff --git a/pinia-vitest-nightwatch/src/assets/main.css b/pinia-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/pinia-vitest-nightwatch/src/assets/main.css +++ b/pinia-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/pinia-vitest-nightwatch/tests/e2e/example.js b/pinia-vitest-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/pinia-vitest-nightwatch/tests/e2e/example.js +++ b/pinia-vitest-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/pinia-vitest-playwright-nightwatch/.gitignore b/pinia-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/pinia-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/pinia-vitest-playwright-nightwatch/.vscode/extensions.json b/pinia-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/pinia-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/pinia-vitest-playwright-nightwatch/README.md b/pinia-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 0da934f8..00000000 --- a/pinia-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# pinia-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/pinia-vitest-playwright-nightwatch/e2e/vue.spec.js b/pinia-vitest-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/pinia-vitest-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/pinia-vitest-playwright-nightwatch/index.html b/pinia-vitest-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/pinia-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/pinia-vitest-playwright-nightwatch/nightwatch.conf.js b/pinia-vitest-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/pinia-vitest-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/pinia-vitest-playwright-nightwatch/nightwatch/globals.js b/pinia-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/pinia-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/pinia-vitest-playwright-nightwatch/package.json b/pinia-vitest-playwright-nightwatch/package.json deleted file mode 100644 index 8e2c2619..00000000 --- a/pinia-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "pinia-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/pinia-vitest-playwright-nightwatch/playwright.config.js b/pinia-vitest-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/pinia-vitest-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/pinia-vitest-playwright-nightwatch/public/favicon.ico b/pinia-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/pinia-vitest-playwright-nightwatch/src/App.vue b/pinia-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/pinia-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/pinia-vitest-playwright-nightwatch/src/assets/base.css b/pinia-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/pinia-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/pinia-vitest-playwright-nightwatch/src/assets/logo.svg b/pinia-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/pinia-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/pinia-vitest-playwright-nightwatch/src/assets/main.css b/pinia-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/pinia-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/pinia-vitest-playwright-nightwatch/src/main.js b/pinia-vitest-playwright-nightwatch/src/main.js deleted file mode 100644 index 48dad431..00000000 --- a/pinia-vitest-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/pinia-vitest-playwright-nightwatch/src/stores/counter.js b/pinia-vitest-playwright-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/pinia-vitest-playwright-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/pinia-vitest-playwright-nightwatch/tests/e2e/example.js b/pinia-vitest-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/pinia-vitest-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/pinia-vitest-playwright-nightwatch/vite.config.js b/pinia-vitest-playwright-nightwatch/vite.config.js deleted file mode 100644 index be3cb9c5..00000000 --- a/pinia-vitest-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/pinia-vitest-playwright-nightwatch/vitest.config.js b/pinia-vitest-playwright-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/pinia-vitest-playwright-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/pinia-vitest-playwright/.gitignore b/pinia-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/pinia-vitest-playwright/.gitignore +++ b/pinia-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/pinia-vitest-playwright/e2e/vue.spec.js b/pinia-vitest-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/pinia-vitest-playwright/e2e/vue.spec.js +++ b/pinia-vitest-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/pinia-vitest-playwright/jsconfig.json b/pinia-vitest-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/pinia-vitest-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pinia-vitest-playwright/package.json b/pinia-vitest-playwright/package.json index ee685b11..8a328d34 100644 --- a/pinia-vitest-playwright/package.json +++ b/pinia-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "pinia-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,14 +12,14 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/pinia-vitest-playwright/playwright.config.js b/pinia-vitest-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/pinia-vitest-playwright/playwright.config.js +++ b/pinia-vitest-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/pinia-vitest-playwright/src/assets/main.css b/pinia-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/pinia-vitest-playwright/src/assets/main.css +++ b/pinia-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/pinia-vitest/.gitignore b/pinia-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/pinia-vitest/.gitignore +++ b/pinia-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/pinia-vitest/jsconfig.json b/pinia-vitest/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/pinia-vitest/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pinia-vitest/package.json b/pinia-vitest/package.json index 9e5fd22c..93bdf590 100644 --- a/pinia-vitest/package.json +++ b/pinia-vitest/package.json @@ -2,6 +2,7 @@ "name": "pinia-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,13 +11,13 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/pinia-vitest/src/assets/main.css b/pinia-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/pinia-vitest/src/assets/main.css +++ b/pinia-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/pinia-with-tests/.gitignore b/pinia-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/pinia-with-tests/.gitignore +++ b/pinia-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/pinia-with-tests/cypress.config.js b/pinia-with-tests/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/pinia-with-tests/cypress.config.js +++ b/pinia-with-tests/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/pinia-with-tests/jsconfig.json b/pinia-with-tests/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/pinia-with-tests/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pinia-with-tests/package.json b/pinia-with-tests/package.json index 7cc9d910..930c03d0 100644 --- a/pinia-with-tests/package.json +++ b/pinia-with-tests/package.json @@ -2,6 +2,7 @@ "name": "pinia-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,15 +13,15 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/pinia-with-tests/src/assets/main.css b/pinia-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/pinia-with-tests/src/assets/main.css +++ b/pinia-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/pinia/.gitignore b/pinia/.gitignore index 38adffa6..8ee54e8d 100644 --- a/pinia/.gitignore +++ b/pinia/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/pinia/jsconfig.json b/pinia/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/pinia/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/pinia/package.json b/pinia/package.json index 87b4537a..a7251d94 100644 --- a/pinia/package.json +++ b/pinia/package.json @@ -2,6 +2,7 @@ "name": "pinia", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,10 +10,10 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "vite": "^5.0.5" } } diff --git a/pinia/src/assets/main.css b/pinia/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/pinia/src/assets/main.css +++ b/pinia/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/playwright-nightwatch/.gitignore b/playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/playwright-nightwatch/.vscode/extensions.json b/playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/playwright-nightwatch/README.md b/playwright-nightwatch/README.md deleted file mode 100644 index 4f330032..00000000 --- a/playwright-nightwatch/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/playwright-nightwatch/e2e/vue.spec.js b/playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/playwright-nightwatch/index.html b/playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/playwright-nightwatch/nightwatch.conf.js b/playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/playwright-nightwatch/nightwatch/globals.js b/playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/playwright-nightwatch/nightwatch/index.html b/playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/playwright-nightwatch/package.json b/playwright-nightwatch/package.json deleted file mode 100644 index 72507b63..00000000 --- a/playwright-nightwatch/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/playwright-nightwatch/playwright.config.js b/playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/playwright-nightwatch/public/favicon.ico b/playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/playwright-nightwatch/src/App.vue b/playwright-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/playwright-nightwatch/src/assets/base.css b/playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/playwright-nightwatch/src/assets/logo.svg b/playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/playwright-nightwatch/src/assets/main.css b/playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/playwright-nightwatch/src/components/HelloWorld.vue b/playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/playwright-nightwatch/src/components/TheWelcome.vue b/playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/playwright-nightwatch/src/components/WelcomeItem.vue b/playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/playwright-nightwatch/src/components/icons/IconCommunity.vue b/playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/playwright-nightwatch/src/components/icons/IconDocumentation.vue b/playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/playwright-nightwatch/src/components/icons/IconEcosystem.vue b/playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/playwright-nightwatch/src/components/icons/IconSupport.vue b/playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/playwright-nightwatch/src/components/icons/IconTooling.vue b/playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/playwright-nightwatch/src/main.js b/playwright-nightwatch/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/playwright-nightwatch/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/playwright-nightwatch/tests/e2e/example.js b/playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/playwright-nightwatch/vite.config.js b/playwright-nightwatch/vite.config.js deleted file mode 100644 index fd83c5b2..00000000 --- a/playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/playwright/.gitignore b/playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/playwright/.gitignore +++ b/playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/playwright/e2e/vue.spec.js b/playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/playwright/e2e/vue.spec.js +++ b/playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/playwright/jsconfig.json b/playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/playwright/package.json b/playwright/package.json index 6f180948..19121f63 100644 --- a/playwright/package.json +++ b/playwright/package.json @@ -2,6 +2,7 @@ "name": "playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,11 +10,11 @@ "test:e2e": "playwright test" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "vite": "^4.4.11" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "vite": "^5.0.5" } } diff --git a/playwright/playwright.config.js b/playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/playwright/playwright.config.js +++ b/playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/playwright/src/assets/main.css b/playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/playwright/src/assets/main.css +++ b/playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c6232bc..8b811379 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7479 +9,2749 @@ importers: cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - cypress-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - cypress-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) default: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - jsx-cypress-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - jsx-cypress-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) jsx-pinia: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx-pinia-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - jsx-pinia-cypress-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - jsx-pinia-cypress-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx-pinia-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) jsx-pinia-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - jsx-pinia-playwright-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx-pinia-vitest: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) jsx-pinia-vitest-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - jsx-pinia-vitest-cypress-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - jsx-pinia-vitest-cypress-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) jsx-pinia-vitest-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) jsx-pinia-vitest-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - jsx-pinia-vitest-playwright-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) jsx-pinia-with-tests: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) jsx-playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - jsx-playwright-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx-router: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx-router-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - jsx-router-cypress-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - jsx-router-cypress-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx-router-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) jsx-router-pinia: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) jsx-router-pinia-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - jsx-router-pinia-cypress-nightwatch: + jsx-router-pinia-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) - jsx-router-pinia-cypress-playwright: + jsx-router-pinia-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - jsx-router-pinia-nightwatch: + jsx-router-pinia-vitest: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) + jsdom: + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-playwright: + jsx-router-pinia-vitest-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) + cypress: + specifier: ^13.6.1 + version: 13.6.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-playwright-nightwatch: + jsx-router-pinia-vitest-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-vitest: + jsx-router-pinia-vitest-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-vitest-cypress: + jsx-router-pinia-with-tests: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-vitest-cypress-nightwatch: + jsx-router-playwright: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) + devDependencies: + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 + '@vitejs/plugin-vue': + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + vite: + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + + jsx-router-vitest: + dependencies: + vue: + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-vitest-cypress-playwright: + jsx-router-vitest-cypress: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-vitest-nightwatch: + jsx-router-vitest-nightwatch: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-vitest-playwright: + jsx-router-vitest-playwright: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-vitest-playwright-nightwatch: + jsx-router-with-tests: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) + cypress: + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^23.0.1 + version: 23.0.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-pinia-with-tests: + jsx-vitest: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-playwright: + jsx-vitest-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) + cypress: + specifier: ^13.6.1 + version: 13.6.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-playwright-nightwatch: + jsx-vitest-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-vitest: + jsx-vitest-playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-vitest-cypress: + jsx-with-tests: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-router-vitest-cypress-nightwatch: + nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - jsx-router-vitest-cypress-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) - jsx-router-vitest-nightwatch: + pinia: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - jsx-router-vitest-playwright: + pinia-cypress: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + cypress: + specifier: ^13.6.1 + version: 13.6.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - jsx-router-vitest-playwright-nightwatch: + pinia-nightwatch: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) - jsx-router-with-tests: + pinia-playwright: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - jsx-vitest: + pinia-vitest: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-vitest-cypress: + pinia-vitest-cypress: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-vitest-cypress-nightwatch: + pinia-vitest-nightwatch: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-vitest-cypress-playwright: + pinia-vitest-playwright: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-vitest-nightwatch: + pinia-with-tests: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) + cypress: + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^23.0.1 + version: 23.0.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - jsx-vitest-playwright: + playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - jsx-vitest-playwright-nightwatch: + router: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - jsx-with-tests: + router-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^13.6.1 + version: 13.6.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - nightwatch: + router-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) - pinia: + router-pinia: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - pinia-cypress: + router-pinia-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - pinia-cypress-nightwatch: + router-pinia-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) - pinia-cypress-playwright: + router-pinia-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) - pinia-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - pinia-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - pinia-playwright-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - pinia-vitest: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - pinia-vitest-cypress: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - pinia-vitest-cypress-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - pinia-vitest-cypress-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - pinia-vitest-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - pinia-vitest-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - pinia-vitest-playwright-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - pinia-with-tests: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - playwright-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - router-cypress: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - router-cypress-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-cypress-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - router-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-pinia: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - router-pinia-cypress: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - router-pinia-cypress-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-pinia-cypress-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - router-pinia-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-pinia-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - router-pinia-playwright-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-pinia-vitest: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - router-pinia-vitest-cypress: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - router-pinia-vitest-cypress-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-pinia-vitest-cypress-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - router-pinia-vitest-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-pinia-vitest-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - router-pinia-vitest-playwright-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-pinia-with-tests: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - router-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - - router-playwright-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-vitest: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - router-vitest-cypress: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - router-vitest-cypress-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-vitest-cypress-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - router-vitest-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-vitest-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - router-vitest-playwright-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - router-with-tests: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - typescript: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-cypress: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-cypress-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-cypress-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-cypress: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-cypress-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-cypress-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-pinia: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-pinia-cypress: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-pinia-cypress-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-pinia-cypress-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-pinia-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-pinia-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-pinia-playwright-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-pinia-vitest: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-pinia-vitest-cypress: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-pinia-vitest-cypress-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-pinia-vitest-cypress-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-pinia-vitest-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-pinia-vitest-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-pinia-vitest-playwright-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-pinia-with-tests: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-playwright-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-router: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-router-cypress: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-router-cypress-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-router-cypress-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-router-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-router-pinia: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-router-pinia-cypress: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-router-pinia-cypress-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-router-pinia-cypress-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-router-pinia-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-router-pinia-playwright: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-router-pinia-playwright-nightwatch: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) - - typescript-jsx-router-pinia-vitest: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-router-pinia-vitest-cypress: - dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) - devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-jsx-router-pinia-vitest-cypress-nightwatch: + router-pinia-vitest: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-pinia-vitest-cypress-playwright: + router-pinia-vitest-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-pinia-vitest-nightwatch: + router-pinia-vitest-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-pinia-vitest-playwright: + router-pinia-vitest-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-pinia-vitest-playwright-nightwatch: + router-pinia-with-tests: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) + cypress: + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 + specifier: ^23.0.1 + version: 23.0.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-pinia-with-tests: + router-playwright: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + vite: + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + + router-vitest: + dependencies: + vue: + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) + devDependencies: + '@vitejs/plugin-vue': + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-playwright: + router-vitest-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) + cypress: + specifier: ^13.6.1 + version: 13.6.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-playwright-nightwatch: + router-vitest-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) - typescript: - specifier: ~5.2.0 - version: 5.2.2 + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-vitest: + router-vitest-playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-vitest-cypress: + router-with-tests: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - typescript-jsx-router-vitest-cypress-nightwatch: + typescript: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-router-vitest-cypress-playwright: + typescript-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^13.6.1 + version: 13.6.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-router-vitest-nightwatch: + typescript-jsx: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-router-vitest-playwright: + typescript-jsx-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + cypress: + specifier: ^13.6.1 + version: 13.6.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-router-vitest-playwright-nightwatch: + typescript-jsx-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-router-with-tests: + typescript-jsx-pinia: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-vitest: + typescript-jsx-pinia-cypress: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + cypress: + specifier: ^13.6.1 + version: 13.6.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-vitest-cypress: + typescript-jsx-pinia-nightwatch: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: + '@nightwatch/vue': + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + '@types/nightwatch': + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + chromedriver: + specifier: ^119.0.1 + version: 119.0.1 + geckodriver: + specifier: ^4.2.1 + version: 4.2.1 + nightwatch: + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-vitest-cypress-nightwatch: + typescript-jsx-pinia-playwright: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-vitest-cypress-playwright: + typescript-jsx-pinia-vitest: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-vitest-nightwatch: + typescript-jsx-pinia-vitest-cypress: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + cypress: + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-vitest-playwright: + typescript-jsx-pinia-vitest-nightwatch: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + '@nightwatch/vue': + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 + '@types/nightwatch': + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 + chromedriver: + specifier: ^119.0.1 + version: 119.0.1 + geckodriver: + specifier: ^4.2.1 + version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 + nightwatch: + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-vitest-playwright-nightwatch: + typescript-jsx-pinia-vitest-playwright: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-jsx-with-tests: + typescript-jsx-pinia-with-tests: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.5.0)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-nightwatch: + typescript-jsx-playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia: + typescript-jsx-router: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 @@ -7492,336 +2762,345 @@ importers: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-cypress: + typescript-jsx-router-cypress: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-cypress-nightwatch: + typescript-jsx-router-nightwatch: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-cypress-playwright: + typescript-jsx-router-pinia: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-nightwatch: + typescript-jsx-router-pinia-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + cypress: + specifier: ^13.6.1 + version: 13.6.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-playwright: + typescript-jsx-router-pinia-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + '@nightwatch/vue': + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/nightwatch': + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 + chromedriver: + specifier: ^119.0.1 + version: 119.0.1 + geckodriver: + specifier: ^4.2.1 + version: 4.2.1 + nightwatch: + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-playwright-nightwatch: + typescript-jsx-router-pinia-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-vitest: + typescript-jsx-router-pinia-vitest: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -7829,295 +3108,286 @@ importers: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-vitest-cypress: + typescript-jsx-router-pinia-vitest-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-vitest-cypress-nightwatch: + typescript-jsx-router-pinia-vitest-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-vitest-cypress-playwright: + typescript-jsx-router-pinia-vitest-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-vitest-nightwatch: + typescript-jsx-router-pinia-with-tests: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + cypress: + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-vitest-playwright: + typescript-jsx-router-playwright: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -8125,247 +3395,222 @@ importers: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-vitest-playwright-nightwatch: + typescript-jsx-router-vitest: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-pinia-with-tests: + typescript-jsx-router-vitest-cypress: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - typescript-playwright: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@tsconfig/node18': - specifier: ^18.2.2 - version: 18.2.2 - '@types/node': - specifier: ^18.18.5 - version: 18.18.6 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-playwright-nightwatch: + typescript-jsx-router-vitest-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router: + typescript-jsx-router-vitest-playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -8373,235 +3618,268 @@ importers: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-cypress: + typescript-jsx-router-with-tests: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-cypress-nightwatch: + typescript-jsx-vitest: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + jsdom: + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-cypress-playwright: + typescript-jsx-vitest-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-nightwatch: + typescript-jsx-vitest-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia: + typescript-jsx-vitest-playwright: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -8609,357 +3887,321 @@ importers: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-cypress: + typescript-jsx-with-tests: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-cypress-nightwatch: + typescript-nightwatch: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-cypress-playwright: + typescript-pinia: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-nightwatch: + typescript-pinia-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + cypress: + specifier: ^13.6.1 + version: 13.6.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-playwright: + typescript-pinia-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + '@nightwatch/vue': + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/nightwatch': + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 + chromedriver: + specifier: ^119.0.1 + version: 119.0.1 + geckodriver: + specifier: ^4.2.1 + version: 4.2.1 + nightwatch: + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-playwright-nightwatch: + typescript-pinia-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-vitest: + typescript-pinia-vitest: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -8967,310 +4209,256 @@ importers: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-vitest-cypress: + typescript-pinia-vitest-cypress: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-vitest-cypress-nightwatch: + typescript-pinia-vitest-nightwatch: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-vitest-cypress-playwright: + typescript-pinia-vitest-playwright: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-vitest-nightwatch: + typescript-pinia-with-tests: dependencies: pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + cypress: + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-vitest-playwright: + typescript-playwright: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-router: - specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -9278,564 +4466,535 @@ importers: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-vitest-playwright-nightwatch: + typescript-router: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-pinia-with-tests: + typescript-router-cypress: dependencies: - pinia: - specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.3.4) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^13.6.1 + version: 13.6.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-playwright: + typescript-router-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + '@nightwatch/vue': + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 + '@types/nightwatch': + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 + chromedriver: + specifier: ^119.0.1 + version: 119.0.1 + geckodriver: + specifier: ^4.2.1 + version: 4.2.1 + nightwatch: + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-playwright-nightwatch: + typescript-router-pinia: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-vitest: + typescript-router-pinia-cypress: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + cypress: + specifier: ^13.6.1 + version: 13.6.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-vitest-cypress: + typescript-router-pinia-nightwatch: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: + '@nightwatch/vue': + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + '@types/nightwatch': + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 + chromedriver: + specifier: ^119.0.1 + version: 119.0.1 + geckodriver: + specifier: ^4.2.1 + version: 4.2.1 + nightwatch: + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-vitest-cypress-nightwatch: + typescript-router-pinia-playwright: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) + devDependencies: + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 + '@tsconfig/node18': + specifier: ^18.2.2 + version: 18.2.2 + '@types/node': + specifier: ^18.19.2 + version: 18.19.2 + '@vitejs/plugin-vue': + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vue/tsconfig': + specifier: ^0.4.0 + version: 0.4.0 + npm-run-all2: + specifier: ^6.1.1 + version: 6.1.1 + typescript: + specifier: ~5.2.0 + version: 5.2.2 + vite: + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vue-tsc: + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) + + typescript-router-pinia-vitest: + dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) + vue: + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-vitest-cypress-playwright: + typescript-router-pinia-vitest-cypress: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-vitest-nightwatch: + typescript-router-pinia-vitest-nightwatch: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-vitest-playwright: + typescript-router-pinia-vitest-playwright: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -9843,164 +5002,137 @@ importers: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-vitest-playwright-nightwatch: + typescript-router-pinia-with-tests: dependencies: + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.10) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + cypress: + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-router-with-tests: + typescript-router-playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.4) + version: 4.2.5(vue@3.3.10) devDependencies: + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 - '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - jsdom: - specifier: ^22.1.0 - version: 22.1.0 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-vitest: + typescript-router-vitest: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -10008,683 +5140,631 @@ importers: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-vitest-cypress: + typescript-router-vitest-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-vitest-cypress-nightwatch: + typescript-router-vitest-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-vitest-cypress-playwright: + typescript-router-vitest-playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) devDependencies: '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^1.40.1 + version: 1.40.1 + '@tsconfig/node18': + specifier: ^18.2.2 + version: 18.2.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 + '@types/node': + specifier: ^18.19.2 + version: 18.19.2 + '@vitejs/plugin-vue': + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) + '@vue/test-utils': + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) + '@vue/tsconfig': + specifier: ^0.4.0 + version: 0.4.0 + jsdom: + specifier: ^23.0.1 + version: 23.0.1 + npm-run-all2: + specifier: ^6.1.1 + version: 6.1.1 + typescript: + specifier: ~5.2.0 + version: 5.2.2 + vite: + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vitest: + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) + vue-tsc: + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) + + typescript-router-with-tests: + dependencies: + vue: + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.3.10) + devDependencies: '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-vitest-nightwatch: + typescript-vitest: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-vitest-playwright: + typescript-vitest-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 + cypress: + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-vitest-playwright-nightwatch: + typescript-vitest-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) npm-run-all2: specifier: ^6.1.1 version: 6.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - typescript-with-tests: + typescript-vitest-playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: + '@playwright/test': + specifier: ^1.40.1 + version: 1.40.1 '@tsconfig/node18': specifier: ^18.2.2 version: 18.2.2 '@types/jsdom': - specifier: ^21.1.3 - version: 21.1.3 + specifier: ^21.1.6 + version: 21.1.6 '@types/node': - specifier: ^18.18.5 - version: 18.18.6 + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) '@vue/tsconfig': specifier: ^0.4.0 version: 0.4.0 - cypress: - specifier: ^13.3.1 - version: 13.3.2 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 typescript: specifier: ~5.2.0 version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vue-tsc: - specifier: ^1.8.19 - version: 1.8.19(typescript@5.2.2) - - vitest: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - vitest-cypress: + typescript-with-tests: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: + '@tsconfig/node18': + specifier: ^18.2.2 + version: 18.2.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 + '@types/node': + specifier: ^18.19.2 + version: 18.19.2 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) + '@vue/tsconfig': + specifier: ^0.4.0 + version: 0.4.0 cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 + npm-run-all2: + specifier: ^6.1.1 + version: 6.1.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 + typescript: + specifier: ~5.2.0 + version: 5.2.2 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) + vue-tsc: + specifier: ^1.8.25 + version: 1.8.25(typescript@5.2.2) - vitest-cypress-nightwatch: + vitest: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - cypress: - specifier: ^13.3.1 - version: 13.3.2 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) - vitest-cypress-playwright: + vitest-cypress: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vitest-nightwatch: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) + specifier: ^0.4.5 + version: 0.4.5(@types/node@18.19.2)(vue@3.3.10) '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^2.3.30 + version: 2.3.30 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) chromedriver: - specifier: ^118.0.1 - version: 118.0.1 + specifier: ^119.0.1 + version: 119.0.1 geckodriver: specifier: ^4.2.1 version: 4.2.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) + specifier: ^3.3.2 + version: 3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + version: 10.9.1(@types/node@18.19.2)(typescript@5.2.2) vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) + vite-plugin-nightwatch: + specifier: ^0.4.5 + version: 0.4.5(vue@3.3.10) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) vitest-playwright: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 - devDependencies: - '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) - '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - jsdom: - specifier: ^22.1.0 - version: 22.1.0 - vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) - vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - - vitest-playwright-nightwatch: - dependencies: - vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: - '@nightwatch/vue': - specifier: 0.4.5 - version: 0.4.5(@types/node@18.18.6)(vue@3.3.4) '@playwright/test': - specifier: ^1.39.0 - version: 1.39.0 - '@types/nightwatch': - specifier: ^2.3.26 - version: 2.3.27 + specifier: ^1.40.1 + version: 1.40.1 '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) - chromedriver: - specifier: ^118.0.1 - version: 118.0.1 - geckodriver: - specifier: ^4.2.1 - version: 4.2.1 + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) jsdom: - specifier: ^22.1.0 - version: 22.1.0 - nightwatch: - specifier: ^3.2.1 - version: 3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@18.18.6)(typescript@5.2.2) + specifier: ^23.0.1 + version: 23.0.1 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) - wait-on: - specifier: ^7.0.1 - version: 7.0.1(debug@4.3.4) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) with-tests: dependencies: vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.3.10 + version: 3.3.10(typescript@5.2.2) devDependencies: '@vitejs/plugin-vue': - specifier: ^4.4.0 - version: 4.4.0(vite@4.5.0)(vue@3.3.4) + specifier: ^4.5.1 + version: 4.5.1(vite@5.0.5)(vue@3.3.10) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.3 + version: 2.4.3(vue@3.3.10) cypress: - specifier: ^13.3.1 - version: 13.3.2 + specifier: ^13.6.1 + version: 13.6.1 jsdom: - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^23.0.1 + version: 23.0.1 start-server-and-test: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.3 + version: 2.0.3 vite: - specifier: ^4.4.11 - version: 4.5.0(@types/node@18.18.6) + specifier: ^5.0.5 + version: 5.0.5(@types/node@18.19.2) vitest: - specifier: ^0.34.6 - version: 0.34.6(jsdom@22.1.0) + specifier: ^1.0.1 + version: 1.0.1(@types/node@18.19.2)(jsdom@23.0.1) packages: @@ -10700,13 +5780,6 @@ packages: resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} dev: true - /@babel/code-frame@7.21.4: - resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - dev: true - /@babel/code-frame@7.22.10: resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} @@ -10715,9 +5788,12 @@ packages: chalk: 2.4.2 dev: true - /@babel/compat-data@7.21.7: - resolution: {integrity: sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==} + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 dev: true /@babel/compat-data@7.22.9: @@ -10725,29 +5801,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.21.8: - resolution: {integrity: sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.5 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) - '@babel/helper-module-transforms': 7.21.5 - '@babel/helpers': 7.21.5 - '@babel/parser': 7.21.8 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 - convert-source-map: 1.8.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/core@7.22.10: resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} engines: {node: '>=6.9.0'} @@ -10771,14 +5824,27 @@ packages: - supports-color dev: true - /@babel/generator@7.21.5: - resolution: {integrity: sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==} + /@babel/core@7.23.5: + resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.18 - jsesc: 2.5.2 + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) + '@babel/helpers': 7.23.5 + '@babel/parser': 7.23.5 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color dev: true /@babel/generator@7.22.10: @@ -10791,6 +5857,16 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator@7.23.5: + resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.5 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: true + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -10798,51 +5874,48 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/helper-compilation-targets@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==} + /@babel/helper-compilation-targets@7.22.10: + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.7 - '@babel/core': 7.21.8 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.4 + '@babel/compat-data': 7.22.9 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 dev: true - /@babel/helper-compilation-targets@7.22.10: - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 + '@babel/helper-validator-option': 7.23.5 browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} + /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-environment-visitor@7.21.5: - resolution: {integrity: sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==} + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: true @@ -10851,14 +5924,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-function-name@7.21.0: - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.5 - dev: true - /@babel/helper-function-name@7.22.5: resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} engines: {node: '>=6.9.0'} @@ -10867,11 +5932,12 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/helper-hoist-variables@7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/template': 7.22.15 + '@babel/types': 7.23.5 dev: true /@babel/helper-hoist-variables@7.22.5: @@ -10881,18 +5947,18 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.5 dev: true - /@babel/helper-module-imports@7.21.4: - resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.23.5 dev: true /@babel/helper-module-imports@7.22.5: @@ -10902,22 +5968,6 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/helper-module-transforms@7.21.5: - resolution: {integrity: sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-simple-access': 7.21.5 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} @@ -10932,6 +5982,20 @@ packages: '@babel/helper-validator-identifier': 7.22.5 dev: true + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} @@ -10944,30 +6008,23 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.5): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/core': 7.23.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: true - /@babel/helper-simple-access@7.21.5: - resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.5 - dev: true - /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.5 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: @@ -10977,57 +6034,39 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/helper-split-export-declaration@7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.21.5 - dev: true - /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.5 dev: true - /@babel/helper-string-parser@7.21.5: - resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} - engines: {node: '>=6.9.0'} - /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} + dev: true - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-option@7.21.0: - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + /@babel/helper-validator-identifier@7.22.5: + resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-option@7.22.5: resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helpers@7.21.5: - resolution: {integrity: sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 - transitivePeerDependencies: - - supports-color dev: true /@babel/helpers@7.22.10: @@ -11041,13 +6080,15 @@ packages: - supports-color dev: true - /@babel/highlight@7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + /@babel/helpers@7.23.5: + resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 + transitivePeerDependencies: + - supports-color dev: true /@babel/highlight@7.22.10: @@ -11059,12 +6100,14 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser@7.21.8: - resolution: {integrity: sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==} - engines: {node: '>=6.0.0'} - hasBin: true + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true /@babel/parser@7.22.10: resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} @@ -11074,46 +6117,53 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): + /@babel/parser@7.23.5: + resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.10 + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.5): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.22.10(@babel/core@7.22.10): - resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} + /@babel/plugin-transform-typescript@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) + '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5) dev: true - /@babel/template@7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 dev: true /@babel/template@7.22.5: @@ -11125,24 +6175,6 @@ packages: '@babel/types': 7.22.10 dev: true - /@babel/traverse@7.21.5: - resolution: {integrity: sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.21.5 - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/traverse@7.22.10: resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} engines: {node: '>=6.9.0'} @@ -11161,13 +6193,23 @@ packages: - supports-color dev: true - /@babel/types@7.21.5: - resolution: {integrity: sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==} + /@babel/traverse@7.23.5: + resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.21.5 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true /@babel/types@7.22.10: resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} @@ -11176,6 +6218,14 @@ packages: '@babel/helper-string-parser': 7.22.5 '@babel/helper-validator-identifier': 7.22.5 to-fast-properties: 2.0.0 + + /@babel/types@7.23.5: + resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 dev: true /@colors/colors@1.5.0: @@ -11234,6 +6284,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.19.8: + resolution: {integrity: sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.15.18: resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} engines: {node: '>=12'} @@ -11252,6 +6311,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.19.8: + resolution: {integrity: sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.18.16: resolution: {integrity: sha512-ldsTXolyA3eTQ1//4DS+E15xl0H/3DTRJaRL0/0PgkqDsI0fV/FlOtD+h0u/AUJr+eOTlZv4aC9gvfppo3C4sw==} engines: {node: '>=12'} @@ -11261,6 +6329,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.19.8: + resolution: {integrity: sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.18.16: resolution: {integrity: sha512-aBxruWCII+OtluORR/KvisEw0ALuw/qDQWvkoosA+c/ngC/Kwk0lLaZ+B++LLS481/VdydB2u6tYpWxUfnLAIw==} engines: {node: '>=12'} @@ -11270,6 +6347,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.19.8: + resolution: {integrity: sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.18.16: resolution: {integrity: sha512-6w4Dbue280+rp3LnkgmriS1icOUZDyPuZo/9VsuMUTns7SYEiOaJ7Ca1cbhu9KVObAWfmdjUl4gwy9TIgiO5eA==} engines: {node: '>=12'} @@ -11279,6 +6365,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.19.8: + resolution: {integrity: sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.18.16: resolution: {integrity: sha512-x35fCebhe9s979DGKbVAwXUOcTmCIE32AIqB9CB1GralMIvxdnMLAw5CnID17ipEw9/3MvDsusj/cspYt2ZLNQ==} engines: {node: '>=12'} @@ -11288,6 +6383,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.19.8: + resolution: {integrity: sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.18.16: resolution: {integrity: sha512-YM98f+PeNXF3GbxIJlUsj+McUWG1irguBHkszCIwfr3BXtXZsXo0vqybjUDFfu9a8Wr7uUD/YSmHib+EeGAFlg==} engines: {node: '>=12'} @@ -11297,6 +6401,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.19.8: + resolution: {integrity: sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.18.16: resolution: {integrity: sha512-XIqhNUxJiuy+zsR77+H5Z2f7s4YRlriSJKtvx99nJuG5ATuJPjmZ9n0ANgnGlPCpXGSReFpgcJ7O3SMtzIFeiQ==} engines: {node: '>=12'} @@ -11306,6 +6419,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.19.8: + resolution: {integrity: sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.18.16: resolution: {integrity: sha512-b5ABb+5Ha2C9JkeZXV+b+OruR1tJ33ePmv9ZwMeETSEKlmu/WJ45XTTG+l6a2KDsQtJJ66qo/hbSGBtk0XVLHw==} engines: {node: '>=12'} @@ -11315,6 +6437,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.19.8: + resolution: {integrity: sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.18.16: resolution: {integrity: sha512-no+pfEpwnRvIyH+txbBAWtjxPU9grslmTBfsmDndj7bnBmr55rOo/PfQmRfz7Qg9isswt1FP5hBbWb23fRWnow==} engines: {node: '>=12'} @@ -11324,6 +6455,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.19.8: + resolution: {integrity: sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.15.18: resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} engines: {node: '>=12'} @@ -11342,6 +6482,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.19.8: + resolution: {integrity: sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.18.16: resolution: {integrity: sha512-YMF7hih1HVR/hQVa/ot4UVffc5ZlrzEb3k2ip0nZr1w6fnYypll9td2qcoMLvd3o8j3y6EbJM3MyIcXIVzXvQQ==} engines: {node: '>=12'} @@ -11351,6 +6500,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.19.8: + resolution: {integrity: sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.18.16: resolution: {integrity: sha512-Wkz++LZ29lDwUyTSEnzDaaP5OveOgTU69q9IyIw9WqLRxM4BjTBjz9un4G6TOvehWpf/J3gYVFN96TjGHrbcNQ==} engines: {node: '>=12'} @@ -11360,6 +6518,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.19.8: + resolution: {integrity: sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.18.16: resolution: {integrity: sha512-LFMKZ30tk78/mUv1ygvIP+568bwf4oN6reG/uczXnz6SvFn4e2QUFpUpZY9iSJT6Qpgstrhef/nMykIXZtZWGQ==} engines: {node: '>=12'} @@ -11369,6 +6536,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.19.8: + resolution: {integrity: sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.18.16: resolution: {integrity: sha512-3ZC0BgyYHYKfZo3AV2/66TD/I9tlSBaW7eWTEIkrQQKfJIifKMMttXl9FrAg+UT0SGYsCRLI35Gwdmm96vlOjg==} engines: {node: '>=12'} @@ -11378,6 +6554,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.19.8: + resolution: {integrity: sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.18.16: resolution: {integrity: sha512-xu86B3647DihHJHv/wx3NCz2Dg1gjQ8bbf9cVYZzWKY+gsvxYmn/lnVlqDRazObc3UMwoHpUhNYaZset4X8IPA==} engines: {node: '>=12'} @@ -11387,6 +6572,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.19.8: + resolution: {integrity: sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.18.16: resolution: {integrity: sha512-uVAgpimx9Ffw3xowtg/7qQPwHFx94yCje+DoBx+LNm2ePDpQXHrzE+Sb0Si2VBObYz+LcRps15cq+95YM7gkUw==} engines: {node: '>=12'} @@ -11396,6 +6590,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.19.8: + resolution: {integrity: sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.18.16: resolution: {integrity: sha512-6OjCQM9wf7z8/MBi6BOWaTL2AS/SZudsZtBziXMtNI8r/U41AxS9x7jn0ATOwVy08OotwkPqGRMkpPR2wcTJXA==} engines: {node: '>=12'} @@ -11405,6 +6608,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.19.8: + resolution: {integrity: sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.18.16: resolution: {integrity: sha512-ZoNkruFYJp9d1LbUYCh8awgQDvB9uOMZqlQ+gGEZR7v6C+N6u7vPr86c+Chih8niBR81Q/bHOSKGBK3brJyvkQ==} engines: {node: '>=12'} @@ -11414,6 +6626,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.19.8: + resolution: {integrity: sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.18.16: resolution: {integrity: sha512-+j4anzQ9hrs+iqO+/wa8UE6TVkKua1pXUb0XWFOx0FiAj6R9INJ+WE//1/Xo6FG1vB5EpH3ko+XcgwiDXTxcdw==} engines: {node: '>=12'} @@ -11423,6 +6644,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.19.8: + resolution: {integrity: sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.18.16: resolution: {integrity: sha512-5PFPmq3sSKTp9cT9dzvI67WNfRZGvEVctcZa1KGjDDu4n3H8k59Inbk0du1fz0KrAbKKNpJbdFXQMDUz7BG4rQ==} engines: {node: '>=12'} @@ -11432,6 +6662,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.19.8: + resolution: {integrity: sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.18.16: resolution: {integrity: sha512-sCIVrrtcWN5Ua7jYXNG1xD199IalrbfV2+0k/2Zf2OyV2FtnQnMgdzgpRAbi4AWlKJj1jkX+M+fEGPQj6BQB4w==} engines: {node: '>=12'} @@ -11441,6 +6680,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.19.8: + resolution: {integrity: sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@hapi/hoek@9.3.0: resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} dev: true @@ -11451,8 +6699,8 @@ packages: '@hapi/hoek': 9.3.0 dev: true - /@jest/schemas@29.6.0: - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + /@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.27.8 @@ -11487,10 +6735,10 @@ packages: /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true /@jridgewell/trace-mapping@0.3.18: resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} @@ -11521,7 +6769,7 @@ packages: /@nightwatch/esbuild-utils@0.2.1: resolution: {integrity: sha512-OLvkmfYs0DxT3o0BKWi1dq+GTXAs6x0t2O6N5WaCab5d5mXb/Nc/zTXswZLpjXjn3kMjR1rZrIZ+xENWhhFlfQ==} dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.10 esbuild: 0.15.18 lodash.merge: 4.6.2 lodash.mergewith: 4.6.2 @@ -11540,15 +6788,15 @@ packages: archiver: 5.3.1 dev: true - /@nightwatch/vue@0.4.5(@types/node@18.18.6)(vue@3.3.4): + /@nightwatch/vue@0.4.5(@types/node@18.19.2)(vue@3.3.10): resolution: {integrity: sha512-/1N4ytlyu3+5LkNCoqt3hGL16FZ2c9GiTEtSoMAQbivZZZSmrDSd2lJUg7CXiL1raCk2ju6x4vqc/z0e6zE9uQ==} dependencies: '@nightwatch/esbuild-utils': 0.2.1 - '@types/nightwatch': 2.3.27 - '@vitejs/plugin-vue': 4.4.0(vite@4.5.0)(vue@3.3.4) + '@types/nightwatch': 2.3.30 + '@vitejs/plugin-vue': 4.5.1(vite@4.5.0)(vue@3.3.10) get-port: 5.1.1 - vite: 4.5.0(@types/node@18.18.6) - vite-plugin-nightwatch: 0.4.5(vue@3.3.4) + vite: 4.5.0(@types/node@18.19.2) + vite-plugin-nightwatch: 0.4.5(vue@3.3.10) transitivePeerDependencies: - '@types/node' - '@vue/server-renderer' @@ -11564,17 +6812,113 @@ packages: - vue dev: true - /@one-ini/wasm@0.1.1: - resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + /@one-ini/wasm@0.1.1: + resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + dev: true + + /@playwright/test@1.40.1: + resolution: {integrity: sha512-EaaawMTOeEItCRvfmkI9v6rBkF1svM8wjl/YPRrg2N2Wmp+4qJYkWtJsbew1szfKKDm6fPLy4YAanBhIlf9dWw==} + engines: {node: '>=16'} + hasBin: true + dependencies: + playwright: 1.40.1 + dev: true + + /@rollup/rollup-android-arm-eabi@4.6.1: + resolution: {integrity: sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.6.1: + resolution: {integrity: sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.6.1: + resolution: {integrity: sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.6.1: + resolution: {integrity: sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.6.1: + resolution: {integrity: sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.6.1: + resolution: {integrity: sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.6.1: + resolution: {integrity: sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.6.1: + resolution: {integrity: sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.6.1: + resolution: {integrity: sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.6.1: + resolution: {integrity: sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@playwright/test@1.39.0: - resolution: {integrity: sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==} - engines: {node: '>=16'} - hasBin: true - dependencies: - playwright: 1.39.0 + /@rollup/rollup-win32-ia32-msvc@4.6.1: + resolution: {integrity: sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==} + cpu: [ia32] + os: [win32] + requiresBuild: true dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.6.1: + resolution: {integrity: sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true /@sideway/address@4.1.4: resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} @@ -11608,6 +6952,7 @@ packages: /@sinonjs/fake-timers@10.2.0: resolution: {integrity: sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==} + deprecated: Use version 10.1.0. Version 10.2.0 has potential breaking issues dependencies: '@sinonjs/commons': 3.0.0 dev: true @@ -11624,8 +6969,8 @@ packages: resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} dev: true - /@testim/chrome-version@1.1.3: - resolution: {integrity: sha512-g697J3WxV/Zytemz8aTuKjTGYtta9+02kva3C1xc7KXB8GdbfE1akGJIsZLyY/FSh2QrnE+fiB7vmWU3XNcb6A==} + /@testim/chrome-version@1.1.4: + resolution: {integrity: sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==} dev: true /@tootallnate/once@2.0.0: @@ -11653,34 +6998,30 @@ packages: resolution: {integrity: sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==} dev: true - /@types/chai-subset@1.3.3: - resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} - dependencies: - '@types/chai': 4.3.5 - dev: true - /@types/chai@4.3.5: resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} dev: true - /@types/jsdom@21.1.3: - resolution: {integrity: sha512-1zzqSP+iHJYV4lB3lZhNBa012pubABkj9yG/GuXuf6LZH1cSPIJBqFDrm5JX65HHt6VOnNYdTui/0ySerRbMgA==} + /@types/jsdom@21.1.6: + resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==} dependencies: - '@types/node': 18.18.6 + '@types/node': 18.19.2 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true - /@types/nightwatch@2.3.27: - resolution: {integrity: sha512-hCC1kHiedyv09TLptjEuZqH5luLaygWWroHQ17w3Pe+4k7TfZ1DT9Ev7qkCBPQbSK7x+TzNn3PPGxoLVGOCQrA==} + /@types/nightwatch@2.3.30: + resolution: {integrity: sha512-TiVGKR9mORwx0nN3ylonXp2IobpQoZxwV63IjABYkxsEpNauHL8GU9kmceEThjqDUigKaeh6aPOqepwC4bwCfA==} dependencies: '@types/chai': 4.3.5 '@types/selenium-webdriver': 4.1.15 devtools-protocol: 0.0.1025565 dev: true - /@types/node@18.18.6: - resolution: {integrity: sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==} + /@types/node@18.19.2: + resolution: {integrity: sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==} + dependencies: + undici-types: 5.26.5 dev: true /@types/normalize-package-data@2.4.1: @@ -11708,112 +7049,124 @@ packages: /@types/ws@8.5.5: resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: - '@types/node': 18.18.6 + '@types/node': 18.19.2 dev: true /@types/yauzl@2.10.0: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 18.18.6 + '@types/node': 18.19.2 dev: true optional: true - /@vitejs/plugin-vue-jsx@3.0.2(vite@4.5.0)(vue@3.3.4): - resolution: {integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==} + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.5)(vue@3.3.10): + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10) - vite: 4.5.0(@types/node@18.18.6) - vue: 3.3.4 + '@babel/core': 7.23.5 + '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) + vite: 5.0.5(@types/node@18.19.2) + vue: 3.3.10(typescript@5.2.2) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.4): - resolution: {integrity: sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==} + /@vitejs/plugin-vue@4.5.1(vite@4.5.0)(vue@3.3.10): + resolution: {integrity: sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 4.5.0(@types/node@18.19.2) + vue: 3.3.10(typescript@5.2.2) + dev: true + + /@vitejs/plugin-vue@4.5.1(vite@5.0.5)(vue@3.3.10): + resolution: {integrity: sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 dependencies: - vite: 4.5.0(@types/node@18.18.6) - vue: 3.3.4 + vite: 5.0.5(@types/node@18.19.2) + vue: 3.3.10(typescript@5.2.2) dev: true - /@vitest/expect@0.34.6: - resolution: {integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==} + /@vitest/expect@1.0.1: + resolution: {integrity: sha512-3cdrb/eKD/0tygDX75YscuHEHMUJ70u3UoLSq2eqhWks57AyzvsDQbyn53IhZ0tBN7gA8Jj2VhXiOV2lef7thw==} dependencies: - '@vitest/spy': 0.34.6 - '@vitest/utils': 0.34.6 + '@vitest/spy': 1.0.1 + '@vitest/utils': 1.0.1 chai: 4.3.10 dev: true - /@vitest/runner@0.34.6: - resolution: {integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==} + /@vitest/runner@1.0.1: + resolution: {integrity: sha512-/+z0vhJ0MfRPT3AyTvAK6m57rzlew/ct8B2a4LMv7NhpPaiI2QLGyOBMB3lcioWdJHjRuLi9aYppfOv0B5aRQA==} dependencies: - '@vitest/utils': 0.34.6 - p-limit: 4.0.0 + '@vitest/utils': 1.0.1 + p-limit: 5.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@0.34.6: - resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==} + /@vitest/snapshot@1.0.1: + resolution: {integrity: sha512-wIPtPDGSxEZ+DpNMc94AsybX6LV6uN6sosf5TojyP1m2QbKwiRuLV/5RSsjt1oWViHsTj8mlcwrQQ1zHGO0fMw==} dependencies: - magic-string: 0.30.1 + magic-string: 0.30.5 pathe: 1.1.1 - pretty-format: 29.6.1 + pretty-format: 29.7.0 dev: true - /@vitest/spy@0.34.6: - resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} + /@vitest/spy@1.0.1: + resolution: {integrity: sha512-yXwm1uKhBVr/5MhVeSmtNqK+0q2RXIchJt8kokEKdrWLtkPeDgdbZ6SjR1VQGZuNdWL6sSBnLayIyVvcS0qLfA==} dependencies: - tinyspy: 2.1.1 + tinyspy: 2.2.0 dev: true - /@vitest/utils@0.34.6: - resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} + /@vitest/utils@1.0.1: + resolution: {integrity: sha512-MGPCHkzXbbAyscrhwGzh8uP1HPrTYLWaj1WTDtWSGrpe2yJWLRN9mF9ooKawr6NMOg9vTBtg2JqWLfuLC7Dknw==} dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 29.6.1 + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 dev: true - /@volar/language-core@1.10.4: - resolution: {integrity: sha512-Na69qA6uwVIdA0rHuOc2W3pHtVQQO8hCNim7FOaKNpRJh0oAFnu5r9i7Oopo5C4cnELZkPNjTrbmpcCTiW+CMQ==} + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} dependencies: - '@volar/source-map': 1.10.4 + '@volar/source-map': 1.11.1 dev: true - /@volar/source-map@1.10.4: - resolution: {integrity: sha512-RxZdUEL+pV8p+SMqnhVjzy5zpb1QRZTlcwSk4bdcBO7yOu4rtEWqDGahVCEj4CcXour+0yJUMrMczfSCpP9Uxg==} + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} dependencies: muggle-string: 0.3.1 dev: true - /@volar/typescript@1.10.4: - resolution: {integrity: sha512-BCCUEBASBEMCrz7qmNSi2hBEWYsXD0doaktRKpmmhvb6XntM2sAWYu6gbyK/MluLDgluGLFiFRpWgobgzUqolg==} + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} dependencies: - '@volar/language-core': 1.10.4 + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 dev: true /@vue/babel-helper-vue-transform-on@1.1.5: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: true - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.10): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.5): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.5 '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.5) '@babel/template': 7.22.5 '@babel/traverse': 7.22.10 '@babel/types': 7.22.10 @@ -11825,104 +7178,125 @@ packages: - supports-color dev: true + /@vue/compiler-core@3.3.10: + resolution: {integrity: sha512-doe0hODR1+i1menPkRzJ5MNR6G+9uiZHIknK3Zn5OcIztu6GGw7u0XUzf3AgB8h/dfsZC9eouzoLo3c3+N/cVA==} + dependencies: + '@babel/parser': 7.23.5 + '@vue/shared': 3.3.10 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + /@vue/compiler-core@3.3.4: resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} dependencies: - '@babel/parser': 7.21.8 + '@babel/parser': 7.22.10 '@vue/shared': 3.3.4 estree-walker: 2.0.2 source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.3.10: + resolution: {integrity: sha512-NCrqF5fm10GXZIK0GrEAauBqdy+F2LZRt3yNHzrYjpYBuRssQbuPLtSnSNjyR9luHKkWSH8we5LMB3g+4z2HvA==} + dependencies: + '@vue/compiler-core': 3.3.10 + '@vue/shared': 3.3.10 /@vue/compiler-dom@3.3.4: resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} dependencies: '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 + dev: true - /@vue/compiler-sfc@3.3.4: - resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} + /@vue/compiler-sfc@3.3.10: + resolution: {integrity: sha512-xpcTe7Rw7QefOTRFFTlcfzozccvjM40dT45JtrE3onGm/jBLZ0JhpKu3jkV7rbDFLeeagR/5RlJ2Y9SvyS0lAg==} dependencies: - '@babel/parser': 7.21.8 - '@vue/compiler-core': 3.3.4 - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-ssr': 3.3.4 - '@vue/reactivity-transform': 3.3.4 - '@vue/shared': 3.3.4 + '@babel/parser': 7.23.5 + '@vue/compiler-core': 3.3.10 + '@vue/compiler-dom': 3.3.10 + '@vue/compiler-ssr': 3.3.10 + '@vue/reactivity-transform': 3.3.10 + '@vue/shared': 3.3.10 estree-walker: 2.0.2 - magic-string: 0.30.0 - postcss: 8.4.23 + magic-string: 0.30.5 + postcss: 8.4.32 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.3.4: - resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} + /@vue/compiler-ssr@3.3.10: + resolution: {integrity: sha512-12iM4jA4GEbskwXMmPcskK5wImc2ohKm408+o9iox3tfN9qua8xL0THIZtoe9OJHnXP4eOWZpgCAAThEveNlqQ==} dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/compiler-dom': 3.3.10 + '@vue/shared': 3.3.10 /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} dev: false - /@vue/language-core@1.8.19(typescript@5.2.2): - resolution: {integrity: sha512-nt3dodGs97UM6fnxeQBazO50yYCKBK53waFWB3qMbLmR6eL3aUryZgQtZoBe1pye17Wl8fs9HysV3si6xMgndQ==} + /@vue/language-core@1.8.25(typescript@5.2.2): + resolution: {integrity: sha512-NJk/5DnAZlpvXX8BdWmHI45bWGLViUaS3R/RMrmFSvFMSbJKuEODpM4kR0F0Ofv5SFzCWuNiMhxameWpVdQsnA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 1.10.4 - '@volar/source-map': 1.10.4 + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 '@vue/compiler-dom': 3.3.4 - '@vue/reactivity': 3.3.4 '@vue/shared': 3.3.4 + computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 + path-browserify: 1.0.1 typescript: 5.2.2 vue-template-compiler: 2.7.14 dev: true - /@vue/reactivity-transform@3.3.4: - resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} + /@vue/reactivity-transform@3.3.10: + resolution: {integrity: sha512-0xBdk+CKHWT+Gev8oZ63Tc0qFfj935YZx+UAynlutnrDZ4diFCVFMWixn65HzjE3S1iJppWOo6Tt1OzASH7VEg==} dependencies: - '@babel/parser': 7.21.8 - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 + '@babel/parser': 7.23.5 + '@vue/compiler-core': 3.3.10 + '@vue/shared': 3.3.10 estree-walker: 2.0.2 - magic-string: 0.30.0 + magic-string: 0.30.5 - /@vue/reactivity@3.3.4: - resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} + /@vue/reactivity@3.3.10: + resolution: {integrity: sha512-H5Z7rOY/JLO+e5a6/FEXaQ1TMuOvY4LDVgT+/+HKubEAgs9qeeZ+NhADSeEtrNQeiKLDuzeKc8v0CUFpB6Pqgw==} dependencies: - '@vue/shared': 3.3.4 + '@vue/shared': 3.3.10 - /@vue/runtime-core@3.3.4: - resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} + /@vue/runtime-core@3.3.10: + resolution: {integrity: sha512-DZ0v31oTN4YHX9JEU5VW1LoIVgFovWgIVb30bWn9DG9a7oA415idcwsRNNajqTx8HQJyOaWfRKoyuP2P2TYIag==} dependencies: - '@vue/reactivity': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/reactivity': 3.3.10 + '@vue/shared': 3.3.10 - /@vue/runtime-dom@3.3.4: - resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} + /@vue/runtime-dom@3.3.10: + resolution: {integrity: sha512-c/jKb3ny05KJcYk0j1m7Wbhrxq7mZYr06GhKykDMNRRR9S+/dGT8KpHuNQjv3/8U4JshfkAk6TpecPD3B21Ijw==} dependencies: - '@vue/runtime-core': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/runtime-core': 3.3.10 + '@vue/shared': 3.3.10 csstype: 3.1.2 - /@vue/server-renderer@3.3.4(vue@3.3.4): - resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} + /@vue/server-renderer@3.3.10(vue@3.3.10): + resolution: {integrity: sha512-0i6ww3sBV3SKlF3YTjSVqKQ74xialMbjVYGy7cOTi7Imd8ediE7t72SK3qnvhrTAhOvlQhq6Bk6nFPdXxe0sAg==} peerDependencies: - vue: 3.3.4 + vue: 3.3.10 dependencies: - '@vue/compiler-ssr': 3.3.4 - '@vue/shared': 3.3.4 - vue: 3.3.4 + '@vue/compiler-ssr': 3.3.10 + '@vue/shared': 3.3.10 + vue: 3.3.10(typescript@5.2.2) + + /@vue/shared@3.3.10: + resolution: {integrity: sha512-2y3Y2J1a3RhFa0WisHvACJR2ncvWiVHcP8t0Inxo+NKz+8RKO4ZV8eZgCxRgQoA6ITfV12L4E6POOL9HOU5nqw==} /@vue/shared@3.3.4: resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + dev: true - /@vue/test-utils@2.4.1(vue@3.3.4): - resolution: {integrity: sha512-VO8nragneNzUZUah6kOjiFmD/gwRjUauG9DROh6oaOeFwX1cZRUNHhdeogE8635cISigXFTtGLUQWx5KCb0xeg==} + /@vue/test-utils@2.4.3(vue@3.3.10): + resolution: {integrity: sha512-F4K7mF+ad++VlTrxMJVRnenKSJmO6fkQt2wpRDiKDesQMkfpniGWsqEi/JevxGBo2qEkwwjvTUAoiGJLNx++CA==} peerDependencies: '@vue/server-renderer': ^3.0.1 vue: ^3.0.1 @@ -11931,23 +7305,14 @@ packages: optional: true dependencies: js-beautify: 1.14.9 - vue: 3.3.4 - vue-component-type-helpers: 1.8.4 + vue: 3.3.10(typescript@5.2.2) + vue-component-type-helpers: 1.8.25 dev: true /@vue/tsconfig@0.4.0: resolution: {integrity: sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==} dev: true - /@vue/typescript@1.8.19(typescript@5.2.2): - resolution: {integrity: sha512-k/SHeeQROUgqsxyHQ8Cs3Zz5TnX57p7BcBDVYR2E0c61QL2DJ2G8CsaBremmNGuGE6o1R5D50IHIxFmroMz8iw==} - dependencies: - '@volar/typescript': 1.10.4 - '@vue/language-core': 1.8.19(typescript@5.2.2) - transitivePeerDependencies: - - typescript - dev: true - /@wdio/logger@8.11.0: resolution: {integrity: sha512-IsuKSaYi7NKEdgA57h8muzlN/MVp1dQG+V4C//7g4m03YJUnNQLvDhJzLjdeNTfvZy61U7foQSyt+3ktNzZkXA==} engines: {node: ^16.13 || >=18} @@ -11960,6 +7325,7 @@ packages: /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead dev: true /abbrev@1.1.1: @@ -11978,6 +7344,11 @@ packages: engines: {node: '>=0.4.0'} dev: true + /acorn-walk@8.3.1: + resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} + engines: {node: '>=0.4.0'} + dev: true + /acorn@8.10.0: resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} @@ -12134,10 +7505,17 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + /aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + dependencies: + deep-equal: 2.2.3 + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: - dequal: 2.0.3 + call-bind: 1.0.5 + is-array-buffer: 3.0.2 dev: true /asn1@0.2.6: @@ -12173,6 +7551,11 @@ packages: engines: {node: '>= 4.0.0'} dev: true + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + /aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: true @@ -12186,17 +7569,8 @@ packages: engines: {node: '>=4'} dev: true - /axios@0.27.2(debug@4.3.4): - resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} - dependencies: - follow-redirects: 1.15.2(debug@4.3.4) - form-data: 4.0.0 - transitivePeerDependencies: - - debug - dev: true - - /axios@1.4.0: - resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} + /axios@1.6.2(debug@4.3.4): + resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} dependencies: follow-redirects: 1.15.2(debug@4.3.4) form-data: 4.0.0 @@ -12309,17 +7683,6 @@ packages: update-browserslist-db: 1.0.11(browserslist@4.21.10) dev: true - /browserslist@4.21.4: - resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001418 - electron-to-chromium: 1.4.276 - node-releases: 2.0.6 - update-browserslist-db: 1.0.10(browserslist@4.21.4) - dev: true - /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true @@ -12358,15 +7721,19 @@ packages: get-intrinsic: 1.1.3 dev: true + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + dev: true + /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001418: - resolution: {integrity: sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==} - dev: true - /caniuse-lite@1.0.30001521: resolution: {integrity: sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==} dev: true @@ -12453,15 +7820,15 @@ packages: fsevents: 2.3.2 dev: true - /chromedriver@118.0.1: - resolution: {integrity: sha512-GlGfyRE47IuSJnuadIiDy89EMDMQFBVWxUmiclLJKzQhFsiWAtcIr/mNOxjljZdsw9IwIOQEkrB9wympKYFPLw==} + /chromedriver@119.0.1: + resolution: {integrity: sha512-lpCFFLaXPpvElTaUOWKdP74pFb/sJhWtWqMjn7Ju1YriWn8dT5JBk84BGXMPvZQs70WfCYWecxdMmwfIu1Mupg==} engines: {node: '>=18'} hasBin: true requiresBuild: true dependencies: - '@testim/chrome-version': 1.1.3 - axios: 1.4.0 - compare-versions: 6.0.0 + '@testim/chrome-version': 1.1.4 + axios: 1.6.2(debug@4.3.4) + compare-versions: 6.1.0 extract-zip: 2.0.1(supports-color@8.1.1) https-proxy-agent: 5.0.1 proxy-from-env: 1.1.0 @@ -12578,8 +7945,8 @@ packages: engines: {node: '>=4.0.0'} dev: true - /compare-versions@6.0.0: - resolution: {integrity: sha512-s2MzYxfRsE9f/ow8hjn7ysa7pod1xhHdQMsgiJtKx6XSNf4x2N1KG4fjrkUmXcP/e9Y2ZX4zB6sHIso0Lm6evQ==} + /compare-versions@6.1.0: + resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} dev: true /compress-commons@4.1.1: @@ -12592,6 +7959,10 @@ packages: readable-stream: 3.6.2 dev: true + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + /concat-map@0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true @@ -12609,17 +7980,8 @@ packages: safe-buffer: 5.1.2 dev: true - /copyfiles@2.4.1: - resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} - hasBin: true - dependencies: - glob: 7.2.3 - minimatch: 3.1.2 - mkdirp: 1.0.4 - noms: 0.0.0 - through2: 2.0.5 - untildify: 4.0.0 - yargs: 16.2.0 + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true /core-util-is@1.0.2: @@ -12663,15 +8025,15 @@ packages: /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - /cypress@13.3.2: - resolution: {integrity: sha512-ArLmZObcLC+xxCp7zJZZbhby9FUf5CueLej9dUM4+5j37FTS4iMSgHxQLDu01PydFUvDXcNoIVRCYrHHxD7Ybg==} + /cypress@13.6.1: + resolution: {integrity: sha512-k1Wl5PQcA/4UoTffYKKaxA0FJKwg8yenYNYRzLt11CUR0Kln+h7Udne6mdU1cUIdXBDTVZWtmiUjzqGs7/pEpw==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true dependencies: '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/node': 18.18.6 + '@types/node': 18.19.2 '@types/sinonjs__fake-timers': 8.1.1 '@types/sizzle': 2.3.3 arch: 2.2.0 @@ -12735,6 +8097,14 @@ packages: whatwg-url: 12.0.1 dev: true + /data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 14.0.0 + dev: true + /dayjs@1.11.5: resolution: {integrity: sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==} dev: true @@ -12808,6 +8178,30 @@ packages: type-detect: 4.0.8 dev: true + /deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.2 + is-arguments: 1.1.1 + is-array-buffer: 3.0.2 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: true + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -12818,21 +8212,34 @@ packages: clone: 1.0.4 dev: true + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} dev: true + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: true + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} dev: true - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - dev: true - /devtools-protocol@0.0.1025565: resolution: {integrity: sha512-0s5sbGQR/EfYQhd8EpZgphpndsv+CufTlaeUyA6vYXCA0H5kMAsHCS/cHtUFWoKJCO125hpoKicQCfpxRj4oqw==} dev: true @@ -12845,8 +8252,8 @@ packages: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true - /diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true @@ -12868,13 +8275,14 @@ packages: /domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead dependencies: webidl-conversions: 7.0.0 dev: true - /dotenv@10.0.0: - resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} - engines: {node: '>=10'} + /dotenv@16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + engines: {node: '>=12'} dev: true /duplexer2@0.1.4: @@ -12913,10 +8321,6 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.276: - resolution: {integrity: sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ==} - dev: true - /electron-to-chromium@1.4.496: resolution: {integrity: sha512-qeXC3Zbykq44RCrBa4kr8v/dWzYJA8rAwpyh9Qd+NKWoJfjG5vvJqy9XOJ9H4P/lqulZBCgUWAYi+FeK5AuJ8g==} dev: true @@ -12947,8 +8351,8 @@ packages: engines: {node: '>=0.12'} dev: true - /envinfo@7.8.1: - resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} + /envinfo@7.11.0: + resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} engines: {node: '>=4'} hasBin: true dev: true @@ -12959,6 +8363,20 @@ packages: is-arrayish: 0.2.1 dev: true + /es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + dev: true + /esbuild-android-64@0.15.18: resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} engines: {node: '>=12'} @@ -13199,6 +8617,36 @@ packages: '@esbuild/win32-x64': 0.18.16 dev: true + /esbuild@0.19.8: + resolution: {integrity: sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.8 + '@esbuild/android-arm64': 0.19.8 + '@esbuild/android-x64': 0.19.8 + '@esbuild/darwin-arm64': 0.19.8 + '@esbuild/darwin-x64': 0.19.8 + '@esbuild/freebsd-arm64': 0.19.8 + '@esbuild/freebsd-x64': 0.19.8 + '@esbuild/linux-arm': 0.19.8 + '@esbuild/linux-arm64': 0.19.8 + '@esbuild/linux-ia32': 0.19.8 + '@esbuild/linux-loong64': 0.19.8 + '@esbuild/linux-mips64el': 0.19.8 + '@esbuild/linux-ppc64': 0.19.8 + '@esbuild/linux-riscv64': 0.19.8 + '@esbuild/linux-s390x': 0.19.8 + '@esbuild/linux-x64': 0.19.8 + '@esbuild/netbsd-x64': 0.19.8 + '@esbuild/openbsd-x64': 0.19.8 + '@esbuild/sunos-x64': 0.19.8 + '@esbuild/win32-arm64': 0.19.8 + '@esbuild/win32-ia32': 0.19.8 + '@esbuild/win32-x64': 0.19.8 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -13296,6 +8744,21 @@ packages: strip-final-newline: 2.0.0 dev: true + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + /executable@4.1.1: resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} engines: {node: '>=4'} @@ -13393,6 +8856,12 @@ packages: debug: 4.3.4(supports-color@8.1.1) dev: true + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + /forever-agent@0.6.1: resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} dev: true @@ -13430,15 +8899,6 @@ packages: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} @@ -13461,6 +8921,14 @@ packages: dev: true optional: true + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + /fstream@1.0.12: resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==} engines: {node: '>=0.6'} @@ -13475,6 +8943,14 @@ packages: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} dev: true + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + /geckodriver@4.2.1: resolution: {integrity: sha512-4m/CRk0OI8MaANRuFIahvOxYTSjlNAO2p9JmE14zxueknq6cdtB5M9UGRQ8R9aMV0bLGNVHHDnDXmoXdOwJfWg==} engines: {node: ^16.13 || >=18 || >=20} @@ -13503,10 +8979,6 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-func-name@2.0.0: - resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} - dev: true - /get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true @@ -13519,6 +8991,15 @@ packages: has-symbols: 1.0.3 dev: true + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + /get-port@5.1.1: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} @@ -13536,6 +9017,11 @@ packages: engines: {node: '>=10'} dev: true + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + /getos@3.2.1: resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} dependencies: @@ -13600,10 +9086,20 @@ packages: engines: {node: '>=4'} dev: true + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -13614,11 +9110,29 @@ packages: engines: {node: '>=8'} dev: true + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} dev: true + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -13626,6 +9140,13 @@ packages: function-bind: 1.1.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 + /hdr-histogram-js@2.0.3: resolution: {integrity: sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==} dependencies: @@ -13657,6 +9178,13 @@ packages: whatwg-encoding: 2.0.0 dev: true + /html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + dependencies: + whatwg-encoding: 3.1.1 + dev: true + /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} @@ -13712,6 +9240,16 @@ packages: - supports-color dev: true + /https-proxy-agent@7.0.2: + resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + /human-signals@1.1.1: resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} engines: {node: '>=8.12.0'} @@ -13722,6 +9260,11 @@ packages: engines: {node: '>=10.17.0'} dev: true + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -13762,15 +9305,46 @@ packages: engines: {node: '>=10'} dev: true + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + /ip-regex@4.3.0: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} engines: {node: '>=8'} dev: true + /is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -13778,6 +9352,19 @@ packages: binary-extensions: 2.2.0 dev: true + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + /is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true @@ -13791,6 +9378,13 @@ packages: has: 1.0.3 dev: true + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -13827,6 +9421,17 @@ packages: engines: {node: '>=8'} dev: true + /is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -13846,11 +9451,55 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-set@2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: true + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} dev: true + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: true + /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true @@ -13864,6 +9513,17 @@ packages: resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: true + /is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + + /is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -13888,6 +9548,10 @@ packages: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true @@ -13912,8 +9576,8 @@ packages: minimatch: 3.1.2 dev: true - /joi@17.8.3: - resolution: {integrity: sha512-q5Fn6Tj/jR8PfrLrx4fpGH4v9qM6o+vDUfD4/3vxxyg34OmKcNqYZ1qn2mpLza96S8tL0p0rIw2gOZX+/cTg9w==} + /joi@17.11.0: + resolution: {integrity: sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==} dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -13989,38 +9653,36 @@ packages: - utf-8-validate dev: true - /jsdom@22.1.0: - resolution: {integrity: sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==} - engines: {node: '>=16'} + /jsdom@23.0.1: + resolution: {integrity: sha512-2i27vgvlUsGEBO9+/kJQRbtqtm+191b5zAZrU/UezVmnC2dlDAFLgDYJvAEi94T4kjsRKkezEtLQTgsNEsW2lQ==} + engines: {node: '>=18'} peerDependencies: - canvas: ^2.5.0 + canvas: ^2.11.2 peerDependenciesMeta: canvas: optional: true dependencies: - abab: 2.0.6 cssstyle: 3.0.0 - data-urls: 4.0.0 + data-urls: 5.0.0 decimal.js: 10.4.3 - domexception: 4.0.0 form-data: 4.0.0 - html-encoding-sniffer: 3.0.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.2 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.4 + nwsapi: 2.2.7 parse5: 7.1.2 rrweb-cssom: 0.6.0 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.2 - w3c-xmlserializer: 4.0.0 + tough-cookie: 4.1.3 + w3c-xmlserializer: 5.0.0 webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - whatwg-url: 12.0.1 - ws: 8.13.0 - xml-name-validator: 4.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.0.0 + ws: 8.14.2 + xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil - supports-color @@ -14142,9 +9804,12 @@ packages: wrap-ansi: 7.0.0 dev: true - /local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} + dependencies: + mlly: 1.4.2 + pkg-types: 1.0.3 dev: true /locate-path@6.0.0: @@ -14305,12 +9970,20 @@ packages: /loupe@2.3.4: resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} + deprecated: Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5 dependencies: - get-func-name: 2.0.0 + get-func-name: 2.0.2 dev: true /loupe@2.3.6: resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + deprecated: Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5 + dependencies: + get-func-name: 2.0.2 + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 dev: true @@ -14333,18 +10006,11 @@ packages: yallist: 4.0.0 dev: true - /magic-string@0.30.0: - resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 - - /magic-string@0.30.1: - resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -14380,6 +10046,11 @@ packages: engines: {node: '>=6'} dev: true + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -14433,25 +10104,19 @@ packages: minimist: 1.2.8 dev: true - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true - /mkdirp@2.1.6: resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} engines: {node: '>=10'} hasBin: true dev: true - /mlly@1.4.0: - resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.10.0 pathe: 1.1.1 pkg-types: 1.0.3 - ufo: 1.1.2 + ufo: 1.3.2 dev: true /mocha@10.2.0: @@ -14504,6 +10169,12 @@ packages: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true /nice-napi@1.0.2: resolution: {integrity: sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==} @@ -14521,11 +10192,10 @@ packages: axe-core: 4.7.2 dev: true - /nightwatch@3.2.1(chromedriver@118.0.1)(geckodriver@4.2.1): - resolution: {integrity: sha512-94IdpTPxuKK8HIT5M3fNClC7MgsAzsFQEOAGzXFQNTRpBSCBGBDvowNCv/ItZscMi4byV8Mj25wPz7m/d17e+g==} + /nightwatch@3.3.2(chromedriver@119.0.1)(geckodriver@4.2.1): + resolution: {integrity: sha512-qi/1glgvJjWrtHBm1vQJfLc4XocqfSqJ3E27Rlg8ofeYC5mLBnKqmJg4u268voIUg+4fQkMm0UYKDtF/0Es4Ag==} engines: {node: '>= 16'} hasBin: true - requiresBuild: true peerDependencies: '@cucumber/cucumber': '*' chromedriver: '*' @@ -14544,21 +10214,19 @@ packages: '@types/chai': 4.3.5 '@types/selenium-webdriver': 4.1.15 ansi-to-html: 0.7.2 - aria-query: 5.3.0 + aria-query: 5.1.3 assertion-error: 1.1.0 boxen: 5.1.2 chai-nightwatch: 0.5.3 chalk: 4.1.2 - chromedriver: 118.0.1 + chromedriver: 119.0.1 ci-info: 3.3.0 cli-table3: 0.6.3 - copyfiles: 2.4.1 devtools-protocol: 0.0.1140464 didyoumean: 1.2.2 - dotenv: 10.0.0 + dotenv: 16.3.1 ejs: 3.1.8 - envinfo: 7.8.1 - fs-extra: 10.1.0 + envinfo: 7.11.0 geckodriver: 4.2.1 glob: 7.2.3 jsdom: 21.1.2 @@ -14571,14 +10239,13 @@ packages: minimist: 1.2.6 mocha: 10.2.0 nightwatch-axe-verbose: 2.2.2 - open: 8.4.0 + open: 8.4.2 ora: 5.4.1 piscina: 3.2.0 - selenium-webdriver: 4.13.0 - semver: 7.5.2 + selenium-webdriver: 4.14.0 + semver: 7.5.4 stacktrace-parser: 0.1.10 strip-ansi: 6.0.1 - typescript: 4.9.5 untildify: 4.0.0 uuid: 8.3.2 transitivePeerDependencies: @@ -14629,17 +10296,6 @@ packages: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true - /node-releases@2.0.6: - resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} - dev: true - - /noms@0.0.0: - resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} - dependencies: - inherits: 2.0.4 - readable-stream: 1.0.34 - dev: true - /nopt@6.0.0: resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -14684,14 +10340,48 @@ packages: path-key: 3.1.1 dev: true + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + /nwsapi@2.2.4: resolution: {integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==} dev: true + /nwsapi@2.2.7: + resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + dev: true + /object-inspect@1.12.2: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} dev: true + /object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -14705,8 +10395,15 @@ packages: mimic-fn: 2.1.0 dev: true - /open@8.4.0: - resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} dependencies: define-lazy-prop: 2.0.0 @@ -14752,9 +10449,9 @@ packages: yocto-queue: 0.1.0 dev: true - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} dependencies: yocto-queue: 1.0.0 dev: true @@ -14794,6 +10491,10 @@ packages: entities: 4.4.0 dev: true + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -14809,6 +10510,11 @@ packages: engines: {node: '>=8'} dev: true + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + /path-to-regexp@1.8.0: resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} dependencies: @@ -14856,7 +10562,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /pinia@2.1.7(typescript@5.2.2)(vue@3.3.4): + /pinia@2.1.7(typescript@5.2.2)(vue@3.3.10): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -14870,8 +10576,8 @@ packages: dependencies: '@vue/devtools-api': 6.5.0 typescript: 5.2.2 - vue: 3.3.4 - vue-demi: 0.14.5(vue@3.3.4) + vue: 3.3.10(typescript@5.2.2) + vue-demi: 0.14.5(vue@3.3.10) dev: false /piscina@3.2.0: @@ -14888,42 +10594,42 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.4.0 + mlly: 1.4.2 pathe: 1.1.1 dev: true - /playwright-core@1.39.0: - resolution: {integrity: sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==} + /playwright-core@1.40.1: + resolution: {integrity: sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==} engines: {node: '>=16'} hasBin: true dev: true - /playwright@1.39.0: - resolution: {integrity: sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==} + /playwright@1.40.1: + resolution: {integrity: sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==} engines: {node: '>=16'} hasBin: true dependencies: - playwright-core: 1.39.0 + playwright-core: 1.40.1 optionalDependencies: fsevents: 2.3.2 dev: true - /postcss@8.4.23: - resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} + /postcss@8.4.27: + resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 + dev: true - /postcss@8.4.27: - resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} + /postcss@8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.6 + nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: true /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} @@ -14935,11 +10641,11 @@ packages: engines: {node: '>=6'} dev: true - /pretty-format@29.6.1: - resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} + /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': 29.6.0 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 dev: true @@ -14989,6 +10695,11 @@ packages: engines: {node: '>=6'} dev: true + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + /qs@6.10.4: resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} engines: {node: '>=0.6'} @@ -15024,15 +10735,6 @@ packages: type-fest: 4.3.1 dev: true - /readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} - dependencies: - core-util-is: 1.0.2 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - dev: true - /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: @@ -15067,6 +10769,15 @@ packages: picomatch: 2.3.1 dev: true + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + /request-progress@3.0.0: resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} dependencies: @@ -15116,6 +10827,26 @@ packages: fsevents: 2.3.2 dev: true + /rollup@4.6.1: + resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.6.1 + '@rollup/rollup-android-arm64': 4.6.1 + '@rollup/rollup-darwin-arm64': 4.6.1 + '@rollup/rollup-darwin-x64': 4.6.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.6.1 + '@rollup/rollup-linux-arm64-gnu': 4.6.1 + '@rollup/rollup-linux-arm64-musl': 4.6.1 + '@rollup/rollup-linux-x64-gnu': 4.6.1 + '@rollup/rollup-linux-x64-musl': 4.6.1 + '@rollup/rollup-win32-arm64-msvc': 4.6.1 + '@rollup/rollup-win32-ia32-msvc': 4.6.1 + '@rollup/rollup-win32-x64-msvc': 4.6.1 + fsevents: 2.3.3 + dev: true + /rrweb-cssom@0.6.0: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: true @@ -15126,6 +10857,12 @@ packages: tslib: 2.4.0 dev: true + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.4.0 + dev: true + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true @@ -15145,13 +10882,13 @@ packages: xmlchars: 2.2.0 dev: true - /selenium-webdriver@4.13.0: - resolution: {integrity: sha512-8JS0h5E0Sq7gNfbGg8LVaQ+Eqek97tvOONn3Jmy+NiWfb12WYpftz4VTC4D2JT4wakdG6VUzGKpA8cFGg0IjkA==} + /selenium-webdriver@4.14.0: + resolution: {integrity: sha512-637rs8anqMKHbWxcBZpyG3Gcs+rBUtAUiqk0O/knUqH4Paj3MFUZrz88/pVGOLNryEVy2z92fZomT8p1ENl1gA==} engines: {node: '>= 14.20.0'} dependencies: jszip: 3.10.1 tmp: 0.2.1 - ws: 8.13.0 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -15162,14 +10899,6 @@ packages: hasBin: true dev: true - /semver@7.5.2: - resolution: {integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} @@ -15184,6 +10913,25 @@ packages: randombytes: 2.1.0 dev: true + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: true @@ -15220,8 +10968,14 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + /sinon@15.1.0: resolution: {integrity: sha512-cS5FgpDdE9/zx7no8bxROHymSlPLZzq0ChbbLk1DrxBfc+eTeBK3y8nIL+nu/0QeYydhhbLIr7ecHJpywjQaoQ==} + deprecated: 16.1.1 dependencies: '@sinonjs/commons': 3.0.0 '@sinonjs/fake-timers': 10.2.0 @@ -15315,8 +11069,8 @@ packages: type-fest: 0.7.1 dev: true - /start-server-and-test@2.0.1: - resolution: {integrity: sha512-8PFo4DLLLCDMuS51/BEEtE1m9CAXw1LNVtZSS1PzkYQh6Qf9JUwM4huYeSoUumaaoAyuwYBwCa9OsrcpMqcOdQ==} + /start-server-and-test@2.0.3: + resolution: {integrity: sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==} engines: {node: '>=16'} hasBin: true dependencies: @@ -15327,13 +11081,20 @@ packages: execa: 5.1.1 lazy-ass: 1.6.0 ps-tree: 1.2.0 - wait-on: 7.0.1(debug@4.3.4) + wait-on: 7.2.0(debug@4.3.4) transitivePeerDependencies: - supports-color dev: true - /std-env@3.3.3: - resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} + /std-env@3.6.0: + resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} + dev: true + + /stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.6 dev: true /stream-combiner@0.0.4: @@ -15358,10 +11119,6 @@ packages: strip-ansi: 6.0.1 dev: true - /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - dev: true - /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: @@ -15393,13 +11150,18 @@ packages: engines: {node: '>=6'} dev: true + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} dev: true - /strip-literal@1.0.1: - resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: acorn: 8.10.0 dev: true @@ -15473,28 +11235,21 @@ packages: resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==} dev: true - /through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - dev: true - /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true - /tinybench@2.5.0: - resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} + /tinybench@2.5.1: + resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true - /tinypool@0.7.0: - resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} + /tinypool@0.8.1: + resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} engines: {node: '>=14.0.0'} dev: true - /tinyspy@2.1.1: - resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} + /tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} engines: {node: '>=14.0.0'} dev: true @@ -15516,16 +11271,6 @@ packages: is-number: 7.0.0 dev: true - /tough-cookie@4.1.2: - resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} - engines: {node: '>=6'} - dependencies: - psl: 1.9.0 - punycode: 2.3.0 - universalify: 0.2.0 - url-parse: 1.5.10 - dev: true - /tough-cookie@4.1.3: resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} engines: {node: '>=6'} @@ -15543,11 +11288,18 @@ packages: punycode: 2.3.0 dev: true + /tr46@5.0.0: + resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} + engines: {node: '>=18'} + dependencies: + punycode: 2.3.1 + dev: true + /traverse@0.3.9: resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} dev: true - /ts-node@10.9.1(@types/node@18.18.6)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@18.19.2)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -15566,7 +11318,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.18.6 + '@types/node': 18.19.2 acorn: 8.8.2 acorn-walk: 8.2.0 arg: 4.1.3 @@ -15629,19 +11381,17 @@ packages: engines: {node: '>=16'} dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /typescript@5.2.2: resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} hasBin: true - /ufo@1.1.2: - resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} + /ufo@1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true /universalify@0.2.0: @@ -15674,17 +11424,6 @@ packages: setimmediate: 1.0.5 dev: true - /update-browserslist-db@1.0.10(browserslist@4.21.4): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.4 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - /update-browserslist-db@1.0.11(browserslist@4.21.10): resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true @@ -15732,17 +11471,16 @@ packages: extsprintf: 1.3.0 dev: true - /vite-node@0.34.6(@types/node@18.18.6): - resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} - engines: {node: '>=v14.18.0'} + /vite-node@1.0.1(@types/node@18.19.2): + resolution: {integrity: sha512-Y2Jnz4cr2azsOMMYuVPrQkp3KMnS/0WV8ezZjCy4hU7O5mUHCAVOnFmoEvs1nvix/4mYm74Len8bYRWZJMNP6g==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: cac: 6.7.14 debug: 4.3.4(supports-color@8.1.1) - mlly: 1.4.0 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@18.18.6) + vite: 5.0.5(@types/node@18.19.2) transitivePeerDependencies: - '@types/node' - less @@ -15754,12 +11492,12 @@ packages: - terser dev: true - /vite-plugin-nightwatch@0.4.5(vue@3.3.4): + /vite-plugin-nightwatch@0.4.5(vue@3.3.10): resolution: {integrity: sha512-3yZ/S6dcFXbZWx4tzwxXKmoE8Z0A1ZJuWwT8/ltyI8JwFkf8p/x0NL1buZO1SdIRCeRTfQU6/i19hcl9YmEUQg==} dependencies: '@nightwatch/esbuild-utils': 0.2.1 - '@types/nightwatch': 2.3.27 - '@vue/test-utils': 2.4.1(vue@3.3.4) + '@types/nightwatch': 2.3.30 + '@vue/test-utils': 2.4.3(vue@3.3.10) assertion-error: 1.1.0 mkdirp: 2.1.6 sinon: 15.1.0 @@ -15772,7 +11510,7 @@ packages: - vue dev: true - /vite@4.5.0(@types/node@18.18.6): + /vite@4.5.0(@types/node@18.19.2): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -15800,7 +11538,7 @@ packages: terser: optional: true dependencies: - '@types/node': 18.18.6 + '@types/node': 18.19.2 esbuild: 0.18.16 postcss: 8.4.27 rollup: 3.28.0 @@ -15808,22 +11546,58 @@ packages: fsevents: 2.3.2 dev: true - /vitest@0.34.6(jsdom@22.1.0): - resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} - engines: {node: '>=v14.18.0'} + /vite@5.0.5(@types/node@18.19.2): + resolution: {integrity: sha512-OekeWqR9Ls56f3zd4CaxzbbS11gqYkEiBtnWFFgYR2WV8oPJRRKq0mpskYy/XaoCL3L7VINDhqqOMNDiYdGvGg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.19.2 + esbuild: 0.19.8 + postcss: 8.4.32 + rollup: 4.6.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.0.1(@types/node@18.19.2)(jsdom@23.0.1): + resolution: {integrity: sha512-MHsOj079S28hDsvdDvyD1pRj4dcS51EC5Vbe0xvOYX+WryP8soiK2dm8oULi+oA/8Xa/h6GoJEMTmcmBy5YM+Q==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': ^1.0.0 + '@vitest/ui': ^1.0.0 happy-dom: '*' jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true + '@types/node': + optional: true '@vitest/browser': optional: true '@vitest/ui': @@ -15832,37 +11606,29 @@ packages: optional: true jsdom: optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true dependencies: - '@types/chai': 4.3.5 - '@types/chai-subset': 1.3.3 - '@types/node': 18.18.6 - '@vitest/expect': 0.34.6 - '@vitest/runner': 0.34.6 - '@vitest/snapshot': 0.34.6 - '@vitest/spy': 0.34.6 - '@vitest/utils': 0.34.6 - acorn: 8.10.0 - acorn-walk: 8.2.0 + '@types/node': 18.19.2 + '@vitest/expect': 1.0.1 + '@vitest/runner': 1.0.1 + '@vitest/snapshot': 1.0.1 + '@vitest/spy': 1.0.1 + '@vitest/utils': 1.0.1 + acorn-walk: 8.3.1 cac: 6.7.14 chai: 4.3.10 debug: 4.3.4(supports-color@8.1.1) - jsdom: 22.1.0 - local-pkg: 0.4.3 - magic-string: 0.30.1 + execa: 8.0.1 + jsdom: 23.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.5 pathe: 1.1.1 picocolors: 1.0.0 - std-env: 3.3.3 - strip-literal: 1.0.1 - tinybench: 2.5.0 - tinypool: 0.7.0 - vite: 4.5.0(@types/node@18.18.6) - vite-node: 0.34.6(@types/node@18.18.6) + std-env: 3.6.0 + strip-literal: 1.3.0 + tinybench: 2.5.1 + tinypool: 0.8.1 + vite: 5.0.5(@types/node@18.19.2) + vite-node: 1.0.1(@types/node@18.19.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -15874,11 +11640,11 @@ packages: - terser dev: true - /vue-component-type-helpers@1.8.4: - resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==} + /vue-component-type-helpers@1.8.25: + resolution: {integrity: sha512-NCA6sekiJIMnMs4DdORxATXD+/NRkQpS32UC+I1KQJUasx+Z7MZUb3Y+MsKsFmX+PgyTYSteb73JW77AibaCCw==} dev: true - /vue-demi@0.14.5(vue@3.3.4): + /vue-demi@0.14.5(vue@3.3.10): resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==} engines: {node: '>=12'} hasBin: true @@ -15890,16 +11656,16 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.4 + vue: 3.3.10(typescript@5.2.2) dev: false - /vue-router@4.2.5(vue@3.3.4): + /vue-router@4.2.5(vue@3.3.10): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.3.4 + vue: 3.3.10(typescript@5.2.2) dev: false /vue-template-compiler@2.7.14: @@ -15909,26 +11675,32 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.8.19(typescript@5.2.2): - resolution: {integrity: sha512-tacMQLQ0CXAfbhRycCL5sWIy1qujXaIEtP1hIQpzHWOUuICbtTj9gJyFf91PvzG5KCNIkA5Eg7k2Fmgt28l5DQ==} + /vue-tsc@1.8.25(typescript@5.2.2): + resolution: {integrity: sha512-lHsRhDc/Y7LINvYhZ3pv4elflFADoEOo67vfClAfF2heVHpHmVquLSjojgCSIwzA4F0Pc4vowT/psXCYcfk+iQ==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@vue/language-core': 1.8.19(typescript@5.2.2) - '@vue/typescript': 1.8.19(typescript@5.2.2) + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.25(typescript@5.2.2) semver: 7.5.4 typescript: 5.2.2 dev: true - /vue@3.3.4: - resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} + /vue@3.3.10(typescript@5.2.2): + resolution: {integrity: sha512-zg6SIXZdTBwiqCw/1p+m04VyHjLfwtjwz8N57sPaBhEex31ND0RYECVOC1YrRwMRmxFf5T1dabl6SGUbMKKuVw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-sfc': 3.3.4 - '@vue/runtime-dom': 3.3.4 - '@vue/server-renderer': 3.3.4(vue@3.3.4) - '@vue/shared': 3.3.4 + '@vue/compiler-dom': 3.3.10 + '@vue/compiler-sfc': 3.3.10 + '@vue/runtime-dom': 3.3.10 + '@vue/server-renderer': 3.3.10(vue@3.3.10) + '@vue/shared': 3.3.10 + typescript: 5.2.2 /w3c-xmlserializer@4.0.0: resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} @@ -15937,16 +11709,23 @@ packages: xml-name-validator: 4.0.0 dev: true - /wait-on@7.0.1(debug@4.3.4): - resolution: {integrity: sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==} + /w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + dependencies: + xml-name-validator: 5.0.0 + dev: true + + /wait-on@7.2.0(debug@4.3.4): + resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} engines: {node: '>=12.0.0'} hasBin: true dependencies: - axios: 0.27.2(debug@4.3.4) - joi: 17.8.3 + axios: 1.6.2(debug@4.3.4) + joi: 17.11.0 lodash: 4.17.21 minimist: 1.2.8 - rxjs: 7.8.0 + rxjs: 7.8.1 transitivePeerDependencies: - debug dev: true @@ -15974,11 +11753,23 @@ packages: iconv-lite: 0.6.3 dev: true + /whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + dependencies: + iconv-lite: 0.6.3 + dev: true + /whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} dev: true + /whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + dev: true + /whatwg-url@12.0.1: resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} engines: {node: '>=14'} @@ -15987,6 +11778,44 @@ packages: webidl-conversions: 7.0.0 dev: true + /whatwg-url@14.0.0: + resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} + engines: {node: '>=18'} + dependencies: + tr46: 5.0.0 + webidl-conversions: 7.0.0 + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -16063,18 +11892,31 @@ packages: optional: true dev: true + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} dev: true - /xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + /xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} dev: true - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: true /y18n@5.0.8: diff --git a/router-cypress-nightwatch/.gitignore b/router-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/router-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/router-cypress-nightwatch/.vscode/extensions.json b/router-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/router-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/router-cypress-nightwatch/README.md b/router-cypress-nightwatch/README.md deleted file mode 100644 index 18634e4a..00000000 --- a/router-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# router-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/router-cypress-nightwatch/cypress.config.js b/router-cypress-nightwatch/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/router-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/router-cypress-nightwatch/cypress/e2e/example.cy.js b/router-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/router-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/router-cypress-nightwatch/cypress/e2e/jsconfig.json b/router-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/router-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/router-cypress-nightwatch/cypress/fixtures/example.json b/router-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/router-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/router-cypress-nightwatch/cypress/support/commands.js b/router-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/router-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/router-cypress-nightwatch/cypress/support/component-index.html b/router-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/router-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/router-cypress-nightwatch/cypress/support/component.js b/router-cypress-nightwatch/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/router-cypress-nightwatch/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/router-cypress-nightwatch/cypress/support/e2e.js b/router-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/router-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/router-cypress-nightwatch/index.html b/router-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-cypress-nightwatch/nightwatch.conf.js b/router-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/router-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/router-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/router-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/router-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/router-cypress-nightwatch/nightwatch/globals.js b/router-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-cypress-nightwatch/nightwatch/index.html b/router-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/router-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/router-cypress-nightwatch/package.json b/router-cypress-nightwatch/package.json deleted file mode 100644 index becfb8fc..00000000 --- a/router-cypress-nightwatch/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "router-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/router-cypress-nightwatch/public/favicon.ico b/router-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-cypress-nightwatch/src/App.vue b/router-cypress-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-cypress-nightwatch/src/assets/base.css b/router-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-cypress-nightwatch/src/assets/logo.svg b/router-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-cypress-nightwatch/src/assets/main.css b/router-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-cypress-nightwatch/src/components/HelloWorld.vue b/router-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-cypress-nightwatch/src/components/TheWelcome.vue b/router-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-cypress-nightwatch/src/components/WelcomeItem.vue b/router-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js b/router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/router-cypress-nightwatch/src/components/icons/IconCommunity.vue b/router-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/router-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/router-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-cypress-nightwatch/src/components/icons/IconSupport.vue b/router-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-cypress-nightwatch/src/components/icons/IconTooling.vue b/router-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-cypress-nightwatch/src/main.js b/router-cypress-nightwatch/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/router-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/router-cypress-nightwatch/src/router/index.js b/router-cypress-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-cypress-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-cypress-nightwatch/src/views/AboutView.vue b/router-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-cypress-nightwatch/src/views/HomeView.vue b/router-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-cypress-nightwatch/tests/e2e/example.js b/router-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/router-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/router-cypress-nightwatch/vite.config.js b/router-cypress-nightwatch/vite.config.js deleted file mode 100644 index fd83c5b2..00000000 --- a/router-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-cypress-playwright/.gitignore b/router-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/router-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/router-cypress-playwright/.vscode/extensions.json b/router-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/router-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/router-cypress-playwright/README.md b/router-cypress-playwright/README.md deleted file mode 100644 index 2ebc6811..00000000 --- a/router-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# router-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/router-cypress-playwright/cypress.config.js b/router-cypress-playwright/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/router-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/router-cypress-playwright/cypress/e2e/example.cy.js b/router-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/router-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/router-cypress-playwright/cypress/e2e/jsconfig.json b/router-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/router-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/router-cypress-playwright/cypress/fixtures/example.json b/router-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/router-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/router-cypress-playwright/cypress/support/commands.js b/router-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/router-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/router-cypress-playwright/cypress/support/component-index.html b/router-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/router-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/router-cypress-playwright/cypress/support/component.js b/router-cypress-playwright/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/router-cypress-playwright/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/router-cypress-playwright/cypress/support/e2e.js b/router-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/router-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/router-cypress-playwright/e2e/vue.spec.js b/router-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/router-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/router-cypress-playwright/index.html b/router-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-cypress-playwright/package.json b/router-cypress-playwright/package.json deleted file mode 100644 index 11167806..00000000 --- a/router-cypress-playwright/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "router-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" - } -} diff --git a/router-cypress-playwright/playwright.config.js b/router-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/router-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/router-cypress-playwright/public/favicon.ico b/router-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-cypress-playwright/src/App.vue b/router-cypress-playwright/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-cypress-playwright/src/assets/base.css b/router-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-cypress-playwright/src/assets/logo.svg b/router-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-cypress-playwright/src/assets/main.css b/router-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-cypress-playwright/src/components/HelloWorld.vue b/router-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-cypress-playwright/src/components/TheWelcome.vue b/router-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-cypress-playwright/src/components/WelcomeItem.vue b/router-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-cypress-playwright/src/components/__tests__/HelloWorld.cy.js b/router-cypress-playwright/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/router-cypress-playwright/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/router-cypress-playwright/src/components/icons/IconCommunity.vue b/router-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-cypress-playwright/src/components/icons/IconDocumentation.vue b/router-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-cypress-playwright/src/components/icons/IconEcosystem.vue b/router-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-cypress-playwright/src/components/icons/IconSupport.vue b/router-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-cypress-playwright/src/components/icons/IconTooling.vue b/router-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-cypress-playwright/src/main.js b/router-cypress-playwright/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/router-cypress-playwright/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/router-cypress-playwright/src/router/index.js b/router-cypress-playwright/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-cypress-playwright/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-cypress-playwright/src/views/AboutView.vue b/router-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-cypress-playwright/src/views/HomeView.vue b/router-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-cypress-playwright/vite.config.js b/router-cypress-playwright/vite.config.js deleted file mode 100644 index 5c45e1d9..00000000 --- a/router-cypress-playwright/vite.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-cypress/.gitignore b/router-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router-cypress/.gitignore +++ b/router-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router-cypress/cypress.config.js b/router-cypress/cypress.config.js index c3aba743..c8fac129 100644 --- a/router-cypress/cypress.config.js +++ b/router-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/router-cypress/jsconfig.json b/router-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-cypress/package.json b/router-cypress/package.json index d32fcc21..bd40f182 100644 --- a/router-cypress/package.json +++ b/router-cypress/package.json @@ -2,6 +2,7 @@ "name": "router-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,13 +13,13 @@ "test:unit:dev": "cypress open --component" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "cypress": "^13.6.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5" } } diff --git a/router-cypress/src/assets/main.css b/router-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-cypress/src/assets/main.css +++ b/router-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-nightwatch/.gitignore b/router-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/router-nightwatch/.gitignore +++ b/router-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/router-nightwatch/jsconfig.json b/router-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-nightwatch/nightwatch.conf.js b/router-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/router-nightwatch/nightwatch.conf.js +++ b/router-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/router-nightwatch/nightwatch/globals.js b/router-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-nightwatch/package.json b/router-nightwatch/package.json index 8eaa1109..5011d1a2 100644 --- a/router-nightwatch/package.json +++ b/router-nightwatch/package.json @@ -2,26 +2,28 @@ "name": "router-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*" + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5" } } diff --git a/router-nightwatch/src/assets/main.css b/router-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-nightwatch/src/assets/main.css +++ b/router-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-nightwatch/tests/e2e/example.js b/router-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/router-nightwatch/tests/e2e/example.js +++ b/router-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/router-pinia-cypress-nightwatch/.gitignore b/router-pinia-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/router-pinia-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/router-pinia-cypress-nightwatch/.vscode/extensions.json b/router-pinia-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/router-pinia-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/router-pinia-cypress-nightwatch/README.md b/router-pinia-cypress-nightwatch/README.md deleted file mode 100644 index a1438f91..00000000 --- a/router-pinia-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# router-pinia-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/router-pinia-cypress-nightwatch/cypress.config.js b/router-pinia-cypress-nightwatch/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/router-pinia-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/router-pinia-cypress-nightwatch/cypress/e2e/example.cy.js b/router-pinia-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/router-pinia-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/router-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json b/router-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/router-pinia-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/router-pinia-cypress-nightwatch/cypress/fixtures/example.json b/router-pinia-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/router-pinia-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/router-pinia-cypress-nightwatch/cypress/support/commands.js b/router-pinia-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/router-pinia-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/router-pinia-cypress-nightwatch/cypress/support/component-index.html b/router-pinia-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/router-pinia-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/router-pinia-cypress-nightwatch/cypress/support/component.js b/router-pinia-cypress-nightwatch/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/router-pinia-cypress-nightwatch/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/router-pinia-cypress-nightwatch/cypress/support/e2e.js b/router-pinia-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/router-pinia-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/router-pinia-cypress-nightwatch/index.html b/router-pinia-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-pinia-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-pinia-cypress-nightwatch/nightwatch.conf.js b/router-pinia-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/router-pinia-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/router-pinia-cypress-nightwatch/nightwatch/globals.js b/router-pinia-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-pinia-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-pinia-cypress-nightwatch/nightwatch/index.html b/router-pinia-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/router-pinia-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/router-pinia-cypress-nightwatch/package.json b/router-pinia-cypress-nightwatch/package.json deleted file mode 100644 index 30b1e934..00000000 --- a/router-pinia-cypress-nightwatch/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "router-pinia-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/router-pinia-cypress-nightwatch/public/favicon.ico b/router-pinia-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-pinia-cypress-nightwatch/src/App.vue b/router-pinia-cypress-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-pinia-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-pinia-cypress-nightwatch/src/assets/base.css b/router-pinia-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-pinia-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-pinia-cypress-nightwatch/src/assets/logo.svg b/router-pinia-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-pinia-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-pinia-cypress-nightwatch/src/assets/main.css b/router-pinia-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-pinia-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-pinia-cypress-nightwatch/src/components/HelloWorld.vue b/router-pinia-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-pinia-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-pinia-cypress-nightwatch/src/components/TheWelcome.vue b/router-pinia-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-pinia-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue b/router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js b/router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue b/router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue b/router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue b/router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-pinia-cypress-nightwatch/src/main.js b/router-pinia-cypress-nightwatch/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/router-pinia-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/router-pinia-cypress-nightwatch/src/router/index.js b/router-pinia-cypress-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-pinia-cypress-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-pinia-cypress-nightwatch/src/stores/counter.js b/router-pinia-cypress-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/router-pinia-cypress-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/router-pinia-cypress-nightwatch/src/views/AboutView.vue b/router-pinia-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-pinia-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-pinia-cypress-nightwatch/src/views/HomeView.vue b/router-pinia-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-pinia-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-pinia-cypress-nightwatch/tests/e2e/example.js b/router-pinia-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/router-pinia-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/router-pinia-cypress-nightwatch/vite.config.js b/router-pinia-cypress-nightwatch/vite.config.js deleted file mode 100644 index fd83c5b2..00000000 --- a/router-pinia-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-pinia-cypress-playwright/.gitignore b/router-pinia-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/router-pinia-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/router-pinia-cypress-playwright/.vscode/extensions.json b/router-pinia-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/router-pinia-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/router-pinia-cypress-playwright/README.md b/router-pinia-cypress-playwright/README.md deleted file mode 100644 index 48ed2d37..00000000 --- a/router-pinia-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# router-pinia-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/router-pinia-cypress-playwright/cypress.config.js b/router-pinia-cypress-playwright/cypress.config.js deleted file mode 100644 index c3aba743..00000000 --- a/router-pinia-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/router-pinia-cypress-playwright/cypress/e2e/example.cy.js b/router-pinia-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/router-pinia-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/router-pinia-cypress-playwright/cypress/e2e/jsconfig.json b/router-pinia-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/router-pinia-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/router-pinia-cypress-playwright/cypress/fixtures/example.json b/router-pinia-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/router-pinia-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/router-pinia-cypress-playwright/cypress/support/commands.js b/router-pinia-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/router-pinia-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/router-pinia-cypress-playwright/cypress/support/component-index.html b/router-pinia-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/router-pinia-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/router-pinia-cypress-playwright/cypress/support/component.js b/router-pinia-cypress-playwright/cypress/support/component.js deleted file mode 100644 index 7283cad6..00000000 --- a/router-pinia-cypress-playwright/cypress/support/component.js +++ /dev/null @@ -1,30 +0,0 @@ -// *********************************************************** -// This example support/component.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/router-pinia-cypress-playwright/cypress/support/e2e.js b/router-pinia-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/router-pinia-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/router-pinia-cypress-playwright/e2e/vue.spec.js b/router-pinia-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/router-pinia-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/router-pinia-cypress-playwright/index.html b/router-pinia-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-pinia-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-pinia-cypress-playwright/package.json b/router-pinia-cypress-playwright/package.json deleted file mode 100644 index 0bb0bf6e..00000000 --- a/router-pinia-cypress-playwright/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "router-pinia-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" - } -} diff --git a/router-pinia-cypress-playwright/playwright.config.js b/router-pinia-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/router-pinia-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/router-pinia-cypress-playwright/public/favicon.ico b/router-pinia-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-pinia-cypress-playwright/src/App.vue b/router-pinia-cypress-playwright/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-pinia-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-pinia-cypress-playwright/src/assets/base.css b/router-pinia-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-pinia-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-pinia-cypress-playwright/src/assets/logo.svg b/router-pinia-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-pinia-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-pinia-cypress-playwright/src/assets/main.css b/router-pinia-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-pinia-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-pinia-cypress-playwright/src/components/HelloWorld.vue b/router-pinia-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-pinia-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-pinia-cypress-playwright/src/components/TheWelcome.vue b/router-pinia-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-pinia-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-pinia-cypress-playwright/src/components/WelcomeItem.vue b/router-pinia-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-pinia-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js b/router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js deleted file mode 100644 index 535a0e51..00000000 --- a/router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.js +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue b/router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue b/router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue b/router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-cypress-playwright/src/components/icons/IconSupport.vue b/router-pinia-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-pinia-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-cypress-playwright/src/components/icons/IconTooling.vue b/router-pinia-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-pinia-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-pinia-cypress-playwright/src/main.js b/router-pinia-cypress-playwright/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/router-pinia-cypress-playwright/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/router-pinia-cypress-playwright/src/router/index.js b/router-pinia-cypress-playwright/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-pinia-cypress-playwright/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-pinia-cypress-playwright/src/stores/counter.js b/router-pinia-cypress-playwright/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/router-pinia-cypress-playwright/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/router-pinia-cypress-playwright/src/views/AboutView.vue b/router-pinia-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-pinia-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-pinia-cypress-playwright/src/views/HomeView.vue b/router-pinia-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-pinia-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-pinia-cypress-playwright/vite.config.js b/router-pinia-cypress-playwright/vite.config.js deleted file mode 100644 index 5c45e1d9..00000000 --- a/router-pinia-cypress-playwright/vite.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-pinia-cypress/.gitignore b/router-pinia-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router-pinia-cypress/.gitignore +++ b/router-pinia-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router-pinia-cypress/cypress.config.js b/router-pinia-cypress/cypress.config.js index c3aba743..c8fac129 100644 --- a/router-pinia-cypress/cypress.config.js +++ b/router-pinia-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/router-pinia-cypress/jsconfig.json b/router-pinia-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-pinia-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-pinia-cypress/package.json b/router-pinia-cypress/package.json index fcfa3f49..282bdd04 100644 --- a/router-pinia-cypress/package.json +++ b/router-pinia-cypress/package.json @@ -2,6 +2,7 @@ "name": "router-pinia-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -13,13 +14,13 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "cypress": "^13.3.1", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "cypress": "^13.6.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5" } } diff --git a/router-pinia-cypress/src/assets/main.css b/router-pinia-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-pinia-cypress/src/assets/main.css +++ b/router-pinia-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-pinia-nightwatch/.gitignore b/router-pinia-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/router-pinia-nightwatch/.gitignore +++ b/router-pinia-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/router-pinia-nightwatch/jsconfig.json b/router-pinia-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-pinia-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-pinia-nightwatch/nightwatch.conf.js b/router-pinia-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/router-pinia-nightwatch/nightwatch.conf.js +++ b/router-pinia-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/router-pinia-nightwatch/nightwatch/globals.js b/router-pinia-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-pinia-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-pinia-nightwatch/package.json b/router-pinia-nightwatch/package.json index 382ef3ba..75e9867e 100644 --- a/router-pinia-nightwatch/package.json +++ b/router-pinia-nightwatch/package.json @@ -2,27 +2,29 @@ "name": "router-pinia-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*" + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5" } } diff --git a/router-pinia-nightwatch/src/assets/main.css b/router-pinia-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-pinia-nightwatch/src/assets/main.css +++ b/router-pinia-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-pinia-nightwatch/tests/e2e/example.js b/router-pinia-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/router-pinia-nightwatch/tests/e2e/example.js +++ b/router-pinia-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/router-pinia-playwright-nightwatch/.gitignore b/router-pinia-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/router-pinia-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/router-pinia-playwright-nightwatch/.vscode/extensions.json b/router-pinia-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/router-pinia-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/router-pinia-playwright-nightwatch/README.md b/router-pinia-playwright-nightwatch/README.md deleted file mode 100644 index 3976e02c..00000000 --- a/router-pinia-playwright-nightwatch/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# router-pinia-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/router-pinia-playwright-nightwatch/e2e/vue.spec.js b/router-pinia-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/router-pinia-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/router-pinia-playwright-nightwatch/index.html b/router-pinia-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-pinia-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-pinia-playwright-nightwatch/nightwatch.conf.js b/router-pinia-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/router-pinia-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/router-pinia-playwright-nightwatch/nightwatch/globals.js b/router-pinia-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-pinia-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-pinia-playwright-nightwatch/nightwatch/index.html b/router-pinia-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/router-pinia-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/router-pinia-playwright-nightwatch/package.json b/router-pinia-playwright-nightwatch/package.json deleted file mode 100644 index 8e2e379e..00000000 --- a/router-pinia-playwright-nightwatch/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "router-pinia-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/router-pinia-playwright-nightwatch/playwright.config.js b/router-pinia-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/router-pinia-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/router-pinia-playwright-nightwatch/public/favicon.ico b/router-pinia-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-pinia-playwright-nightwatch/src/App.vue b/router-pinia-playwright-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-pinia-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-pinia-playwright-nightwatch/src/assets/base.css b/router-pinia-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-pinia-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-pinia-playwright-nightwatch/src/assets/logo.svg b/router-pinia-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-pinia-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-pinia-playwright-nightwatch/src/assets/main.css b/router-pinia-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-pinia-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-pinia-playwright-nightwatch/src/components/HelloWorld.vue b/router-pinia-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-pinia-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-pinia-playwright-nightwatch/src/components/TheWelcome.vue b/router-pinia-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-pinia-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue b/router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue b/router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue b/router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue b/router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-pinia-playwright-nightwatch/src/main.js b/router-pinia-playwright-nightwatch/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/router-pinia-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/router-pinia-playwright-nightwatch/src/router/index.js b/router-pinia-playwright-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-pinia-playwright-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-pinia-playwright-nightwatch/src/stores/counter.js b/router-pinia-playwright-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/router-pinia-playwright-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/router-pinia-playwright-nightwatch/src/views/AboutView.vue b/router-pinia-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-pinia-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-pinia-playwright-nightwatch/src/views/HomeView.vue b/router-pinia-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-pinia-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-pinia-playwright-nightwatch/tests/e2e/example.js b/router-pinia-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/router-pinia-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/router-pinia-playwright-nightwatch/vite.config.js b/router-pinia-playwright-nightwatch/vite.config.js deleted file mode 100644 index fd83c5b2..00000000 --- a/router-pinia-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-pinia-playwright/.gitignore b/router-pinia-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/router-pinia-playwright/.gitignore +++ b/router-pinia-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/router-pinia-playwright/e2e/vue.spec.js b/router-pinia-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/router-pinia-playwright/e2e/vue.spec.js +++ b/router-pinia-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/router-pinia-playwright/jsconfig.json b/router-pinia-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-pinia-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-pinia-playwright/package.json b/router-pinia-playwright/package.json index bcce969d..9aaab862 100644 --- a/router-pinia-playwright/package.json +++ b/router-pinia-playwright/package.json @@ -2,6 +2,7 @@ "name": "router-pinia-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,12 +11,12 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "vite": "^4.4.11" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "vite": "^5.0.5" } } diff --git a/router-pinia-playwright/playwright.config.js b/router-pinia-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/router-pinia-playwright/playwright.config.js +++ b/router-pinia-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/router-pinia-playwright/src/assets/main.css b/router-pinia-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-pinia-playwright/src/assets/main.css +++ b/router-pinia-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-pinia-vitest-cypress-nightwatch/.gitignore b/router-pinia-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/router-pinia-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json b/router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/router-pinia-vitest-cypress-nightwatch/README.md b/router-pinia-vitest-cypress-nightwatch/README.md deleted file mode 100644 index 05bcafe8..00000000 --- a/router-pinia-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# router-pinia-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/router-pinia-vitest-cypress-nightwatch/cypress.config.js b/router-pinia-vitest-cypress-nightwatch/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/router-pinia-vitest-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js b/router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/router-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json b/router-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/router-pinia-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json b/router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/router-pinia-vitest-cypress-nightwatch/cypress/support/commands.js b/router-pinia-vitest-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/router-pinia-vitest-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js b/router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/router-pinia-vitest-cypress-nightwatch/index.html b/router-pinia-vitest-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-pinia-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-pinia-vitest-cypress-nightwatch/nightwatch.conf.js b/router-pinia-vitest-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/router-pinia-vitest-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js b/router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-pinia-vitest-cypress-nightwatch/package.json b/router-pinia-vitest-cypress-nightwatch/package.json deleted file mode 100644 index c57fcbfc..00000000 --- a/router-pinia-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "router-pinia-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/router-pinia-vitest-cypress-nightwatch/public/favicon.ico b/router-pinia-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-pinia-vitest-cypress-nightwatch/src/App.vue b/router-pinia-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-pinia-vitest-cypress-nightwatch/src/assets/base.css b/router-pinia-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg b/router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-nightwatch/src/assets/main.css b/router-pinia-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-pinia-vitest-cypress-nightwatch/src/main.js b/router-pinia-vitest-cypress-nightwatch/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/router-pinia-vitest-cypress-nightwatch/src/router/index.js b/router-pinia-vitest-cypress-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-pinia-vitest-cypress-nightwatch/src/stores/counter.js b/router-pinia-vitest-cypress-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue b/router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue b/router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-pinia-vitest-cypress-nightwatch/tests/e2e/example.js b/router-pinia-vitest-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/router-pinia-vitest-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/router-pinia-vitest-cypress-nightwatch/vite.config.js b/router-pinia-vitest-cypress-nightwatch/vite.config.js deleted file mode 100644 index be3cb9c5..00000000 --- a/router-pinia-vitest-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-pinia-vitest-cypress-nightwatch/vitest.config.js b/router-pinia-vitest-cypress-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/router-pinia-vitest-cypress-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/router-pinia-vitest-cypress-playwright/.gitignore b/router-pinia-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/router-pinia-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/router-pinia-vitest-cypress-playwright/.vscode/extensions.json b/router-pinia-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/router-pinia-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/router-pinia-vitest-cypress-playwright/README.md b/router-pinia-vitest-cypress-playwright/README.md deleted file mode 100644 index b54efd6d..00000000 --- a/router-pinia-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# router-pinia-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/router-pinia-vitest-cypress-playwright/cypress.config.js b/router-pinia-vitest-cypress-playwright/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/router-pinia-vitest-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js b/router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/router-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json b/router-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/router-pinia-vitest-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json b/router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/router-pinia-vitest-cypress-playwright/cypress/support/commands.js b/router-pinia-vitest-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/router-pinia-vitest-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/router-pinia-vitest-cypress-playwright/cypress/support/e2e.js b/router-pinia-vitest-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/router-pinia-vitest-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/router-pinia-vitest-cypress-playwright/e2e/vue.spec.js b/router-pinia-vitest-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/router-pinia-vitest-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/router-pinia-vitest-cypress-playwright/index.html b/router-pinia-vitest-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-pinia-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-pinia-vitest-cypress-playwright/package.json b/router-pinia-vitest-cypress-playwright/package.json deleted file mode 100644 index d5f4043e..00000000 --- a/router-pinia-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "router-pinia-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" - } -} diff --git a/router-pinia-vitest-cypress-playwright/playwright.config.js b/router-pinia-vitest-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/router-pinia-vitest-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/router-pinia-vitest-cypress-playwright/public/favicon.ico b/router-pinia-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-pinia-vitest-cypress-playwright/src/App.vue b/router-pinia-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-pinia-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-pinia-vitest-cypress-playwright/src/assets/base.css b/router-pinia-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-pinia-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-pinia-vitest-cypress-playwright/src/assets/logo.svg b/router-pinia-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-pinia-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-playwright/src/assets/main.css b/router-pinia-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-pinia-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue b/router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue b/router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue b/router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js b/router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-pinia-vitest-cypress-playwright/src/main.js b/router-pinia-vitest-cypress-playwright/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/router-pinia-vitest-cypress-playwright/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/router-pinia-vitest-cypress-playwright/src/router/index.js b/router-pinia-vitest-cypress-playwright/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-pinia-vitest-cypress-playwright/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-pinia-vitest-cypress-playwright/src/stores/counter.js b/router-pinia-vitest-cypress-playwright/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/router-pinia-vitest-cypress-playwright/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/router-pinia-vitest-cypress-playwright/src/views/AboutView.vue b/router-pinia-vitest-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-pinia-vitest-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-pinia-vitest-cypress-playwright/src/views/HomeView.vue b/router-pinia-vitest-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-pinia-vitest-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-pinia-vitest-cypress-playwright/vite.config.js b/router-pinia-vitest-cypress-playwright/vite.config.js deleted file mode 100644 index 5c45e1d9..00000000 --- a/router-pinia-vitest-cypress-playwright/vite.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-pinia-vitest-cypress-playwright/vitest.config.js b/router-pinia-vitest-cypress-playwright/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/router-pinia-vitest-cypress-playwright/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/router-pinia-vitest-cypress/.gitignore b/router-pinia-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router-pinia-vitest-cypress/.gitignore +++ b/router-pinia-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router-pinia-vitest-cypress/cypress.config.js b/router-pinia-vitest-cypress/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/router-pinia-vitest-cypress/cypress.config.js +++ b/router-pinia-vitest-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/router-pinia-vitest-cypress/jsconfig.json b/router-pinia-vitest-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-pinia-vitest-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-pinia-vitest-cypress/package.json b/router-pinia-vitest-cypress/package.json index 43b61de4..7944fa00 100644 --- a/router-pinia-vitest-cypress/package.json +++ b/router-pinia-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "router-pinia-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,16 +13,16 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/router-pinia-vitest-cypress/src/assets/main.css b/router-pinia-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-pinia-vitest-cypress/src/assets/main.css +++ b/router-pinia-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-pinia-vitest-nightwatch/.gitignore b/router-pinia-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/router-pinia-vitest-nightwatch/.gitignore +++ b/router-pinia-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/router-pinia-vitest-nightwatch/jsconfig.json b/router-pinia-vitest-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-pinia-vitest-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-pinia-vitest-nightwatch/nightwatch.conf.js b/router-pinia-vitest-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/router-pinia-vitest-nightwatch/nightwatch.conf.js +++ b/router-pinia-vitest-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/router-pinia-vitest-nightwatch/nightwatch/globals.js b/router-pinia-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-pinia-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-pinia-vitest-nightwatch/package.json b/router-pinia-vitest-nightwatch/package.json index f36c5908..d4b316d4 100644 --- a/router-pinia-vitest-nightwatch/package.json +++ b/router-pinia-vitest-nightwatch/package.json @@ -2,30 +2,31 @@ "name": "router-pinia-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e" + "test:e2e": "nightwatch tests/e2e/*" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1" } } diff --git a/router-pinia-vitest-nightwatch/src/assets/main.css b/router-pinia-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-pinia-vitest-nightwatch/src/assets/main.css +++ b/router-pinia-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-pinia-vitest-nightwatch/tests/e2e/example.js b/router-pinia-vitest-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/router-pinia-vitest-nightwatch/tests/e2e/example.js +++ b/router-pinia-vitest-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/router-pinia-vitest-playwright-nightwatch/.gitignore b/router-pinia-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/router-pinia-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json b/router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/router-pinia-vitest-playwright-nightwatch/README.md b/router-pinia-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 4a740396..00000000 --- a/router-pinia-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# router-pinia-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js b/router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/router-pinia-vitest-playwright-nightwatch/index.html b/router-pinia-vitest-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-pinia-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-pinia-vitest-playwright-nightwatch/nightwatch.conf.js b/router-pinia-vitest-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/router-pinia-vitest-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js b/router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-pinia-vitest-playwright-nightwatch/package.json b/router-pinia-vitest-playwright-nightwatch/package.json deleted file mode 100644 index 7ab37560..00000000 --- a/router-pinia-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "router-pinia-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/router-pinia-vitest-playwright-nightwatch/playwright.config.js b/router-pinia-vitest-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/router-pinia-vitest-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/router-pinia-vitest-playwright-nightwatch/public/favicon.ico b/router-pinia-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-pinia-vitest-playwright-nightwatch/src/App.vue b/router-pinia-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-pinia-vitest-playwright-nightwatch/src/assets/base.css b/router-pinia-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg b/router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-pinia-vitest-playwright-nightwatch/src/assets/main.css b/router-pinia-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-pinia-vitest-playwright-nightwatch/src/main.js b/router-pinia-vitest-playwright-nightwatch/src/main.js deleted file mode 100644 index 5dcad83c..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/router-pinia-vitest-playwright-nightwatch/src/router/index.js b/router-pinia-vitest-playwright-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-pinia-vitest-playwright-nightwatch/src/stores/counter.js b/router-pinia-vitest-playwright-nightwatch/src/stores/counter.js deleted file mode 100644 index b6757ba5..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/stores/counter.js +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue b/router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue b/router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-pinia-vitest-playwright-nightwatch/tests/e2e/example.js b/router-pinia-vitest-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/router-pinia-vitest-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/router-pinia-vitest-playwright-nightwatch/vite.config.js b/router-pinia-vitest-playwright-nightwatch/vite.config.js deleted file mode 100644 index be3cb9c5..00000000 --- a/router-pinia-vitest-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-pinia-vitest-playwright-nightwatch/vitest.config.js b/router-pinia-vitest-playwright-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/router-pinia-vitest-playwright-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/router-pinia-vitest-playwright/.gitignore b/router-pinia-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/router-pinia-vitest-playwright/.gitignore +++ b/router-pinia-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/router-pinia-vitest-playwright/e2e/vue.spec.js b/router-pinia-vitest-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/router-pinia-vitest-playwright/e2e/vue.spec.js +++ b/router-pinia-vitest-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/router-pinia-vitest-playwright/jsconfig.json b/router-pinia-vitest-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-pinia-vitest-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-pinia-vitest-playwright/package.json b/router-pinia-vitest-playwright/package.json index d4e832ce..37f4c021 100644 --- a/router-pinia-vitest-playwright/package.json +++ b/router-pinia-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "router-pinia-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,15 +12,15 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/router-pinia-vitest-playwright/playwright.config.js b/router-pinia-vitest-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/router-pinia-vitest-playwright/playwright.config.js +++ b/router-pinia-vitest-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/router-pinia-vitest-playwright/src/assets/main.css b/router-pinia-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-pinia-vitest-playwright/src/assets/main.css +++ b/router-pinia-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-pinia-vitest/.gitignore b/router-pinia-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router-pinia-vitest/.gitignore +++ b/router-pinia-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router-pinia-vitest/jsconfig.json b/router-pinia-vitest/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-pinia-vitest/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-pinia-vitest/package.json b/router-pinia-vitest/package.json index 1c50e0df..ea298355 100644 --- a/router-pinia-vitest/package.json +++ b/router-pinia-vitest/package.json @@ -2,6 +2,7 @@ "name": "router-pinia-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,14 +11,14 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/router-pinia-vitest/src/assets/main.css b/router-pinia-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-pinia-vitest/src/assets/main.css +++ b/router-pinia-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-pinia-with-tests/.gitignore b/router-pinia-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router-pinia-with-tests/.gitignore +++ b/router-pinia-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router-pinia-with-tests/cypress.config.js b/router-pinia-with-tests/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/router-pinia-with-tests/cypress.config.js +++ b/router-pinia-with-tests/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/router-pinia-with-tests/jsconfig.json b/router-pinia-with-tests/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-pinia-with-tests/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-pinia-with-tests/package.json b/router-pinia-with-tests/package.json index 9a965f1d..7600b62c 100644 --- a/router-pinia-with-tests/package.json +++ b/router-pinia-with-tests/package.json @@ -2,6 +2,7 @@ "name": "router-pinia-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,16 +13,16 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/router-pinia-with-tests/src/assets/main.css b/router-pinia-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-pinia-with-tests/src/assets/main.css +++ b/router-pinia-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-pinia/.gitignore b/router-pinia/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router-pinia/.gitignore +++ b/router-pinia/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router-pinia/jsconfig.json b/router-pinia/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-pinia/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-pinia/package.json b/router-pinia/package.json index a56d3b8c..4d54fe3b 100644 --- a/router-pinia/package.json +++ b/router-pinia/package.json @@ -2,6 +2,7 @@ "name": "router-pinia", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,11 +10,11 @@ }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "vite": "^5.0.5" } } diff --git a/router-pinia/src/assets/main.css b/router-pinia/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-pinia/src/assets/main.css +++ b/router-pinia/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-playwright-nightwatch/.gitignore b/router-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/router-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/router-playwright-nightwatch/.vscode/extensions.json b/router-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/router-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/router-playwright-nightwatch/README.md b/router-playwright-nightwatch/README.md deleted file mode 100644 index 3dc863d1..00000000 --- a/router-playwright-nightwatch/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# router-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/router-playwright-nightwatch/e2e/vue.spec.js b/router-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/router-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/router-playwright-nightwatch/index.html b/router-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-playwright-nightwatch/nightwatch.conf.js b/router-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/router-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/router-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/router-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/router-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/router-playwright-nightwatch/nightwatch/globals.js b/router-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-playwright-nightwatch/nightwatch/index.html b/router-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/router-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/router-playwright-nightwatch/package.json b/router-playwright-nightwatch/package.json deleted file mode 100644 index 66277211..00000000 --- a/router-playwright-nightwatch/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "router-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "wait-on": "^7.0.1" - } -} diff --git a/router-playwright-nightwatch/playwright.config.js b/router-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/router-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/router-playwright-nightwatch/public/favicon.ico b/router-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-playwright-nightwatch/src/App.vue b/router-playwright-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-playwright-nightwatch/src/assets/base.css b/router-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-playwright-nightwatch/src/assets/logo.svg b/router-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-playwright-nightwatch/src/assets/main.css b/router-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-playwright-nightwatch/src/components/HelloWorld.vue b/router-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-playwright-nightwatch/src/components/TheWelcome.vue b/router-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-playwright-nightwatch/src/components/WelcomeItem.vue b/router-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 810641e6..00000000 --- a/router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/router-playwright-nightwatch/src/components/icons/IconCommunity.vue b/router-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/router-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/router-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-playwright-nightwatch/src/components/icons/IconSupport.vue b/router-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-playwright-nightwatch/src/components/icons/IconTooling.vue b/router-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-playwright-nightwatch/src/main.js b/router-playwright-nightwatch/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/router-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/router-playwright-nightwatch/src/router/index.js b/router-playwright-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-playwright-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-playwright-nightwatch/src/views/AboutView.vue b/router-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-playwright-nightwatch/src/views/HomeView.vue b/router-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-playwright-nightwatch/tests/e2e/example.js b/router-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/router-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/router-playwright-nightwatch/vite.config.js b/router-playwright-nightwatch/vite.config.js deleted file mode 100644 index fd83c5b2..00000000 --- a/router-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-playwright/.gitignore b/router-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/router-playwright/.gitignore +++ b/router-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/router-playwright/e2e/vue.spec.js b/router-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/router-playwright/e2e/vue.spec.js +++ b/router-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/router-playwright/jsconfig.json b/router-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-playwright/package.json b/router-playwright/package.json index 597f6202..8e093569 100644 --- a/router-playwright/package.json +++ b/router-playwright/package.json @@ -2,6 +2,7 @@ "name": "router-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,12 +10,12 @@ "test:e2e": "playwright test" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "vite": "^4.4.11" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "vite": "^5.0.5" } } diff --git a/router-playwright/playwright.config.js b/router-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/router-playwright/playwright.config.js +++ b/router-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/router-playwright/src/assets/main.css b/router-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-playwright/src/assets/main.css +++ b/router-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-vitest-cypress-nightwatch/.gitignore b/router-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/router-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/router-vitest-cypress-nightwatch/.vscode/extensions.json b/router-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/router-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/router-vitest-cypress-nightwatch/README.md b/router-vitest-cypress-nightwatch/README.md deleted file mode 100644 index 77585e69..00000000 --- a/router-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# router-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/router-vitest-cypress-nightwatch/cypress.config.js b/router-vitest-cypress-nightwatch/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/router-vitest-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/router-vitest-cypress-nightwatch/cypress/e2e/example.cy.js b/router-vitest-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/router-vitest-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/router-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json b/router-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/router-vitest-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/router-vitest-cypress-nightwatch/cypress/fixtures/example.json b/router-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/router-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/router-vitest-cypress-nightwatch/cypress/support/commands.js b/router-vitest-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/router-vitest-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/router-vitest-cypress-nightwatch/cypress/support/e2e.js b/router-vitest-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/router-vitest-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/router-vitest-cypress-nightwatch/index.html b/router-vitest-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-vitest-cypress-nightwatch/nightwatch.conf.js b/router-vitest-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/router-vitest-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/router-vitest-cypress-nightwatch/nightwatch/globals.js b/router-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-vitest-cypress-nightwatch/package.json b/router-vitest-cypress-nightwatch/package.json deleted file mode 100644 index cced0ded..00000000 --- a/router-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "router-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/router-vitest-cypress-nightwatch/public/favicon.ico b/router-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-vitest-cypress-nightwatch/src/App.vue b/router-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-vitest-cypress-nightwatch/src/assets/base.css b/router-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-vitest-cypress-nightwatch/src/assets/logo.svg b/router-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-vitest-cypress-nightwatch/src/assets/main.css b/router-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/router-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/router-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-vitest-cypress-nightwatch/src/main.js b/router-vitest-cypress-nightwatch/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/router-vitest-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/router-vitest-cypress-nightwatch/src/router/index.js b/router-vitest-cypress-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-vitest-cypress-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-vitest-cypress-nightwatch/src/views/AboutView.vue b/router-vitest-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-vitest-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-vitest-cypress-nightwatch/src/views/HomeView.vue b/router-vitest-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-vitest-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-vitest-cypress-nightwatch/tests/e2e/example.js b/router-vitest-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/router-vitest-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/router-vitest-cypress-nightwatch/vite.config.js b/router-vitest-cypress-nightwatch/vite.config.js deleted file mode 100644 index be3cb9c5..00000000 --- a/router-vitest-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-vitest-cypress-nightwatch/vitest.config.js b/router-vitest-cypress-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/router-vitest-cypress-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/router-vitest-cypress-playwright/.gitignore b/router-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/router-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/router-vitest-cypress-playwright/.vscode/extensions.json b/router-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/router-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/router-vitest-cypress-playwright/README.md b/router-vitest-cypress-playwright/README.md deleted file mode 100644 index 052ebfa2..00000000 --- a/router-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# router-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/router-vitest-cypress-playwright/cypress.config.js b/router-vitest-cypress-playwright/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/router-vitest-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/router-vitest-cypress-playwright/cypress/e2e/example.cy.js b/router-vitest-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/router-vitest-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/router-vitest-cypress-playwright/cypress/e2e/jsconfig.json b/router-vitest-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/router-vitest-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/router-vitest-cypress-playwright/cypress/fixtures/example.json b/router-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/router-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/router-vitest-cypress-playwright/cypress/support/commands.js b/router-vitest-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/router-vitest-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/router-vitest-cypress-playwright/cypress/support/e2e.js b/router-vitest-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/router-vitest-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/router-vitest-cypress-playwright/e2e/vue.spec.js b/router-vitest-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/router-vitest-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/router-vitest-cypress-playwright/index.html b/router-vitest-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-vitest-cypress-playwright/package.json b/router-vitest-cypress-playwright/package.json deleted file mode 100644 index 027bc764..00000000 --- a/router-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "router-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" - } -} diff --git a/router-vitest-cypress-playwright/playwright.config.js b/router-vitest-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/router-vitest-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/router-vitest-cypress-playwright/public/favicon.ico b/router-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-vitest-cypress-playwright/src/App.vue b/router-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-vitest-cypress-playwright/src/assets/base.css b/router-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-vitest-cypress-playwright/src/assets/logo.svg b/router-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-vitest-cypress-playwright/src/assets/main.css b/router-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-vitest-cypress-playwright/src/components/HelloWorld.vue b/router-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-vitest-cypress-playwright/src/components/TheWelcome.vue b/router-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-vitest-cypress-playwright/src/components/WelcomeItem.vue b/router-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js b/router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/router-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/router-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-vitest-cypress-playwright/src/main.js b/router-vitest-cypress-playwright/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/router-vitest-cypress-playwright/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/router-vitest-cypress-playwright/src/router/index.js b/router-vitest-cypress-playwright/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-vitest-cypress-playwright/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-vitest-cypress-playwright/src/views/AboutView.vue b/router-vitest-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-vitest-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-vitest-cypress-playwright/src/views/HomeView.vue b/router-vitest-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-vitest-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-vitest-cypress-playwright/vite.config.js b/router-vitest-cypress-playwright/vite.config.js deleted file mode 100644 index 5c45e1d9..00000000 --- a/router-vitest-cypress-playwright/vite.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-vitest-cypress-playwright/vitest.config.js b/router-vitest-cypress-playwright/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/router-vitest-cypress-playwright/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/router-vitest-cypress/.gitignore b/router-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router-vitest-cypress/.gitignore +++ b/router-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router-vitest-cypress/cypress.config.js b/router-vitest-cypress/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/router-vitest-cypress/cypress.config.js +++ b/router-vitest-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/router-vitest-cypress/jsconfig.json b/router-vitest-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-vitest-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-vitest-cypress/package.json b/router-vitest-cypress/package.json index c6919dcb..187aade8 100644 --- a/router-vitest-cypress/package.json +++ b/router-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "router-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,16 +12,16 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/router-vitest-cypress/src/assets/main.css b/router-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-vitest-cypress/src/assets/main.css +++ b/router-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-vitest-nightwatch/.gitignore b/router-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/router-vitest-nightwatch/.gitignore +++ b/router-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/router-vitest-nightwatch/jsconfig.json b/router-vitest-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-vitest-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-vitest-nightwatch/nightwatch.conf.js b/router-vitest-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/router-vitest-nightwatch/nightwatch.conf.js +++ b/router-vitest-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/router-vitest-nightwatch/nightwatch/globals.js b/router-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-vitest-nightwatch/package.json b/router-vitest-nightwatch/package.json index f4e615f3..62899b7a 100644 --- a/router-vitest-nightwatch/package.json +++ b/router-vitest-nightwatch/package.json @@ -2,29 +2,30 @@ "name": "router-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e" + "test:e2e": "nightwatch tests/e2e/*" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1" } } diff --git a/router-vitest-nightwatch/src/assets/main.css b/router-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-vitest-nightwatch/src/assets/main.css +++ b/router-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-vitest-nightwatch/tests/e2e/example.js b/router-vitest-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/router-vitest-nightwatch/tests/e2e/example.js +++ b/router-vitest-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/router-vitest-playwright-nightwatch/.gitignore b/router-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/router-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/router-vitest-playwright-nightwatch/.vscode/extensions.json b/router-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/router-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/router-vitest-playwright-nightwatch/README.md b/router-vitest-playwright-nightwatch/README.md deleted file mode 100644 index a43ad95c..00000000 --- a/router-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# router-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/router-vitest-playwright-nightwatch/e2e/vue.spec.js b/router-vitest-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/router-vitest-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/router-vitest-playwright-nightwatch/index.html b/router-vitest-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/router-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/router-vitest-playwright-nightwatch/nightwatch.conf.js b/router-vitest-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/router-vitest-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/router-vitest-playwright-nightwatch/nightwatch/globals.js b/router-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/router-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/router-vitest-playwright-nightwatch/package.json b/router-vitest-playwright-nightwatch/package.json deleted file mode 100644 index 3628a2f9..00000000 --- a/router-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "router-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/router-vitest-playwright-nightwatch/playwright.config.js b/router-vitest-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/router-vitest-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/router-vitest-playwright-nightwatch/public/favicon.ico b/router-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/router-vitest-playwright-nightwatch/src/App.vue b/router-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index e8641950..00000000 --- a/router-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/router-vitest-playwright-nightwatch/src/assets/base.css b/router-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/router-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/router-vitest-playwright-nightwatch/src/assets/logo.svg b/router-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/router-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/router-vitest-playwright-nightwatch/src/assets/main.css b/router-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/router-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/router-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/router-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/router-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/router-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/router-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/router-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index ac366d07..00000000 --- a/router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/router-vitest-playwright-nightwatch/src/main.js b/router-vitest-playwright-nightwatch/src/main.js deleted file mode 100644 index 5a5dbdba..00000000 --- a/router-vitest-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/router-vitest-playwright-nightwatch/src/router/index.js b/router-vitest-playwright-nightwatch/src/router/index.js deleted file mode 100644 index a49ae507..00000000 --- a/router-vitest-playwright-nightwatch/src/router/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/router-vitest-playwright-nightwatch/src/views/AboutView.vue b/router-vitest-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/router-vitest-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/router-vitest-playwright-nightwatch/src/views/HomeView.vue b/router-vitest-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index 6bb706f0..00000000 --- a/router-vitest-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/router-vitest-playwright-nightwatch/tests/e2e/example.js b/router-vitest-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/router-vitest-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/router-vitest-playwright-nightwatch/vite.config.js b/router-vitest-playwright-nightwatch/vite.config.js deleted file mode 100644 index be3cb9c5..00000000 --- a/router-vitest-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/router-vitest-playwright-nightwatch/vitest.config.js b/router-vitest-playwright-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/router-vitest-playwright-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/router-vitest-playwright/.gitignore b/router-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/router-vitest-playwright/.gitignore +++ b/router-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/router-vitest-playwright/e2e/vue.spec.js b/router-vitest-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/router-vitest-playwright/e2e/vue.spec.js +++ b/router-vitest-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/router-vitest-playwright/jsconfig.json b/router-vitest-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-vitest-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-vitest-playwright/package.json b/router-vitest-playwright/package.json index a0d0dfd4..873a77eb 100644 --- a/router-vitest-playwright/package.json +++ b/router-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "router-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,15 +11,15 @@ "test:e2e": "playwright test" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/router-vitest-playwright/playwright.config.js b/router-vitest-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/router-vitest-playwright/playwright.config.js +++ b/router-vitest-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/router-vitest-playwright/src/assets/main.css b/router-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-vitest-playwright/src/assets/main.css +++ b/router-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-vitest/.gitignore b/router-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router-vitest/.gitignore +++ b/router-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router-vitest/jsconfig.json b/router-vitest/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-vitest/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-vitest/package.json b/router-vitest/package.json index 97bc1eb3..8be6c730 100644 --- a/router-vitest/package.json +++ b/router-vitest/package.json @@ -2,6 +2,7 @@ "name": "router-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,14 +10,14 @@ "test:unit": "vitest" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/router-vitest/src/assets/main.css b/router-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-vitest/src/assets/main.css +++ b/router-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router-with-tests/.gitignore b/router-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router-with-tests/.gitignore +++ b/router-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router-with-tests/cypress.config.js b/router-with-tests/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/router-with-tests/cypress.config.js +++ b/router-with-tests/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/router-with-tests/jsconfig.json b/router-with-tests/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router-with-tests/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router-with-tests/package.json b/router-with-tests/package.json index 723a0d44..5d7e296f 100644 --- a/router-with-tests/package.json +++ b/router-with-tests/package.json @@ -2,6 +2,7 @@ "name": "router-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,16 +12,16 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/router-with-tests/src/assets/main.css b/router-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router-with-tests/src/assets/main.css +++ b/router-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/router/.gitignore b/router/.gitignore index 38adffa6..8ee54e8d 100644 --- a/router/.gitignore +++ b/router/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/router/jsconfig.json b/router/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/router/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/router/package.json b/router/package.json index 76135055..a4ed7a8f 100644 --- a/router/package.json +++ b/router/package.json @@ -2,17 +2,18 @@ "name": "router", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "vite": "^4.4.11" + "@vitejs/plugin-vue": "^4.5.1", + "vite": "^5.0.5" } } diff --git a/router/src/assets/main.css b/router/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/router/src/assets/main.css +++ b/router/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-cypress-nightwatch/.gitignore b/typescript-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-cypress-nightwatch/.vscode/extensions.json b/typescript-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-cypress-nightwatch/README.md b/typescript-cypress-nightwatch/README.md deleted file mode 100644 index 0c1f3559..00000000 --- a/typescript-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-cypress-nightwatch/cypress.config.ts b/typescript-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-cypress-nightwatch/cypress/fixtures/example.json b/typescript-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-cypress-nightwatch/cypress/support/commands.ts b/typescript-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-cypress-nightwatch/cypress/support/component-index.html b/typescript-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-cypress-nightwatch/cypress/support/component.ts b/typescript-cypress-nightwatch/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-cypress-nightwatch/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-cypress-nightwatch/cypress/support/e2e.ts b/typescript-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-cypress-nightwatch/env.d.ts b/typescript-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-cypress-nightwatch/index.html b/typescript-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-cypress-nightwatch/nightwatch.conf.ts b/typescript-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-cypress-nightwatch/nightwatch/globals.js b/typescript-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-cypress-nightwatch/nightwatch/index.html b/typescript-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-cypress-nightwatch/package.json b/typescript-cypress-nightwatch/package.json deleted file mode 100644 index e53142fe..00000000 --- a/typescript-cypress-nightwatch/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "typescript-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-cypress-nightwatch/public/favicon.ico b/typescript-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-cypress-nightwatch/src/App.vue b/typescript-cypress-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-cypress-nightwatch/src/assets/base.css b/typescript-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-cypress-nightwatch/src/assets/logo.svg b/typescript-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-cypress-nightwatch/src/assets/main.css b/typescript-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts b/typescript-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-cypress-nightwatch/src/main.ts b/typescript-cypress-nightwatch/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-cypress-nightwatch/tests/e2e/example.ts b/typescript-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-cypress-nightwatch/tsconfig.app.json b/typescript-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-cypress-nightwatch/tsconfig.cypress-ct.json b/typescript-cypress-nightwatch/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-cypress-nightwatch/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-cypress-nightwatch/tsconfig.json b/typescript-cypress-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-cypress-nightwatch/tsconfig.node.json b/typescript-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-cypress-nightwatch/vite.config.ts b/typescript-cypress-nightwatch/vite.config.ts deleted file mode 100644 index fd83c5b2..00000000 --- a/typescript-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-cypress-playwright/.gitignore b/typescript-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-cypress-playwright/.vscode/extensions.json b/typescript-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-cypress-playwright/README.md b/typescript-cypress-playwright/README.md deleted file mode 100644 index 660f9344..00000000 --- a/typescript-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-cypress-playwright/cypress.config.ts b/typescript-cypress-playwright/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-cypress-playwright/cypress/fixtures/example.json b/typescript-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-cypress-playwright/cypress/support/commands.ts b/typescript-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-cypress-playwright/cypress/support/component-index.html b/typescript-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-cypress-playwright/cypress/support/component.ts b/typescript-cypress-playwright/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-cypress-playwright/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-cypress-playwright/cypress/support/e2e.ts b/typescript-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-cypress-playwright/e2e/tsconfig.json b/typescript-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-cypress-playwright/e2e/vue.spec.ts b/typescript-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-cypress-playwright/env.d.ts b/typescript-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-cypress-playwright/index.html b/typescript-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-cypress-playwright/package.json b/typescript-cypress-playwright/package.json deleted file mode 100644 index 8ecb8990..00000000 --- a/typescript-cypress-playwright/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "typescript-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-cypress-playwright/playwright.config.ts b/typescript-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-cypress-playwright/public/favicon.ico b/typescript-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-cypress-playwright/src/App.vue b/typescript-cypress-playwright/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-cypress-playwright/src/assets/base.css b/typescript-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-cypress-playwright/src/assets/logo.svg b/typescript-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-cypress-playwright/src/assets/main.css b/typescript-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-cypress-playwright/src/components/HelloWorld.vue b/typescript-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-cypress-playwright/src/components/TheWelcome.vue b/typescript-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-cypress-playwright/src/components/WelcomeItem.vue b/typescript-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts b/typescript-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-cypress-playwright/src/main.ts b/typescript-cypress-playwright/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-cypress-playwright/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-cypress-playwright/tsconfig.app.json b/typescript-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-cypress-playwright/tsconfig.cypress-ct.json b/typescript-cypress-playwright/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-cypress-playwright/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-cypress-playwright/tsconfig.json b/typescript-cypress-playwright/tsconfig.json deleted file mode 100644 index 27e23a60..00000000 --- a/typescript-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.cypress-ct.json" - } - ] -} diff --git a/typescript-cypress-playwright/tsconfig.node.json b/typescript-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-cypress-playwright/vite.config.ts b/typescript-cypress-playwright/vite.config.ts deleted file mode 100644 index 5c45e1d9..00000000 --- a/typescript-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-cypress/.gitignore b/typescript-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-cypress/.gitignore +++ b/typescript-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-cypress/package.json b/typescript-cypress/package.json index c92bc996..ac579276 100644 --- a/typescript-cypress/package.json +++ b/typescript-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -11,21 +12,21 @@ "test:unit": "cypress run --component", "test:unit:dev": "cypress open --component", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", + "cypress": "^13.6.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-cypress/src/assets/main.css b/typescript-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-cypress/src/assets/main.css +++ b/typescript-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-cypress/tsconfig.app.json b/typescript-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-cypress/tsconfig.app.json +++ b/typescript-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-cypress/tsconfig.json b/typescript-cypress/tsconfig.json index 27e23a60..d3b6c317 100644 --- a/typescript-cypress/tsconfig.json +++ b/typescript-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.cypress-ct.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-cypress/tsconfig.node.json b/typescript-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-cypress/tsconfig.node.json +++ b/typescript-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-cypress-nightwatch/.gitignore b/typescript-jsx-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-jsx-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-jsx-cypress-nightwatch/.vscode/extensions.json b/typescript-jsx-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-jsx-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-jsx-cypress-nightwatch/README.md b/typescript-jsx-cypress-nightwatch/README.md deleted file mode 100644 index ab13b5c7..00000000 --- a/typescript-jsx-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-jsx-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-jsx-cypress-nightwatch/cypress.config.ts b/typescript-jsx-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-jsx-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-jsx-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-jsx-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-jsx-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-cypress-nightwatch/cypress/fixtures/example.json b/typescript-jsx-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-cypress-nightwatch/cypress/support/commands.ts b/typescript-jsx-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-cypress-nightwatch/cypress/support/component-index.html b/typescript-jsx-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-jsx-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-jsx-cypress-nightwatch/cypress/support/component.ts b/typescript-jsx-cypress-nightwatch/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-jsx-cypress-nightwatch/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-jsx-cypress-nightwatch/cypress/support/e2e.ts b/typescript-jsx-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-cypress-nightwatch/env.d.ts b/typescript-jsx-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-cypress-nightwatch/index.html b/typescript-jsx-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-cypress-nightwatch/nightwatch.conf.ts b/typescript-jsx-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-cypress-nightwatch/nightwatch/globals.js b/typescript-jsx-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-cypress-nightwatch/nightwatch/index.html b/typescript-jsx-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-jsx-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-jsx-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-cypress-nightwatch/package.json b/typescript-jsx-cypress-nightwatch/package.json deleted file mode 100644 index 14e93d62..00000000 --- a/typescript-jsx-cypress-nightwatch/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "typescript-jsx-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-cypress-nightwatch/public/favicon.ico b/typescript-jsx-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-cypress-nightwatch/src/App.vue b/typescript-jsx-cypress-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-cypress-nightwatch/src/assets/base.css b/typescript-jsx-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-cypress-nightwatch/src/assets/logo.svg b/typescript-jsx-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-cypress-nightwatch/src/assets/main.css b/typescript-jsx-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts b/typescript-jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-cypress-nightwatch/src/main.ts b/typescript-jsx-cypress-nightwatch/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-jsx-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-jsx-cypress-nightwatch/tests/e2e/example.ts b/typescript-jsx-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-cypress-nightwatch/tsconfig.app.json b/typescript-jsx-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-cypress-nightwatch/tsconfig.cypress-ct.json b/typescript-jsx-cypress-nightwatch/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-jsx-cypress-nightwatch/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-jsx-cypress-nightwatch/tsconfig.json b/typescript-jsx-cypress-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-jsx-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-cypress-nightwatch/tsconfig.node.json b/typescript-jsx-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-cypress-nightwatch/vite.config.ts b/typescript-jsx-cypress-nightwatch/vite.config.ts deleted file mode 100644 index 3e49bf0c..00000000 --- a/typescript-jsx-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-cypress-playwright/.gitignore b/typescript-jsx-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-jsx-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-jsx-cypress-playwright/.vscode/extensions.json b/typescript-jsx-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-jsx-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-cypress-playwright/README.md b/typescript-jsx-cypress-playwright/README.md deleted file mode 100644 index e9e87806..00000000 --- a/typescript-jsx-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-jsx-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-cypress-playwright/cypress.config.ts b/typescript-jsx-cypress-playwright/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-jsx-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-jsx-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-jsx-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-jsx-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-cypress-playwright/cypress/fixtures/example.json b/typescript-jsx-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-cypress-playwright/cypress/support/commands.ts b/typescript-jsx-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-cypress-playwright/cypress/support/component-index.html b/typescript-jsx-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-jsx-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-jsx-cypress-playwright/cypress/support/component.ts b/typescript-jsx-cypress-playwright/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-jsx-cypress-playwright/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-jsx-cypress-playwright/cypress/support/e2e.ts b/typescript-jsx-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-cypress-playwright/e2e/tsconfig.json b/typescript-jsx-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-cypress-playwright/e2e/vue.spec.ts b/typescript-jsx-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-cypress-playwright/env.d.ts b/typescript-jsx-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-cypress-playwright/index.html b/typescript-jsx-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-cypress-playwright/package.json b/typescript-jsx-cypress-playwright/package.json deleted file mode 100644 index 58d58f0f..00000000 --- a/typescript-jsx-cypress-playwright/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "typescript-jsx-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-jsx-cypress-playwright/playwright.config.ts b/typescript-jsx-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-cypress-playwright/public/favicon.ico b/typescript-jsx-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-cypress-playwright/src/App.vue b/typescript-jsx-cypress-playwright/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-cypress-playwright/src/assets/base.css b/typescript-jsx-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-cypress-playwright/src/assets/logo.svg b/typescript-jsx-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-cypress-playwright/src/assets/main.css b/typescript-jsx-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-cypress-playwright/src/components/HelloWorld.vue b/typescript-jsx-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-cypress-playwright/src/components/TheWelcome.vue b/typescript-jsx-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-cypress-playwright/src/components/WelcomeItem.vue b/typescript-jsx-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts b/typescript-jsx-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-jsx-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-jsx-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-jsx-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-jsx-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-jsx-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-jsx-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-jsx-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-cypress-playwright/src/main.ts b/typescript-jsx-cypress-playwright/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-jsx-cypress-playwright/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-jsx-cypress-playwright/tsconfig.app.json b/typescript-jsx-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-cypress-playwright/tsconfig.cypress-ct.json b/typescript-jsx-cypress-playwright/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-jsx-cypress-playwright/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-jsx-cypress-playwright/tsconfig.json b/typescript-jsx-cypress-playwright/tsconfig.json deleted file mode 100644 index 27e23a60..00000000 --- a/typescript-jsx-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.cypress-ct.json" - } - ] -} diff --git a/typescript-jsx-cypress-playwright/tsconfig.node.json b/typescript-jsx-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-cypress-playwright/vite.config.ts b/typescript-jsx-cypress-playwright/vite.config.ts deleted file mode 100644 index 36c61875..00000000 --- a/typescript-jsx-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-cypress/.gitignore b/typescript-jsx-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-cypress/.gitignore +++ b/typescript-jsx-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-cypress/package.json b/typescript-jsx-cypress/package.json index 2b1ffaa5..e6adfaaf 100644 --- a/typescript-jsx-cypress/package.json +++ b/typescript-jsx-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -11,22 +12,22 @@ "test:unit": "cypress run --component", "test:unit:dev": "cypress open --component", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", + "cypress": "^13.6.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-cypress/src/assets/main.css b/typescript-jsx-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-cypress/src/assets/main.css +++ b/typescript-jsx-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-cypress/tsconfig.app.json b/typescript-jsx-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-cypress/tsconfig.app.json +++ b/typescript-jsx-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-cypress/tsconfig.json b/typescript-jsx-cypress/tsconfig.json index 27e23a60..d3b6c317 100644 --- a/typescript-jsx-cypress/tsconfig.json +++ b/typescript-jsx-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.cypress-ct.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-cypress/tsconfig.node.json b/typescript-jsx-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-cypress/tsconfig.node.json +++ b/typescript-jsx-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-nightwatch/.gitignore b/typescript-jsx-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-jsx-nightwatch/.gitignore +++ b/typescript-jsx-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-jsx-nightwatch/nightwatch.conf.ts b/typescript-jsx-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-jsx-nightwatch/nightwatch.conf.ts +++ b/typescript-jsx-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-jsx-nightwatch/nightwatch/globals.js b/typescript-jsx-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-jsx-nightwatch/nightwatch/tsconfig.json +++ b/typescript-jsx-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-jsx-nightwatch/package.json b/typescript-jsx-nightwatch/package.json index 8ca19e4b..e0a1e781 100644 --- a/typescript-jsx-nightwatch/package.json +++ b/typescript-jsx-nightwatch/package.json @@ -2,34 +2,36 @@ "name": "typescript-jsx-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*", + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-nightwatch/src/assets/main.css b/typescript-jsx-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-nightwatch/src/assets/main.css +++ b/typescript-jsx-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-nightwatch/tests/e2e/example.ts b/typescript-jsx-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-jsx-nightwatch/tests/e2e/example.ts +++ b/typescript-jsx-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-jsx-nightwatch/tsconfig.app.json b/typescript-jsx-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-nightwatch/tsconfig.app.json +++ b/typescript-jsx-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-nightwatch/tsconfig.node.json b/typescript-jsx-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-nightwatch/tsconfig.node.json +++ b/typescript-jsx-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-pinia-cypress-nightwatch/.gitignore b/typescript-jsx-pinia-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-jsx-pinia-cypress-nightwatch/.vscode/extensions.json b/typescript-jsx-pinia-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/README.md b/typescript-jsx-pinia-cypress-nightwatch/README.md deleted file mode 100644 index 82a4dea8..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-jsx-pinia-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-jsx-pinia-cypress-nightwatch/cypress.config.ts b/typescript-jsx-pinia-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-jsx-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-jsx-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-jsx-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/cypress/fixtures/example.json b/typescript-jsx-pinia-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/cypress/support/commands.ts b/typescript-jsx-pinia-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-pinia-cypress-nightwatch/cypress/support/component-index.html b/typescript-jsx-pinia-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-jsx-pinia-cypress-nightwatch/cypress/support/component.ts b/typescript-jsx-pinia-cypress-nightwatch/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-jsx-pinia-cypress-nightwatch/cypress/support/e2e.ts b/typescript-jsx-pinia-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-pinia-cypress-nightwatch/env.d.ts b/typescript-jsx-pinia-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-pinia-cypress-nightwatch/index.html b/typescript-jsx-pinia-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-pinia-cypress-nightwatch/nightwatch.conf.ts b/typescript-jsx-pinia-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/globals.js b/typescript-jsx-pinia-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/index.html b/typescript-jsx-pinia-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-pinia-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/package.json b/typescript-jsx-pinia-cypress-nightwatch/package.json deleted file mode 100644 index aac8d58d..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "typescript-jsx-pinia-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/public/favicon.ico b/typescript-jsx-pinia-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/App.vue b/typescript-jsx-pinia-cypress-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/assets/base.css b/typescript-jsx-pinia-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/assets/logo.svg b/typescript-jsx-pinia-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/assets/main.css b/typescript-jsx-pinia-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-pinia-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-pinia-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-pinia-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts b/typescript-jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/main.ts b/typescript-jsx-pinia-cypress-nightwatch/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-jsx-pinia-cypress-nightwatch/src/stores/counter.ts b/typescript-jsx-pinia-cypress-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-pinia-cypress-nightwatch/tests/e2e/example.ts b/typescript-jsx-pinia-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-pinia-cypress-nightwatch/tsconfig.app.json b/typescript-jsx-pinia-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/tsconfig.cypress-ct.json b/typescript-jsx-pinia-cypress-nightwatch/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/tsconfig.json b/typescript-jsx-pinia-cypress-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/tsconfig.node.json b/typescript-jsx-pinia-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-pinia-cypress-nightwatch/vite.config.ts b/typescript-jsx-pinia-cypress-nightwatch/vite.config.ts deleted file mode 100644 index 3e49bf0c..00000000 --- a/typescript-jsx-pinia-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-pinia-cypress-playwright/.gitignore b/typescript-jsx-pinia-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-jsx-pinia-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-jsx-pinia-cypress-playwright/.vscode/extensions.json b/typescript-jsx-pinia-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-jsx-pinia-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-pinia-cypress-playwright/README.md b/typescript-jsx-pinia-cypress-playwright/README.md deleted file mode 100644 index a11bedc1..00000000 --- a/typescript-jsx-pinia-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-jsx-pinia-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-pinia-cypress-playwright/cypress.config.ts b/typescript-jsx-pinia-cypress-playwright/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-jsx-pinia-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-jsx-pinia-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-jsx-pinia-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-pinia-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-pinia-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-jsx-pinia-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-pinia-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-pinia-cypress-playwright/cypress/fixtures/example.json b/typescript-jsx-pinia-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-pinia-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-pinia-cypress-playwright/cypress/support/commands.ts b/typescript-jsx-pinia-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-pinia-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-pinia-cypress-playwright/cypress/support/component-index.html b/typescript-jsx-pinia-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-jsx-pinia-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-jsx-pinia-cypress-playwright/cypress/support/component.ts b/typescript-jsx-pinia-cypress-playwright/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-jsx-pinia-cypress-playwright/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-jsx-pinia-cypress-playwright/cypress/support/e2e.ts b/typescript-jsx-pinia-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-pinia-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-pinia-cypress-playwright/e2e/tsconfig.json b/typescript-jsx-pinia-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-pinia-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-pinia-cypress-playwright/e2e/vue.spec.ts b/typescript-jsx-pinia-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-pinia-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-pinia-cypress-playwright/env.d.ts b/typescript-jsx-pinia-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-pinia-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-pinia-cypress-playwright/index.html b/typescript-jsx-pinia-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-pinia-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-pinia-cypress-playwright/package.json b/typescript-jsx-pinia-cypress-playwright/package.json deleted file mode 100644 index f9305e45..00000000 --- a/typescript-jsx-pinia-cypress-playwright/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "typescript-jsx-pinia-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-jsx-pinia-cypress-playwright/playwright.config.ts b/typescript-jsx-pinia-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-pinia-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-pinia-cypress-playwright/public/favicon.ico b/typescript-jsx-pinia-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-pinia-cypress-playwright/src/App.vue b/typescript-jsx-pinia-cypress-playwright/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-cypress-playwright/src/assets/base.css b/typescript-jsx-pinia-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-pinia-cypress-playwright/src/assets/logo.svg b/typescript-jsx-pinia-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-playwright/src/assets/main.css b/typescript-jsx-pinia-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-pinia-cypress-playwright/src/components/HelloWorld.vue b/typescript-jsx-pinia-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-cypress-playwright/src/components/TheWelcome.vue b/typescript-jsx-pinia-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-cypress-playwright/src/components/WelcomeItem.vue b/typescript-jsx-pinia-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts b/typescript-jsx-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-pinia-cypress-playwright/src/main.ts b/typescript-jsx-pinia-cypress-playwright/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-jsx-pinia-cypress-playwright/src/stores/counter.ts b/typescript-jsx-pinia-cypress-playwright/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-pinia-cypress-playwright/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-pinia-cypress-playwright/tsconfig.app.json b/typescript-jsx-pinia-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-pinia-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-pinia-cypress-playwright/tsconfig.cypress-ct.json b/typescript-jsx-pinia-cypress-playwright/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-jsx-pinia-cypress-playwright/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-jsx-pinia-cypress-playwright/tsconfig.json b/typescript-jsx-pinia-cypress-playwright/tsconfig.json deleted file mode 100644 index 27e23a60..00000000 --- a/typescript-jsx-pinia-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.cypress-ct.json" - } - ] -} diff --git a/typescript-jsx-pinia-cypress-playwright/tsconfig.node.json b/typescript-jsx-pinia-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-pinia-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-pinia-cypress-playwright/vite.config.ts b/typescript-jsx-pinia-cypress-playwright/vite.config.ts deleted file mode 100644 index 36c61875..00000000 --- a/typescript-jsx-pinia-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-pinia-cypress/.gitignore b/typescript-jsx-pinia-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-pinia-cypress/.gitignore +++ b/typescript-jsx-pinia-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-pinia-cypress/package.json b/typescript-jsx-pinia-cypress/package.json index 999f6ad6..c1cd47be 100644 --- a/typescript-jsx-pinia-cypress/package.json +++ b/typescript-jsx-pinia-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-pinia-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -11,23 +12,23 @@ "test:unit": "cypress run --component", "test:unit:dev": "cypress open --component", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", + "cypress": "^13.6.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-pinia-cypress/src/assets/main.css b/typescript-jsx-pinia-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-pinia-cypress/src/assets/main.css +++ b/typescript-jsx-pinia-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-pinia-cypress/tsconfig.app.json b/typescript-jsx-pinia-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-pinia-cypress/tsconfig.app.json +++ b/typescript-jsx-pinia-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-pinia-cypress/tsconfig.json b/typescript-jsx-pinia-cypress/tsconfig.json index 27e23a60..d3b6c317 100644 --- a/typescript-jsx-pinia-cypress/tsconfig.json +++ b/typescript-jsx-pinia-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.cypress-ct.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-pinia-cypress/tsconfig.node.json b/typescript-jsx-pinia-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-pinia-cypress/tsconfig.node.json +++ b/typescript-jsx-pinia-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-pinia-nightwatch/.gitignore b/typescript-jsx-pinia-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-jsx-pinia-nightwatch/.gitignore +++ b/typescript-jsx-pinia-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-jsx-pinia-nightwatch/nightwatch.conf.ts b/typescript-jsx-pinia-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-jsx-pinia-nightwatch/nightwatch.conf.ts +++ b/typescript-jsx-pinia-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-jsx-pinia-nightwatch/nightwatch/globals.js b/typescript-jsx-pinia-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-pinia-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-pinia-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-pinia-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-jsx-pinia-nightwatch/nightwatch/tsconfig.json +++ b/typescript-jsx-pinia-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-jsx-pinia-nightwatch/package.json b/typescript-jsx-pinia-nightwatch/package.json index aea99a4d..a0d2ada7 100644 --- a/typescript-jsx-pinia-nightwatch/package.json +++ b/typescript-jsx-pinia-nightwatch/package.json @@ -2,35 +2,37 @@ "name": "typescript-jsx-pinia-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*", + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-pinia-nightwatch/src/assets/main.css b/typescript-jsx-pinia-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-pinia-nightwatch/src/assets/main.css +++ b/typescript-jsx-pinia-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-pinia-nightwatch/tests/e2e/example.ts b/typescript-jsx-pinia-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-jsx-pinia-nightwatch/tests/e2e/example.ts +++ b/typescript-jsx-pinia-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-jsx-pinia-nightwatch/tsconfig.app.json b/typescript-jsx-pinia-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-pinia-nightwatch/tsconfig.app.json +++ b/typescript-jsx-pinia-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-pinia-nightwatch/tsconfig.node.json b/typescript-jsx-pinia-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-pinia-nightwatch/tsconfig.node.json +++ b/typescript-jsx-pinia-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-pinia-playwright-nightwatch/.gitignore b/typescript-jsx-pinia-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-jsx-pinia-playwright-nightwatch/.vscode/extensions.json b/typescript-jsx-pinia-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/README.md b/typescript-jsx-pinia-playwright-nightwatch/README.md deleted file mode 100644 index 7f972b25..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# typescript-jsx-pinia-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-pinia-playwright-nightwatch/e2e/tsconfig.json b/typescript-jsx-pinia-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/e2e/vue.spec.ts b/typescript-jsx-pinia-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-pinia-playwright-nightwatch/env.d.ts b/typescript-jsx-pinia-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-pinia-playwright-nightwatch/index.html b/typescript-jsx-pinia-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-pinia-playwright-nightwatch/nightwatch.conf.ts b/typescript-jsx-pinia-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/globals.js b/typescript-jsx-pinia-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/index.html b/typescript-jsx-pinia-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-pinia-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/package.json b/typescript-jsx-pinia-playwright-nightwatch/package.json deleted file mode 100644 index 015ca1f9..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "typescript-jsx-pinia-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/playwright.config.ts b/typescript-jsx-pinia-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-pinia-playwright-nightwatch/public/favicon.ico b/typescript-jsx-pinia-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/App.vue b/typescript-jsx-pinia-playwright-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/assets/base.css b/typescript-jsx-pinia-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/assets/logo.svg b/typescript-jsx-pinia-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/assets/main.css b/typescript-jsx-pinia-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-pinia-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-pinia-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-pinia-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/main.ts b/typescript-jsx-pinia-playwright-nightwatch/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-jsx-pinia-playwright-nightwatch/src/stores/counter.ts b/typescript-jsx-pinia-playwright-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-pinia-playwright-nightwatch/tests/e2e/example.ts b/typescript-jsx-pinia-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-pinia-playwright-nightwatch/tsconfig.app.json b/typescript-jsx-pinia-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/tsconfig.json b/typescript-jsx-pinia-playwright-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/tsconfig.node.json b/typescript-jsx-pinia-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-pinia-playwright-nightwatch/vite.config.ts b/typescript-jsx-pinia-playwright-nightwatch/vite.config.ts deleted file mode 100644 index 3e49bf0c..00000000 --- a/typescript-jsx-pinia-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-pinia-playwright/.gitignore b/typescript-jsx-pinia-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-jsx-pinia-playwright/.gitignore +++ b/typescript-jsx-pinia-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-jsx-pinia-playwright/package.json b/typescript-jsx-pinia-playwright/package.json index 35223980..572a11a6 100644 --- a/typescript-jsx-pinia-playwright/package.json +++ b/typescript-jsx-pinia-playwright/package.json @@ -2,28 +2,29 @@ "name": "typescript-jsx-pinia-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-pinia-playwright/playwright.config.ts b/typescript-jsx-pinia-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-jsx-pinia-playwright/playwright.config.ts +++ b/typescript-jsx-pinia-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-jsx-pinia-playwright/src/assets/main.css b/typescript-jsx-pinia-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-pinia-playwright/src/assets/main.css +++ b/typescript-jsx-pinia-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-pinia-playwright/tsconfig.app.json b/typescript-jsx-pinia-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-pinia-playwright/tsconfig.app.json +++ b/typescript-jsx-pinia-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-pinia-playwright/tsconfig.node.json b/typescript-jsx-pinia-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-pinia-playwright/tsconfig.node.json +++ b/typescript-jsx-pinia-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/.gitignore b/typescript-jsx-pinia-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/.vscode/extensions.json b/typescript-jsx-pinia-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/README.md b/typescript-jsx-pinia-vitest-cypress-nightwatch/README.md deleted file mode 100644 index ee27ec60..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-jsx-pinia-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress.config.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json b/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/env.d.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/index.html b/typescript-jsx-pinia-vitest-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/globals.js b/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/package.json b/typescript-jsx-pinia-vitest-cypress-nightwatch/package.json deleted file mode 100644 index 3fc60512..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "typescript-jsx-pinia-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/public/favicon.ico b/typescript-jsx-pinia-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/App.vue b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/base.css b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/logo.svg b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/main.css b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/main.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/stores/counter.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.app.json b/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.json b/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.node.json b/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json b/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/vite.config.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/vite.config.ts deleted file mode 100644 index 3a698823..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-pinia-vitest-cypress-nightwatch/vitest.config.ts b/typescript-jsx-pinia-vitest-cypress-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-pinia-vitest-cypress-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/.gitignore b/typescript-jsx-pinia-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/.vscode/extensions.json b/typescript-jsx-pinia-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/README.md b/typescript-jsx-pinia-vitest-cypress-playwright/README.md deleted file mode 100644 index 927ba705..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-jsx-pinia-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/cypress.config.ts b/typescript-jsx-pinia-vitest-cypress-playwright/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-jsx-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-jsx-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/fixtures/example.json b/typescript-jsx-pinia-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/support/commands.ts b/typescript-jsx-pinia-vitest-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/support/e2e.ts b/typescript-jsx-pinia-vitest-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/e2e/tsconfig.json b/typescript-jsx-pinia-vitest-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/e2e/vue.spec.ts b/typescript-jsx-pinia-vitest-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/env.d.ts b/typescript-jsx-pinia-vitest-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/index.html b/typescript-jsx-pinia-vitest-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/package.json b/typescript-jsx-pinia-vitest-cypress-playwright/package.json deleted file mode 100644 index a763472e..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "typescript-jsx-pinia-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/playwright.config.ts b/typescript-jsx-pinia-vitest-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/public/favicon.ico b/typescript-jsx-pinia-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/App.vue b/typescript-jsx-pinia-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/assets/base.css b/typescript-jsx-pinia-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/assets/logo.svg b/typescript-jsx-pinia-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/assets/main.css b/typescript-jsx-pinia-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue b/typescript-jsx-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue b/typescript-jsx-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue b/typescript-jsx-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/main.ts b/typescript-jsx-pinia-vitest-cypress-playwright/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/src/stores/counter.ts b/typescript-jsx-pinia-vitest-cypress-playwright/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.app.json b/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.json b/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.json deleted file mode 100644 index 100cf6a8..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - } - ] -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.node.json b/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.vitest.json b/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/vite.config.ts b/typescript-jsx-pinia-vitest-cypress-playwright/vite.config.ts deleted file mode 100644 index 36c61875..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-pinia-vitest-cypress-playwright/vitest.config.ts b/typescript-jsx-pinia-vitest-cypress-playwright/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-pinia-vitest-cypress-playwright/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-pinia-vitest-cypress/.gitignore b/typescript-jsx-pinia-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-pinia-vitest-cypress/.gitignore +++ b/typescript-jsx-pinia-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-pinia-vitest-cypress/package.json b/typescript-jsx-pinia-vitest-cypress/package.json index be447a4f..c2a2af21 100644 --- a/typescript-jsx-pinia-vitest-cypress/package.json +++ b/typescript-jsx-pinia-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-pinia-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,27 +11,27 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-pinia-vitest-cypress/src/assets/main.css b/typescript-jsx-pinia-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-pinia-vitest-cypress/src/assets/main.css +++ b/typescript-jsx-pinia-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-pinia-vitest-cypress/tsconfig.app.json b/typescript-jsx-pinia-vitest-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-pinia-vitest-cypress/tsconfig.app.json +++ b/typescript-jsx-pinia-vitest-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-pinia-vitest-cypress/tsconfig.json b/typescript-jsx-pinia-vitest-cypress/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-jsx-pinia-vitest-cypress/tsconfig.json +++ b/typescript-jsx-pinia-vitest-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-pinia-vitest-cypress/tsconfig.node.json b/typescript-jsx-pinia-vitest-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-pinia-vitest-cypress/tsconfig.node.json +++ b/typescript-jsx-pinia-vitest-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-pinia-vitest-nightwatch/.gitignore b/typescript-jsx-pinia-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-jsx-pinia-vitest-nightwatch/.gitignore +++ b/typescript-jsx-pinia-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-jsx-pinia-vitest-nightwatch/nightwatch.conf.ts b/typescript-jsx-pinia-vitest-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-jsx-pinia-vitest-nightwatch/nightwatch.conf.ts +++ b/typescript-jsx-pinia-vitest-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-jsx-pinia-vitest-nightwatch/nightwatch/globals.js b/typescript-jsx-pinia-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-pinia-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-pinia-vitest-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-pinia-vitest-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-jsx-pinia-vitest-nightwatch/nightwatch/tsconfig.json +++ b/typescript-jsx-pinia-vitest-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-jsx-pinia-vitest-nightwatch/package.json b/typescript-jsx-pinia-vitest-nightwatch/package.json index 555f0c02..4260c69a 100644 --- a/typescript-jsx-pinia-vitest-nightwatch/package.json +++ b/typescript-jsx-pinia-vitest-nightwatch/package.json @@ -2,39 +2,40 @@ "name": "typescript-jsx-pinia-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", + "test:e2e": "nightwatch tests/e2e/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-pinia-vitest-nightwatch/src/assets/main.css b/typescript-jsx-pinia-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-pinia-vitest-nightwatch/src/assets/main.css +++ b/typescript-jsx-pinia-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-pinia-vitest-nightwatch/tests/e2e/example.ts b/typescript-jsx-pinia-vitest-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-jsx-pinia-vitest-nightwatch/tests/e2e/example.ts +++ b/typescript-jsx-pinia-vitest-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-jsx-pinia-vitest-nightwatch/tsconfig.app.json b/typescript-jsx-pinia-vitest-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-pinia-vitest-nightwatch/tsconfig.app.json +++ b/typescript-jsx-pinia-vitest-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-pinia-vitest-nightwatch/tsconfig.node.json b/typescript-jsx-pinia-vitest-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-pinia-vitest-nightwatch/tsconfig.node.json +++ b/typescript-jsx-pinia-vitest-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/.gitignore b/typescript-jsx-pinia-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/.vscode/extensions.json b/typescript-jsx-pinia-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/README.md b/typescript-jsx-pinia-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 2798f6cf..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# typescript-jsx-pinia-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json b/typescript-jsx-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/env.d.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/index.html b/typescript-jsx-pinia-vitest-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/globals.js b/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/package.json b/typescript-jsx-pinia-vitest-playwright-nightwatch/package.json deleted file mode 100644 index 80eb64c8..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "typescript-jsx-pinia-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/playwright.config.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/public/favicon.ico b/typescript-jsx-pinia-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/App.vue b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/base.css b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/logo.svg b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/main.css b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/main.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/stores/counter.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.app.json b/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.json b/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.node.json b/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json b/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/vite.config.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/vite.config.ts deleted file mode 100644 index 3a698823..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-pinia-vitest-playwright-nightwatch/vitest.config.ts b/typescript-jsx-pinia-vitest-playwright-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-pinia-vitest-playwright-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-pinia-vitest-playwright/.gitignore b/typescript-jsx-pinia-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-jsx-pinia-vitest-playwright/.gitignore +++ b/typescript-jsx-pinia-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-jsx-pinia-vitest-playwright/package.json b/typescript-jsx-pinia-vitest-playwright/package.json index b2b37431..0f33583b 100644 --- a/typescript-jsx-pinia-vitest-playwright/package.json +++ b/typescript-jsx-pinia-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-pinia-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -9,26 +10,26 @@ "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-pinia-vitest-playwright/playwright.config.ts b/typescript-jsx-pinia-vitest-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-jsx-pinia-vitest-playwright/playwright.config.ts +++ b/typescript-jsx-pinia-vitest-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-jsx-pinia-vitest-playwright/src/assets/main.css b/typescript-jsx-pinia-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-pinia-vitest-playwright/src/assets/main.css +++ b/typescript-jsx-pinia-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-pinia-vitest-playwright/tsconfig.app.json b/typescript-jsx-pinia-vitest-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-pinia-vitest-playwright/tsconfig.app.json +++ b/typescript-jsx-pinia-vitest-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-pinia-vitest-playwright/tsconfig.node.json b/typescript-jsx-pinia-vitest-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-pinia-vitest-playwright/tsconfig.node.json +++ b/typescript-jsx-pinia-vitest-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-pinia-vitest/.gitignore b/typescript-jsx-pinia-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-pinia-vitest/.gitignore +++ b/typescript-jsx-pinia-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-pinia-vitest/package.json b/typescript-jsx-pinia-vitest/package.json index 3ab8e143..ddde4329 100644 --- a/typescript-jsx-pinia-vitest/package.json +++ b/typescript-jsx-pinia-vitest/package.json @@ -2,31 +2,32 @@ "name": "typescript-jsx-pinia-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-pinia-vitest/src/assets/main.css b/typescript-jsx-pinia-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-pinia-vitest/src/assets/main.css +++ b/typescript-jsx-pinia-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-pinia-vitest/tsconfig.app.json b/typescript-jsx-pinia-vitest/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-pinia-vitest/tsconfig.app.json +++ b/typescript-jsx-pinia-vitest/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-pinia-vitest/tsconfig.node.json b/typescript-jsx-pinia-vitest/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-pinia-vitest/tsconfig.node.json +++ b/typescript-jsx-pinia-vitest/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-pinia-with-tests/.gitignore b/typescript-jsx-pinia-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-pinia-with-tests/.gitignore +++ b/typescript-jsx-pinia-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-pinia-with-tests/package.json b/typescript-jsx-pinia-with-tests/package.json index aebcb5d4..5f91f631 100644 --- a/typescript-jsx-pinia-with-tests/package.json +++ b/typescript-jsx-pinia-with-tests/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-pinia-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,27 +11,27 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-pinia-with-tests/src/assets/main.css b/typescript-jsx-pinia-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-pinia-with-tests/src/assets/main.css +++ b/typescript-jsx-pinia-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-pinia-with-tests/tsconfig.app.json b/typescript-jsx-pinia-with-tests/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-pinia-with-tests/tsconfig.app.json +++ b/typescript-jsx-pinia-with-tests/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-pinia-with-tests/tsconfig.json b/typescript-jsx-pinia-with-tests/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-jsx-pinia-with-tests/tsconfig.json +++ b/typescript-jsx-pinia-with-tests/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-pinia-with-tests/tsconfig.node.json b/typescript-jsx-pinia-with-tests/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-pinia-with-tests/tsconfig.node.json +++ b/typescript-jsx-pinia-with-tests/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-pinia/.gitignore b/typescript-jsx-pinia/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-pinia/.gitignore +++ b/typescript-jsx-pinia/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-pinia/package.json b/typescript-jsx-pinia/package.json index ea1bdf3c..25993a08 100644 --- a/typescript-jsx-pinia/package.json +++ b/typescript-jsx-pinia/package.json @@ -2,26 +2,27 @@ "name": "typescript-jsx-pinia", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-pinia/src/assets/main.css b/typescript-jsx-pinia/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-pinia/src/assets/main.css +++ b/typescript-jsx-pinia/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-pinia/tsconfig.app.json b/typescript-jsx-pinia/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-pinia/tsconfig.app.json +++ b/typescript-jsx-pinia/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-pinia/tsconfig.node.json b/typescript-jsx-pinia/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-pinia/tsconfig.node.json +++ b/typescript-jsx-pinia/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-playwright-nightwatch/.gitignore b/typescript-jsx-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-jsx-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-jsx-playwright-nightwatch/.vscode/extensions.json b/typescript-jsx-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-jsx-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-playwright-nightwatch/README.md b/typescript-jsx-playwright-nightwatch/README.md deleted file mode 100644 index 19840576..00000000 --- a/typescript-jsx-playwright-nightwatch/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# typescript-jsx-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-playwright-nightwatch/e2e/tsconfig.json b/typescript-jsx-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-playwright-nightwatch/e2e/vue.spec.ts b/typescript-jsx-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-playwright-nightwatch/env.d.ts b/typescript-jsx-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-playwright-nightwatch/index.html b/typescript-jsx-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-playwright-nightwatch/nightwatch.conf.ts b/typescript-jsx-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-playwright-nightwatch/nightwatch/globals.js b/typescript-jsx-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-playwright-nightwatch/nightwatch/index.html b/typescript-jsx-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-jsx-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-jsx-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-playwright-nightwatch/package.json b/typescript-jsx-playwright-nightwatch/package.json deleted file mode 100644 index d96990cb..00000000 --- a/typescript-jsx-playwright-nightwatch/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "typescript-jsx-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-playwright-nightwatch/playwright.config.ts b/typescript-jsx-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-playwright-nightwatch/public/favicon.ico b/typescript-jsx-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-playwright-nightwatch/src/App.vue b/typescript-jsx-playwright-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-playwright-nightwatch/src/assets/base.css b/typescript-jsx-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-playwright-nightwatch/src/assets/logo.svg b/typescript-jsx-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-playwright-nightwatch/src/assets/main.css b/typescript-jsx-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-jsx-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-playwright-nightwatch/src/main.ts b/typescript-jsx-playwright-nightwatch/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-jsx-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-jsx-playwright-nightwatch/tests/e2e/example.ts b/typescript-jsx-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-playwright-nightwatch/tsconfig.app.json b/typescript-jsx-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-playwright-nightwatch/tsconfig.json b/typescript-jsx-playwright-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-jsx-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-playwright-nightwatch/tsconfig.node.json b/typescript-jsx-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-playwright-nightwatch/vite.config.ts b/typescript-jsx-playwright-nightwatch/vite.config.ts deleted file mode 100644 index 3e49bf0c..00000000 --- a/typescript-jsx-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-playwright/.gitignore b/typescript-jsx-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-jsx-playwright/.gitignore +++ b/typescript-jsx-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-jsx-playwright/package.json b/typescript-jsx-playwright/package.json index 754ba00b..2097c482 100644 --- a/typescript-jsx-playwright/package.json +++ b/typescript-jsx-playwright/package.json @@ -2,27 +2,28 @@ "name": "typescript-jsx-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-playwright/playwright.config.ts b/typescript-jsx-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-jsx-playwright/playwright.config.ts +++ b/typescript-jsx-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-jsx-playwright/src/assets/main.css b/typescript-jsx-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-playwright/src/assets/main.css +++ b/typescript-jsx-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-playwright/tsconfig.app.json b/typescript-jsx-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-playwright/tsconfig.app.json +++ b/typescript-jsx-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-playwright/tsconfig.node.json b/typescript-jsx-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-playwright/tsconfig.node.json +++ b/typescript-jsx-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-cypress-nightwatch/.gitignore b/typescript-jsx-router-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-jsx-router-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-jsx-router-cypress-nightwatch/.vscode/extensions.json b/typescript-jsx-router-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-jsx-router-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-jsx-router-cypress-nightwatch/README.md b/typescript-jsx-router-cypress-nightwatch/README.md deleted file mode 100644 index 7a0d413d..00000000 --- a/typescript-jsx-router-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-jsx-router-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-jsx-router-cypress-nightwatch/cypress.config.ts b/typescript-jsx-router-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-jsx-router-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-jsx-router-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-jsx-router-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-router-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-router-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-jsx-router-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-router-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/cypress/fixtures/example.json b/typescript-jsx-router-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-router-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-router-cypress-nightwatch/cypress/support/commands.ts b/typescript-jsx-router-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-router-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-router-cypress-nightwatch/cypress/support/component-index.html b/typescript-jsx-router-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-jsx-router-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-jsx-router-cypress-nightwatch/cypress/support/component.ts b/typescript-jsx-router-cypress-nightwatch/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-jsx-router-cypress-nightwatch/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-jsx-router-cypress-nightwatch/cypress/support/e2e.ts b/typescript-jsx-router-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-router-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-router-cypress-nightwatch/env.d.ts b/typescript-jsx-router-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-cypress-nightwatch/index.html b/typescript-jsx-router-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-cypress-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-router-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/nightwatch/globals.js b/typescript-jsx-router-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/nightwatch/index.html b/typescript-jsx-router-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-jsx-router-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-jsx-router-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-router-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-router-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-router-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-router-cypress-nightwatch/package.json b/typescript-jsx-router-cypress-nightwatch/package.json deleted file mode 100644 index 01d3a2ff..00000000 --- a/typescript-jsx-router-cypress-nightwatch/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "typescript-jsx-router-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/public/favicon.ico b/typescript-jsx-router-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-cypress-nightwatch/src/App.vue b/typescript-jsx-router-cypress-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-cypress-nightwatch/src/assets/base.css b/typescript-jsx-router-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-cypress-nightwatch/src/assets/logo.svg b/typescript-jsx-router-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-nightwatch/src/assets/main.css b/typescript-jsx-router-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-router-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-router-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-router-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts b/typescript-jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-cypress-nightwatch/src/main.ts b/typescript-jsx-router-cypress-nightwatch/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-cypress-nightwatch/src/router/index.ts b/typescript-jsx-router-cypress-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-cypress-nightwatch/src/views/AboutView.vue b/typescript-jsx-router-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-cypress-nightwatch/src/views/HomeView.vue b/typescript-jsx-router-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-cypress-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-router-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-cypress-nightwatch/tsconfig.app.json b/typescript-jsx-router-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/tsconfig.cypress-ct.json b/typescript-jsx-router-cypress-nightwatch/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-jsx-router-cypress-nightwatch/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/tsconfig.json b/typescript-jsx-router-cypress-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-jsx-router-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-router-cypress-nightwatch/tsconfig.node.json b/typescript-jsx-router-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-cypress-nightwatch/vite.config.ts b/typescript-jsx-router-cypress-nightwatch/vite.config.ts deleted file mode 100644 index 3e49bf0c..00000000 --- a/typescript-jsx-router-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-cypress-playwright/.gitignore b/typescript-jsx-router-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-jsx-router-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-jsx-router-cypress-playwright/.vscode/extensions.json b/typescript-jsx-router-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-jsx-router-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-router-cypress-playwright/README.md b/typescript-jsx-router-cypress-playwright/README.md deleted file mode 100644 index efa64ec6..00000000 --- a/typescript-jsx-router-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-jsx-router-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-router-cypress-playwright/cypress.config.ts b/typescript-jsx-router-cypress-playwright/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-jsx-router-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-jsx-router-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-jsx-router-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-router-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-router-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-jsx-router-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-router-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-router-cypress-playwright/cypress/fixtures/example.json b/typescript-jsx-router-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-router-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-router-cypress-playwright/cypress/support/commands.ts b/typescript-jsx-router-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-router-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-router-cypress-playwright/cypress/support/component-index.html b/typescript-jsx-router-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-jsx-router-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-jsx-router-cypress-playwright/cypress/support/component.ts b/typescript-jsx-router-cypress-playwright/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-jsx-router-cypress-playwright/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-jsx-router-cypress-playwright/cypress/support/e2e.ts b/typescript-jsx-router-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-router-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-router-cypress-playwright/e2e/tsconfig.json b/typescript-jsx-router-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-router-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-router-cypress-playwright/e2e/vue.spec.ts b/typescript-jsx-router-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-router-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-router-cypress-playwright/env.d.ts b/typescript-jsx-router-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-cypress-playwright/index.html b/typescript-jsx-router-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-cypress-playwright/package.json b/typescript-jsx-router-cypress-playwright/package.json deleted file mode 100644 index 6fad2c28..00000000 --- a/typescript-jsx-router-cypress-playwright/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "typescript-jsx-router-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-jsx-router-cypress-playwright/playwright.config.ts b/typescript-jsx-router-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-router-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-router-cypress-playwright/public/favicon.ico b/typescript-jsx-router-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-cypress-playwright/src/App.vue b/typescript-jsx-router-cypress-playwright/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-cypress-playwright/src/assets/base.css b/typescript-jsx-router-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-cypress-playwright/src/assets/logo.svg b/typescript-jsx-router-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-playwright/src/assets/main.css b/typescript-jsx-router-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-cypress-playwright/src/components/HelloWorld.vue b/typescript-jsx-router-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-cypress-playwright/src/components/TheWelcome.vue b/typescript-jsx-router-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-cypress-playwright/src/components/WelcomeItem.vue b/typescript-jsx-router-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts b/typescript-jsx-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-jsx-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-jsx-router-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-jsx-router-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-jsx-router-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-jsx-router-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-cypress-playwright/src/main.ts b/typescript-jsx-router-cypress-playwright/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-jsx-router-cypress-playwright/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-cypress-playwright/src/router/index.ts b/typescript-jsx-router-cypress-playwright/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-cypress-playwright/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-cypress-playwright/src/views/AboutView.vue b/typescript-jsx-router-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-cypress-playwright/src/views/HomeView.vue b/typescript-jsx-router-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-cypress-playwright/tsconfig.app.json b/typescript-jsx-router-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-cypress-playwright/tsconfig.cypress-ct.json b/typescript-jsx-router-cypress-playwright/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-jsx-router-cypress-playwright/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-jsx-router-cypress-playwright/tsconfig.json b/typescript-jsx-router-cypress-playwright/tsconfig.json deleted file mode 100644 index 27e23a60..00000000 --- a/typescript-jsx-router-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.cypress-ct.json" - } - ] -} diff --git a/typescript-jsx-router-cypress-playwright/tsconfig.node.json b/typescript-jsx-router-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-cypress-playwright/vite.config.ts b/typescript-jsx-router-cypress-playwright/vite.config.ts deleted file mode 100644 index 36c61875..00000000 --- a/typescript-jsx-router-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-cypress/.gitignore b/typescript-jsx-router-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router-cypress/.gitignore +++ b/typescript-jsx-router-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router-cypress/package.json b/typescript-jsx-router-cypress/package.json index 3a6a70e7..3fadd65d 100644 --- a/typescript-jsx-router-cypress/package.json +++ b/typescript-jsx-router-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-router-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -11,23 +12,23 @@ "test:unit": "cypress run --component", "test:unit:dev": "cypress open --component", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", + "cypress": "^13.6.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-cypress/src/assets/main.css b/typescript-jsx-router-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-cypress/src/assets/main.css +++ b/typescript-jsx-router-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-cypress/tsconfig.app.json b/typescript-jsx-router-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-cypress/tsconfig.app.json +++ b/typescript-jsx-router-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-cypress/tsconfig.json b/typescript-jsx-router-cypress/tsconfig.json index 27e23a60..d3b6c317 100644 --- a/typescript-jsx-router-cypress/tsconfig.json +++ b/typescript-jsx-router-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.cypress-ct.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-router-cypress/tsconfig.node.json b/typescript-jsx-router-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-cypress/tsconfig.node.json +++ b/typescript-jsx-router-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-nightwatch/.gitignore b/typescript-jsx-router-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-jsx-router-nightwatch/.gitignore +++ b/typescript-jsx-router-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-jsx-router-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-jsx-router-nightwatch/nightwatch.conf.ts +++ b/typescript-jsx-router-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-jsx-router-nightwatch/nightwatch/globals.js b/typescript-jsx-router-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-jsx-router-nightwatch/nightwatch/tsconfig.json +++ b/typescript-jsx-router-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-jsx-router-nightwatch/package.json b/typescript-jsx-router-nightwatch/package.json index ee45f568..189d9737 100644 --- a/typescript-jsx-router-nightwatch/package.json +++ b/typescript-jsx-router-nightwatch/package.json @@ -2,35 +2,37 @@ "name": "typescript-jsx-router-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*", + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-nightwatch/src/assets/main.css b/typescript-jsx-router-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-nightwatch/src/assets/main.css +++ b/typescript-jsx-router-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-jsx-router-nightwatch/tests/e2e/example.ts +++ b/typescript-jsx-router-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-jsx-router-nightwatch/tsconfig.app.json b/typescript-jsx-router-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-nightwatch/tsconfig.app.json +++ b/typescript-jsx-router-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-nightwatch/tsconfig.node.json b/typescript-jsx-router-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-nightwatch/tsconfig.node.json +++ b/typescript-jsx-router-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/.gitignore b/typescript-jsx-router-pinia-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/.vscode/extensions.json b/typescript-jsx-router-pinia-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/README.md b/typescript-jsx-router-pinia-cypress-nightwatch/README.md deleted file mode 100644 index 2bffb8d9..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-jsx-router-pinia-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/cypress.config.ts b/typescript-jsx-router-pinia-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-jsx-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-jsx-router-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/fixtures/example.json b/typescript-jsx-router-pinia-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/commands.ts b/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/component-index.html b/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/component.ts b/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/e2e.ts b/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/env.d.ts b/typescript-jsx-router-pinia-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/index.html b/typescript-jsx-router-pinia-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/globals.js b/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/index.html b/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/package.json b/typescript-jsx-router-pinia-cypress-nightwatch/package.json deleted file mode 100644 index a2e208a2..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "typescript-jsx-router-pinia-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/public/favicon.ico b/typescript-jsx-router-pinia-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/App.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/assets/base.css b/typescript-jsx-router-pinia-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/assets/logo.svg b/typescript-jsx-router-pinia-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/assets/main.css b/typescript-jsx-router-pinia-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/main.ts b/typescript-jsx-router-pinia-cypress-nightwatch/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/router/index.ts b/typescript-jsx-router-pinia-cypress-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/stores/counter.ts b/typescript-jsx-router-pinia-cypress-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/views/AboutView.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/src/views/HomeView.vue b/typescript-jsx-router-pinia-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-pinia-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.app.json b/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.cypress-ct.json b/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.json b/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.node.json b/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-pinia-cypress-nightwatch/vite.config.ts b/typescript-jsx-router-pinia-cypress-nightwatch/vite.config.ts deleted file mode 100644 index 3e49bf0c..00000000 --- a/typescript-jsx-router-pinia-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-pinia-cypress-playwright/.gitignore b/typescript-jsx-router-pinia-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-jsx-router-pinia-cypress-playwright/.vscode/extensions.json b/typescript-jsx-router-pinia-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/README.md b/typescript-jsx-router-pinia-cypress-playwright/README.md deleted file mode 100644 index a1af1f6a..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-jsx-router-pinia-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-router-pinia-cypress-playwright/cypress.config.ts b/typescript-jsx-router-pinia-cypress-playwright/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-jsx-router-pinia-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-jsx-router-pinia-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-router-pinia-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-jsx-router-pinia-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/cypress/fixtures/example.json b/typescript-jsx-router-pinia-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/cypress/support/commands.ts b/typescript-jsx-router-pinia-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-router-pinia-cypress-playwright/cypress/support/component-index.html b/typescript-jsx-router-pinia-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-jsx-router-pinia-cypress-playwright/cypress/support/component.ts b/typescript-jsx-router-pinia-cypress-playwright/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-jsx-router-pinia-cypress-playwright/cypress/support/e2e.ts b/typescript-jsx-router-pinia-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-router-pinia-cypress-playwright/e2e/tsconfig.json b/typescript-jsx-router-pinia-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/e2e/vue.spec.ts b/typescript-jsx-router-pinia-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-router-pinia-cypress-playwright/env.d.ts b/typescript-jsx-router-pinia-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-pinia-cypress-playwright/index.html b/typescript-jsx-router-pinia-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-pinia-cypress-playwright/package.json b/typescript-jsx-router-pinia-cypress-playwright/package.json deleted file mode 100644 index b82db2e5..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "typescript-jsx-router-pinia-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/playwright.config.ts b/typescript-jsx-router-pinia-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-router-pinia-cypress-playwright/public/favicon.ico b/typescript-jsx-router-pinia-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/App.vue b/typescript-jsx-router-pinia-cypress-playwright/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/assets/base.css b/typescript-jsx-router-pinia-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/assets/logo.svg b/typescript-jsx-router-pinia-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/assets/main.css b/typescript-jsx-router-pinia-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/components/HelloWorld.vue b/typescript-jsx-router-pinia-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/components/TheWelcome.vue b/typescript-jsx-router-pinia-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/components/WelcomeItem.vue b/typescript-jsx-router-pinia-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts b/typescript-jsx-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/main.ts b/typescript-jsx-router-pinia-cypress-playwright/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/router/index.ts b/typescript-jsx-router-pinia-cypress-playwright/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/stores/counter.ts b/typescript-jsx-router-pinia-cypress-playwright/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/views/AboutView.vue b/typescript-jsx-router-pinia-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-cypress-playwright/src/views/HomeView.vue b/typescript-jsx-router-pinia-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-cypress-playwright/tsconfig.app.json b/typescript-jsx-router-pinia-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/tsconfig.cypress-ct.json b/typescript-jsx-router-pinia-cypress-playwright/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/tsconfig.json b/typescript-jsx-router-pinia-cypress-playwright/tsconfig.json deleted file mode 100644 index 27e23a60..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.cypress-ct.json" - } - ] -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/tsconfig.node.json b/typescript-jsx-router-pinia-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-pinia-cypress-playwright/vite.config.ts b/typescript-jsx-router-pinia-cypress-playwright/vite.config.ts deleted file mode 100644 index 36c61875..00000000 --- a/typescript-jsx-router-pinia-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-pinia-cypress/.gitignore b/typescript-jsx-router-pinia-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router-pinia-cypress/.gitignore +++ b/typescript-jsx-router-pinia-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router-pinia-cypress/package.json b/typescript-jsx-router-pinia-cypress/package.json index 86ab5f61..fa6f9cfc 100644 --- a/typescript-jsx-router-pinia-cypress/package.json +++ b/typescript-jsx-router-pinia-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-router-pinia-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -11,24 +12,24 @@ "test:unit": "cypress run --component", "test:unit:dev": "cypress open --component", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", + "cypress": "^13.6.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-pinia-cypress/src/assets/main.css b/typescript-jsx-router-pinia-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-pinia-cypress/src/assets/main.css +++ b/typescript-jsx-router-pinia-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-pinia-cypress/tsconfig.app.json b/typescript-jsx-router-pinia-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-pinia-cypress/tsconfig.app.json +++ b/typescript-jsx-router-pinia-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-pinia-cypress/tsconfig.json b/typescript-jsx-router-pinia-cypress/tsconfig.json index 27e23a60..d3b6c317 100644 --- a/typescript-jsx-router-pinia-cypress/tsconfig.json +++ b/typescript-jsx-router-pinia-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.cypress-ct.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-router-pinia-cypress/tsconfig.node.json b/typescript-jsx-router-pinia-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-pinia-cypress/tsconfig.node.json +++ b/typescript-jsx-router-pinia-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-pinia-nightwatch/.gitignore b/typescript-jsx-router-pinia-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-jsx-router-pinia-nightwatch/.gitignore +++ b/typescript-jsx-router-pinia-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-jsx-router-pinia-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-pinia-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-jsx-router-pinia-nightwatch/nightwatch.conf.ts +++ b/typescript-jsx-router-pinia-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-jsx-router-pinia-nightwatch/nightwatch/globals.js b/typescript-jsx-router-pinia-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-pinia-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-pinia-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-pinia-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-jsx-router-pinia-nightwatch/nightwatch/tsconfig.json +++ b/typescript-jsx-router-pinia-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-jsx-router-pinia-nightwatch/package.json b/typescript-jsx-router-pinia-nightwatch/package.json index 142c8ada..812e4619 100644 --- a/typescript-jsx-router-pinia-nightwatch/package.json +++ b/typescript-jsx-router-pinia-nightwatch/package.json @@ -2,36 +2,38 @@ "name": "typescript-jsx-router-pinia-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*", + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-pinia-nightwatch/src/assets/main.css b/typescript-jsx-router-pinia-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-pinia-nightwatch/src/assets/main.css +++ b/typescript-jsx-router-pinia-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-pinia-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-pinia-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-jsx-router-pinia-nightwatch/tests/e2e/example.ts +++ b/typescript-jsx-router-pinia-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-jsx-router-pinia-nightwatch/tsconfig.app.json b/typescript-jsx-router-pinia-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-pinia-nightwatch/tsconfig.app.json +++ b/typescript-jsx-router-pinia-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-pinia-nightwatch/tsconfig.node.json b/typescript-jsx-router-pinia-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-pinia-nightwatch/tsconfig.node.json +++ b/typescript-jsx-router-pinia-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/.gitignore b/typescript-jsx-router-pinia-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/.vscode/extensions.json b/typescript-jsx-router-pinia-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/README.md b/typescript-jsx-router-pinia-playwright-nightwatch/README.md deleted file mode 100644 index bdfacc3d..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# typescript-jsx-router-pinia-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/e2e/tsconfig.json b/typescript-jsx-router-pinia-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/e2e/vue.spec.ts b/typescript-jsx-router-pinia-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/env.d.ts b/typescript-jsx-router-pinia-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/index.html b/typescript-jsx-router-pinia-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/globals.js b/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/index.html b/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/package.json b/typescript-jsx-router-pinia-playwright-nightwatch/package.json deleted file mode 100644 index 631f3686..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "typescript-jsx-router-pinia-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/playwright.config.ts b/typescript-jsx-router-pinia-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/public/favicon.ico b/typescript-jsx-router-pinia-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/App.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/assets/base.css b/typescript-jsx-router-pinia-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/assets/logo.svg b/typescript-jsx-router-pinia-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/assets/main.css b/typescript-jsx-router-pinia-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/main.ts b/typescript-jsx-router-pinia-playwright-nightwatch/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/router/index.ts b/typescript-jsx-router-pinia-playwright-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/stores/counter.ts b/typescript-jsx-router-pinia-playwright-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/views/AboutView.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/src/views/HomeView.vue b/typescript-jsx-router-pinia-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-pinia-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.app.json b/typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.json b/typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.node.json b/typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-pinia-playwright-nightwatch/vite.config.ts b/typescript-jsx-router-pinia-playwright-nightwatch/vite.config.ts deleted file mode 100644 index 3e49bf0c..00000000 --- a/typescript-jsx-router-pinia-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-pinia-playwright/.gitignore b/typescript-jsx-router-pinia-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-jsx-router-pinia-playwright/.gitignore +++ b/typescript-jsx-router-pinia-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-jsx-router-pinia-playwright/package.json b/typescript-jsx-router-pinia-playwright/package.json index 59eccc92..5041e66d 100644 --- a/typescript-jsx-router-pinia-playwright/package.json +++ b/typescript-jsx-router-pinia-playwright/package.json @@ -2,29 +2,30 @@ "name": "typescript-jsx-router-pinia-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-pinia-playwright/playwright.config.ts b/typescript-jsx-router-pinia-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-jsx-router-pinia-playwright/playwright.config.ts +++ b/typescript-jsx-router-pinia-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-jsx-router-pinia-playwright/src/assets/main.css b/typescript-jsx-router-pinia-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-pinia-playwright/src/assets/main.css +++ b/typescript-jsx-router-pinia-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-pinia-playwright/tsconfig.app.json b/typescript-jsx-router-pinia-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-pinia-playwright/tsconfig.app.json +++ b/typescript-jsx-router-pinia-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-pinia-playwright/tsconfig.node.json b/typescript-jsx-router-pinia-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-pinia-playwright/tsconfig.node.json +++ b/typescript-jsx-router-pinia-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/.gitignore b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/README.md b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/README.md deleted file mode 100644 index 007c7f22..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-jsx-router-pinia-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress.config.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/env.d.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/index.html b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/package.json b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/package.json deleted file mode 100644 index b78b5aeb..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "typescript-jsx-router-pinia-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/public/favicon.ico b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/App.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/base.css b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/main.css b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/main.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/router/index.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/stores/counter.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.app.json b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.json b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.node.json b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/vite.config.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/vite.config.ts deleted file mode 100644 index 3a698823..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/vitest.config.ts b/typescript-jsx-router-pinia-vitest-cypress-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/.gitignore b/typescript-jsx-router-pinia-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/.vscode/extensions.json b/typescript-jsx-router-pinia-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/README.md b/typescript-jsx-router-pinia-vitest-cypress-playwright/README.md deleted file mode 100644 index a16397cf..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-jsx-router-pinia-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress.config.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json b/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/support/commands.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/support/e2e.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/e2e/tsconfig.json b/typescript-jsx-router-pinia-vitest-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/e2e/vue.spec.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/env.d.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/index.html b/typescript-jsx-router-pinia-vitest-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/package.json b/typescript-jsx-router-pinia-vitest-cypress-playwright/package.json deleted file mode 100644 index 29f46f30..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "typescript-jsx-router-pinia-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/playwright.config.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/public/favicon.ico b/typescript-jsx-router-pinia-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/App.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/base.css b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/logo.svg b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/main.css b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/main.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/router/index.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/stores/counter.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue b/typescript-jsx-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.app.json b/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.json b/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.json deleted file mode 100644 index 100cf6a8..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - } - ] -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.node.json b/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.vitest.json b/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/vite.config.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/vite.config.ts deleted file mode 100644 index 36c61875..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-pinia-vitest-cypress-playwright/vitest.config.ts b/typescript-jsx-router-pinia-vitest-cypress-playwright/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-router-pinia-vitest-cypress-playwright/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-router-pinia-vitest-cypress/.gitignore b/typescript-jsx-router-pinia-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router-pinia-vitest-cypress/.gitignore +++ b/typescript-jsx-router-pinia-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router-pinia-vitest-cypress/package.json b/typescript-jsx-router-pinia-vitest-cypress/package.json index 7c417c6d..bc66cfa1 100644 --- a/typescript-jsx-router-pinia-vitest-cypress/package.json +++ b/typescript-jsx-router-pinia-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-router-pinia-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,28 +11,28 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-pinia-vitest-cypress/src/assets/main.css b/typescript-jsx-router-pinia-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-pinia-vitest-cypress/src/assets/main.css +++ b/typescript-jsx-router-pinia-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-pinia-vitest-cypress/tsconfig.app.json b/typescript-jsx-router-pinia-vitest-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-pinia-vitest-cypress/tsconfig.app.json +++ b/typescript-jsx-router-pinia-vitest-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-pinia-vitest-cypress/tsconfig.json b/typescript-jsx-router-pinia-vitest-cypress/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-jsx-router-pinia-vitest-cypress/tsconfig.json +++ b/typescript-jsx-router-pinia-vitest-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-router-pinia-vitest-cypress/tsconfig.node.json b/typescript-jsx-router-pinia-vitest-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-pinia-vitest-cypress/tsconfig.node.json +++ b/typescript-jsx-router-pinia-vitest-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-pinia-vitest-nightwatch/.gitignore b/typescript-jsx-router-pinia-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-jsx-router-pinia-vitest-nightwatch/.gitignore +++ b/typescript-jsx-router-pinia-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch.conf.ts +++ b/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch/globals.js b/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch/tsconfig.json +++ b/typescript-jsx-router-pinia-vitest-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-jsx-router-pinia-vitest-nightwatch/package.json b/typescript-jsx-router-pinia-vitest-nightwatch/package.json index a785ef9f..9c83a90a 100644 --- a/typescript-jsx-router-pinia-vitest-nightwatch/package.json +++ b/typescript-jsx-router-pinia-vitest-nightwatch/package.json @@ -2,40 +2,41 @@ "name": "typescript-jsx-router-pinia-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", + "test:e2e": "nightwatch tests/e2e/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-pinia-vitest-nightwatch/src/assets/main.css b/typescript-jsx-router-pinia-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-pinia-vitest-nightwatch/src/assets/main.css +++ b/typescript-jsx-router-pinia-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-pinia-vitest-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-pinia-vitest-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-jsx-router-pinia-vitest-nightwatch/tests/e2e/example.ts +++ b/typescript-jsx-router-pinia-vitest-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-jsx-router-pinia-vitest-nightwatch/tsconfig.app.json b/typescript-jsx-router-pinia-vitest-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-pinia-vitest-nightwatch/tsconfig.app.json +++ b/typescript-jsx-router-pinia-vitest-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-pinia-vitest-nightwatch/tsconfig.node.json b/typescript-jsx-router-pinia-vitest-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-pinia-vitest-nightwatch/tsconfig.node.json +++ b/typescript-jsx-router-pinia-vitest-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/.gitignore b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/README.md b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 62bd8529..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# typescript-jsx-router-pinia-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/env.d.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/index.html b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/package.json b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/package.json deleted file mode 100644 index 54c0e465..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "typescript-jsx-router-pinia-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/playwright.config.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/public/favicon.ico b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/App.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/base.css b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/main.css b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/main.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/router/index.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/stores/counter.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.app.json b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.json b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.node.json b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/vite.config.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/vite.config.ts deleted file mode 100644 index 3a698823..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/vitest.config.ts b/typescript-jsx-router-pinia-vitest-playwright-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-router-pinia-vitest-playwright-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-router-pinia-vitest-playwright/.gitignore b/typescript-jsx-router-pinia-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-jsx-router-pinia-vitest-playwright/.gitignore +++ b/typescript-jsx-router-pinia-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-jsx-router-pinia-vitest-playwright/package.json b/typescript-jsx-router-pinia-vitest-playwright/package.json index 347b780c..52519e61 100644 --- a/typescript-jsx-router-pinia-vitest-playwright/package.json +++ b/typescript-jsx-router-pinia-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-router-pinia-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -9,27 +10,27 @@ "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-pinia-vitest-playwright/playwright.config.ts b/typescript-jsx-router-pinia-vitest-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-jsx-router-pinia-vitest-playwright/playwright.config.ts +++ b/typescript-jsx-router-pinia-vitest-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-jsx-router-pinia-vitest-playwright/src/assets/main.css b/typescript-jsx-router-pinia-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-pinia-vitest-playwright/src/assets/main.css +++ b/typescript-jsx-router-pinia-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-pinia-vitest-playwright/tsconfig.app.json b/typescript-jsx-router-pinia-vitest-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-pinia-vitest-playwright/tsconfig.app.json +++ b/typescript-jsx-router-pinia-vitest-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-pinia-vitest-playwright/tsconfig.node.json b/typescript-jsx-router-pinia-vitest-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-pinia-vitest-playwright/tsconfig.node.json +++ b/typescript-jsx-router-pinia-vitest-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-pinia-vitest/.gitignore b/typescript-jsx-router-pinia-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router-pinia-vitest/.gitignore +++ b/typescript-jsx-router-pinia-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router-pinia-vitest/package.json b/typescript-jsx-router-pinia-vitest/package.json index ffc4a07a..40052491 100644 --- a/typescript-jsx-router-pinia-vitest/package.json +++ b/typescript-jsx-router-pinia-vitest/package.json @@ -2,32 +2,33 @@ "name": "typescript-jsx-router-pinia-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-pinia-vitest/src/assets/main.css b/typescript-jsx-router-pinia-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-pinia-vitest/src/assets/main.css +++ b/typescript-jsx-router-pinia-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-pinia-vitest/tsconfig.app.json b/typescript-jsx-router-pinia-vitest/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-pinia-vitest/tsconfig.app.json +++ b/typescript-jsx-router-pinia-vitest/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-pinia-vitest/tsconfig.node.json b/typescript-jsx-router-pinia-vitest/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-pinia-vitest/tsconfig.node.json +++ b/typescript-jsx-router-pinia-vitest/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-pinia-with-tests/.gitignore b/typescript-jsx-router-pinia-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router-pinia-with-tests/.gitignore +++ b/typescript-jsx-router-pinia-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router-pinia-with-tests/package.json b/typescript-jsx-router-pinia-with-tests/package.json index b17779f6..5ccb7ffa 100644 --- a/typescript-jsx-router-pinia-with-tests/package.json +++ b/typescript-jsx-router-pinia-with-tests/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-router-pinia-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,28 +11,28 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-pinia-with-tests/src/assets/main.css b/typescript-jsx-router-pinia-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-pinia-with-tests/src/assets/main.css +++ b/typescript-jsx-router-pinia-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-pinia-with-tests/tsconfig.app.json b/typescript-jsx-router-pinia-with-tests/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-pinia-with-tests/tsconfig.app.json +++ b/typescript-jsx-router-pinia-with-tests/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-pinia-with-tests/tsconfig.json b/typescript-jsx-router-pinia-with-tests/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-jsx-router-pinia-with-tests/tsconfig.json +++ b/typescript-jsx-router-pinia-with-tests/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-router-pinia-with-tests/tsconfig.node.json b/typescript-jsx-router-pinia-with-tests/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-pinia-with-tests/tsconfig.node.json +++ b/typescript-jsx-router-pinia-with-tests/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-pinia/.gitignore b/typescript-jsx-router-pinia/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router-pinia/.gitignore +++ b/typescript-jsx-router-pinia/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router-pinia/package.json b/typescript-jsx-router-pinia/package.json index 9d2e8a4c..0f1c7676 100644 --- a/typescript-jsx-router-pinia/package.json +++ b/typescript-jsx-router-pinia/package.json @@ -2,27 +2,28 @@ "name": "typescript-jsx-router-pinia", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-pinia/src/assets/main.css b/typescript-jsx-router-pinia/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-pinia/src/assets/main.css +++ b/typescript-jsx-router-pinia/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-pinia/tsconfig.app.json b/typescript-jsx-router-pinia/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-pinia/tsconfig.app.json +++ b/typescript-jsx-router-pinia/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-pinia/tsconfig.node.json b/typescript-jsx-router-pinia/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-pinia/tsconfig.node.json +++ b/typescript-jsx-router-pinia/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-playwright-nightwatch/.gitignore b/typescript-jsx-router-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-jsx-router-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-jsx-router-playwright-nightwatch/.vscode/extensions.json b/typescript-jsx-router-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-jsx-router-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-router-playwright-nightwatch/README.md b/typescript-jsx-router-playwright-nightwatch/README.md deleted file mode 100644 index 03c25bb1..00000000 --- a/typescript-jsx-router-playwright-nightwatch/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# typescript-jsx-router-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-router-playwright-nightwatch/e2e/tsconfig.json b/typescript-jsx-router-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-router-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-router-playwright-nightwatch/e2e/vue.spec.ts b/typescript-jsx-router-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-router-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-router-playwright-nightwatch/env.d.ts b/typescript-jsx-router-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-playwright-nightwatch/index.html b/typescript-jsx-router-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-playwright-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-router-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-router-playwright-nightwatch/nightwatch/globals.js b/typescript-jsx-router-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-playwright-nightwatch/nightwatch/index.html b/typescript-jsx-router-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-jsx-router-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-jsx-router-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-router-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-router-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-router-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-router-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-router-playwright-nightwatch/package.json b/typescript-jsx-router-playwright-nightwatch/package.json deleted file mode 100644 index 9f5ddef4..00000000 --- a/typescript-jsx-router-playwright-nightwatch/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "typescript-jsx-router-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-router-playwright-nightwatch/playwright.config.ts b/typescript-jsx-router-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-router-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-router-playwright-nightwatch/public/favicon.ico b/typescript-jsx-router-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-playwright-nightwatch/src/App.vue b/typescript-jsx-router-playwright-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-playwright-nightwatch/src/assets/base.css b/typescript-jsx-router-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-playwright-nightwatch/src/assets/logo.svg b/typescript-jsx-router-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-playwright-nightwatch/src/assets/main.css b/typescript-jsx-router-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-router-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-router-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-router-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-playwright-nightwatch/src/main.ts b/typescript-jsx-router-playwright-nightwatch/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-playwright-nightwatch/src/router/index.ts b/typescript-jsx-router-playwright-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-playwright-nightwatch/src/views/AboutView.vue b/typescript-jsx-router-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-playwright-nightwatch/src/views/HomeView.vue b/typescript-jsx-router-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-playwright-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-router-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-playwright-nightwatch/tsconfig.app.json b/typescript-jsx-router-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-playwright-nightwatch/tsconfig.json b/typescript-jsx-router-playwright-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-jsx-router-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-router-playwright-nightwatch/tsconfig.node.json b/typescript-jsx-router-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-playwright-nightwatch/vite.config.ts b/typescript-jsx-router-playwright-nightwatch/vite.config.ts deleted file mode 100644 index 3e49bf0c..00000000 --- a/typescript-jsx-router-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-playwright/.gitignore b/typescript-jsx-router-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-jsx-router-playwright/.gitignore +++ b/typescript-jsx-router-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-jsx-router-playwright/package.json b/typescript-jsx-router-playwright/package.json index 38254282..851d2bf4 100644 --- a/typescript-jsx-router-playwright/package.json +++ b/typescript-jsx-router-playwright/package.json @@ -2,28 +2,29 @@ "name": "typescript-jsx-router-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-playwright/playwright.config.ts b/typescript-jsx-router-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-jsx-router-playwright/playwright.config.ts +++ b/typescript-jsx-router-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-jsx-router-playwright/src/assets/main.css b/typescript-jsx-router-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-playwright/src/assets/main.css +++ b/typescript-jsx-router-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-playwright/tsconfig.app.json b/typescript-jsx-router-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-playwright/tsconfig.app.json +++ b/typescript-jsx-router-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-playwright/tsconfig.node.json b/typescript-jsx-router-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-playwright/tsconfig.node.json +++ b/typescript-jsx-router-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/.gitignore b/typescript-jsx-router-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/.vscode/extensions.json b/typescript-jsx-router-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/README.md b/typescript-jsx-router-vitest-cypress-nightwatch/README.md deleted file mode 100644 index 0dce151c..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-jsx-router-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/cypress.config.ts b/typescript-jsx-router-vitest-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-jsx-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-jsx-router-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/fixtures/example.json b/typescript-jsx-router-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/support/commands.ts b/typescript-jsx-router-vitest-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/support/e2e.ts b/typescript-jsx-router-vitest-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/env.d.ts b/typescript-jsx-router-vitest-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/index.html b/typescript-jsx-router-vitest-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/globals.js b/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/package.json b/typescript-jsx-router-vitest-cypress-nightwatch/package.json deleted file mode 100644 index d87f90dc..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "typescript-jsx-router-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/public/favicon.ico b/typescript-jsx-router-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/App.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/assets/base.css b/typescript-jsx-router-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/assets/logo.svg b/typescript-jsx-router-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/assets/main.css b/typescript-jsx-router-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/main.ts b/typescript-jsx-router-vitest-cypress-nightwatch/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/router/index.ts b/typescript-jsx-router-vitest-cypress-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/views/AboutView.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/src/views/HomeView.vue b/typescript-jsx-router-vitest-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-vitest-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.app.json b/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.json b/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.node.json b/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.vitest.json b/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/vite.config.ts b/typescript-jsx-router-vitest-cypress-nightwatch/vite.config.ts deleted file mode 100644 index 3a698823..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-vitest-cypress-nightwatch/vitest.config.ts b/typescript-jsx-router-vitest-cypress-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-router-vitest-cypress-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-router-vitest-cypress-playwright/.gitignore b/typescript-jsx-router-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-jsx-router-vitest-cypress-playwright/.vscode/extensions.json b/typescript-jsx-router-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/README.md b/typescript-jsx-router-vitest-cypress-playwright/README.md deleted file mode 100644 index 98ade161..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-jsx-router-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-router-vitest-cypress-playwright/cypress.config.ts b/typescript-jsx-router-vitest-cypress-playwright/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-jsx-router-vitest-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-jsx-router-vitest-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-router-vitest-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-jsx-router-vitest-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/cypress/fixtures/example.json b/typescript-jsx-router-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/cypress/support/commands.ts b/typescript-jsx-router-vitest-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-router-vitest-cypress-playwright/cypress/support/e2e.ts b/typescript-jsx-router-vitest-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-router-vitest-cypress-playwright/e2e/tsconfig.json b/typescript-jsx-router-vitest-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/e2e/vue.spec.ts b/typescript-jsx-router-vitest-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-router-vitest-cypress-playwright/env.d.ts b/typescript-jsx-router-vitest-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-vitest-cypress-playwright/index.html b/typescript-jsx-router-vitest-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-vitest-cypress-playwright/package.json b/typescript-jsx-router-vitest-cypress-playwright/package.json deleted file mode 100644 index d151eb7e..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "typescript-jsx-router-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/playwright.config.ts b/typescript-jsx-router-vitest-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-router-vitest-cypress-playwright/public/favicon.ico b/typescript-jsx-router-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/App.vue b/typescript-jsx-router-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/assets/base.css b/typescript-jsx-router-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/assets/logo.svg b/typescript-jsx-router-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/assets/main.css b/typescript-jsx-router-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/components/HelloWorld.vue b/typescript-jsx-router-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/components/TheWelcome.vue b/typescript-jsx-router-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/components/WelcomeItem.vue b/typescript-jsx-router-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/main.ts b/typescript-jsx-router-vitest-cypress-playwright/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/router/index.ts b/typescript-jsx-router-vitest-cypress-playwright/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/views/AboutView.vue b/typescript-jsx-router-vitest-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-cypress-playwright/src/views/HomeView.vue b/typescript-jsx-router-vitest-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-cypress-playwright/tsconfig.app.json b/typescript-jsx-router-vitest-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/tsconfig.json b/typescript-jsx-router-vitest-cypress-playwright/tsconfig.json deleted file mode 100644 index 100cf6a8..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - } - ] -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/tsconfig.node.json b/typescript-jsx-router-vitest-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/tsconfig.vitest.json b/typescript-jsx-router-vitest-cypress-playwright/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-router-vitest-cypress-playwright/vite.config.ts b/typescript-jsx-router-vitest-cypress-playwright/vite.config.ts deleted file mode 100644 index 36c61875..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-vitest-cypress-playwright/vitest.config.ts b/typescript-jsx-router-vitest-cypress-playwright/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-router-vitest-cypress-playwright/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-router-vitest-cypress/.gitignore b/typescript-jsx-router-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router-vitest-cypress/.gitignore +++ b/typescript-jsx-router-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router-vitest-cypress/package.json b/typescript-jsx-router-vitest-cypress/package.json index 5e39dc30..c545a2ca 100644 --- a/typescript-jsx-router-vitest-cypress/package.json +++ b/typescript-jsx-router-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-router-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,27 +11,27 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-vitest-cypress/src/assets/main.css b/typescript-jsx-router-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-vitest-cypress/src/assets/main.css +++ b/typescript-jsx-router-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-vitest-cypress/tsconfig.app.json b/typescript-jsx-router-vitest-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-vitest-cypress/tsconfig.app.json +++ b/typescript-jsx-router-vitest-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-vitest-cypress/tsconfig.json b/typescript-jsx-router-vitest-cypress/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-jsx-router-vitest-cypress/tsconfig.json +++ b/typescript-jsx-router-vitest-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-router-vitest-cypress/tsconfig.node.json b/typescript-jsx-router-vitest-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-vitest-cypress/tsconfig.node.json +++ b/typescript-jsx-router-vitest-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-vitest-nightwatch/.gitignore b/typescript-jsx-router-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-jsx-router-vitest-nightwatch/.gitignore +++ b/typescript-jsx-router-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-jsx-router-vitest-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-vitest-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-jsx-router-vitest-nightwatch/nightwatch.conf.ts +++ b/typescript-jsx-router-vitest-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-jsx-router-vitest-nightwatch/nightwatch/globals.js b/typescript-jsx-router-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-vitest-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-vitest-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-jsx-router-vitest-nightwatch/nightwatch/tsconfig.json +++ b/typescript-jsx-router-vitest-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-jsx-router-vitest-nightwatch/package.json b/typescript-jsx-router-vitest-nightwatch/package.json index e1302b0e..f9a0075f 100644 --- a/typescript-jsx-router-vitest-nightwatch/package.json +++ b/typescript-jsx-router-vitest-nightwatch/package.json @@ -2,39 +2,40 @@ "name": "typescript-jsx-router-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", + "test:e2e": "nightwatch tests/e2e/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-vitest-nightwatch/src/assets/main.css b/typescript-jsx-router-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-vitest-nightwatch/src/assets/main.css +++ b/typescript-jsx-router-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-vitest-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-vitest-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-jsx-router-vitest-nightwatch/tests/e2e/example.ts +++ b/typescript-jsx-router-vitest-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-jsx-router-vitest-nightwatch/tsconfig.app.json b/typescript-jsx-router-vitest-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-vitest-nightwatch/tsconfig.app.json +++ b/typescript-jsx-router-vitest-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-vitest-nightwatch/tsconfig.node.json b/typescript-jsx-router-vitest-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-vitest-nightwatch/tsconfig.node.json +++ b/typescript-jsx-router-vitest-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/.gitignore b/typescript-jsx-router-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/.vscode/extensions.json b/typescript-jsx-router-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/README.md b/typescript-jsx-router-vitest-playwright-nightwatch/README.md deleted file mode 100644 index b7df78e6..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# typescript-jsx-router-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/e2e/tsconfig.json b/typescript-jsx-router-vitest-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/e2e/vue.spec.ts b/typescript-jsx-router-vitest-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/env.d.ts b/typescript-jsx-router-vitest-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/index.html b/typescript-jsx-router-vitest-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch.conf.ts b/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/globals.js b/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/package.json b/typescript-jsx-router-vitest-playwright-nightwatch/package.json deleted file mode 100644 index ea606e1e..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "typescript-jsx-router-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/playwright.config.ts b/typescript-jsx-router-vitest-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/public/favicon.ico b/typescript-jsx-router-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/App.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/assets/base.css b/typescript-jsx-router-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/assets/logo.svg b/typescript-jsx-router-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/assets/main.css b/typescript-jsx-router-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/main.ts b/typescript-jsx-router-vitest-playwright-nightwatch/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/router/index.ts b/typescript-jsx-router-vitest-playwright-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/views/AboutView.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/src/views/HomeView.vue b/typescript-jsx-router-vitest-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/tests/e2e/example.ts b/typescript-jsx-router-vitest-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.app.json b/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.json b/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.node.json b/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.vitest.json b/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/vite.config.ts b/typescript-jsx-router-vitest-playwright-nightwatch/vite.config.ts deleted file mode 100644 index 3a698823..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-router-vitest-playwright-nightwatch/vitest.config.ts b/typescript-jsx-router-vitest-playwright-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-router-vitest-playwright-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-router-vitest-playwright/.gitignore b/typescript-jsx-router-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-jsx-router-vitest-playwright/.gitignore +++ b/typescript-jsx-router-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-jsx-router-vitest-playwright/package.json b/typescript-jsx-router-vitest-playwright/package.json index 12a81402..00649f4c 100644 --- a/typescript-jsx-router-vitest-playwright/package.json +++ b/typescript-jsx-router-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-router-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -9,26 +10,26 @@ "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-vitest-playwright/playwright.config.ts b/typescript-jsx-router-vitest-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-jsx-router-vitest-playwright/playwright.config.ts +++ b/typescript-jsx-router-vitest-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-jsx-router-vitest-playwright/src/assets/main.css b/typescript-jsx-router-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-vitest-playwright/src/assets/main.css +++ b/typescript-jsx-router-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-vitest-playwright/tsconfig.app.json b/typescript-jsx-router-vitest-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-vitest-playwright/tsconfig.app.json +++ b/typescript-jsx-router-vitest-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-vitest-playwright/tsconfig.node.json b/typescript-jsx-router-vitest-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-vitest-playwright/tsconfig.node.json +++ b/typescript-jsx-router-vitest-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-vitest/.gitignore b/typescript-jsx-router-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router-vitest/.gitignore +++ b/typescript-jsx-router-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router-vitest/package.json b/typescript-jsx-router-vitest/package.json index afec4494..9cb581a4 100644 --- a/typescript-jsx-router-vitest/package.json +++ b/typescript-jsx-router-vitest/package.json @@ -2,31 +2,32 @@ "name": "typescript-jsx-router-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-vitest/src/assets/main.css b/typescript-jsx-router-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-vitest/src/assets/main.css +++ b/typescript-jsx-router-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-vitest/tsconfig.app.json b/typescript-jsx-router-vitest/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-vitest/tsconfig.app.json +++ b/typescript-jsx-router-vitest/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-vitest/tsconfig.node.json b/typescript-jsx-router-vitest/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-vitest/tsconfig.node.json +++ b/typescript-jsx-router-vitest/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router-with-tests/.gitignore b/typescript-jsx-router-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router-with-tests/.gitignore +++ b/typescript-jsx-router-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router-with-tests/package.json b/typescript-jsx-router-with-tests/package.json index 043c26c0..7eab3064 100644 --- a/typescript-jsx-router-with-tests/package.json +++ b/typescript-jsx-router-with-tests/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-router-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,27 +11,27 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router-with-tests/src/assets/main.css b/typescript-jsx-router-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router-with-tests/src/assets/main.css +++ b/typescript-jsx-router-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router-with-tests/tsconfig.app.json b/typescript-jsx-router-with-tests/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router-with-tests/tsconfig.app.json +++ b/typescript-jsx-router-with-tests/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router-with-tests/tsconfig.json b/typescript-jsx-router-with-tests/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-jsx-router-with-tests/tsconfig.json +++ b/typescript-jsx-router-with-tests/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-router-with-tests/tsconfig.node.json b/typescript-jsx-router-with-tests/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router-with-tests/tsconfig.node.json +++ b/typescript-jsx-router-with-tests/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-router/.gitignore b/typescript-jsx-router/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-router/.gitignore +++ b/typescript-jsx-router/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-router/package.json b/typescript-jsx-router/package.json index 316c8888..70bdc6ca 100644 --- a/typescript-jsx-router/package.json +++ b/typescript-jsx-router/package.json @@ -2,26 +2,27 @@ "name": "typescript-jsx-router", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-router/src/assets/main.css b/typescript-jsx-router/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-router/src/assets/main.css +++ b/typescript-jsx-router/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-router/tsconfig.app.json b/typescript-jsx-router/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-router/tsconfig.app.json +++ b/typescript-jsx-router/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-router/tsconfig.node.json b/typescript-jsx-router/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-router/tsconfig.node.json +++ b/typescript-jsx-router/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-vitest-cypress-nightwatch/.gitignore b/typescript-jsx-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-jsx-vitest-cypress-nightwatch/.vscode/extensions.json b/typescript-jsx-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/README.md b/typescript-jsx-vitest-cypress-nightwatch/README.md deleted file mode 100644 index 23b7a46b..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-jsx-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-jsx-vitest-cypress-nightwatch/cypress.config.ts b/typescript-jsx-vitest-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-jsx-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-jsx-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-jsx-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/cypress/fixtures/example.json b/typescript-jsx-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/cypress/support/commands.ts b/typescript-jsx-vitest-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-vitest-cypress-nightwatch/cypress/support/e2e.ts b/typescript-jsx-vitest-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-vitest-cypress-nightwatch/env.d.ts b/typescript-jsx-vitest-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-vitest-cypress-nightwatch/index.html b/typescript-jsx-vitest-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-vitest-cypress-nightwatch/nightwatch.conf.ts b/typescript-jsx-vitest-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/globals.js b/typescript-jsx-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-vitest-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/package.json b/typescript-jsx-vitest-cypress-nightwatch/package.json deleted file mode 100644 index d5bc8e48..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "typescript-jsx-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/public/favicon.ico b/typescript-jsx-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/App.vue b/typescript-jsx-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/assets/base.css b/typescript-jsx-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/assets/logo.svg b/typescript-jsx-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/assets/main.css b/typescript-jsx-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-vitest-cypress-nightwatch/src/main.ts b/typescript-jsx-vitest-cypress-nightwatch/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-jsx-vitest-cypress-nightwatch/tests/e2e/example.ts b/typescript-jsx-vitest-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-vitest-cypress-nightwatch/tsconfig.app.json b/typescript-jsx-vitest-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/tsconfig.json b/typescript-jsx-vitest-cypress-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/tsconfig.node.json b/typescript-jsx-vitest-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/tsconfig.vitest.json b/typescript-jsx-vitest-cypress-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-vitest-cypress-nightwatch/vite.config.ts b/typescript-jsx-vitest-cypress-nightwatch/vite.config.ts deleted file mode 100644 index 3a698823..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-vitest-cypress-nightwatch/vitest.config.ts b/typescript-jsx-vitest-cypress-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-vitest-cypress-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-vitest-cypress-playwright/.gitignore b/typescript-jsx-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-jsx-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-jsx-vitest-cypress-playwright/.vscode/extensions.json b/typescript-jsx-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-jsx-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-vitest-cypress-playwright/README.md b/typescript-jsx-vitest-cypress-playwright/README.md deleted file mode 100644 index a4954464..00000000 --- a/typescript-jsx-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-jsx-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-vitest-cypress-playwright/cypress.config.ts b/typescript-jsx-vitest-cypress-playwright/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-jsx-vitest-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-jsx-vitest-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-jsx-vitest-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-jsx-vitest-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-jsx-vitest-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-jsx-vitest-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-jsx-vitest-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-jsx-vitest-cypress-playwright/cypress/fixtures/example.json b/typescript-jsx-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-jsx-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-jsx-vitest-cypress-playwright/cypress/support/commands.ts b/typescript-jsx-vitest-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-jsx-vitest-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-jsx-vitest-cypress-playwright/cypress/support/e2e.ts b/typescript-jsx-vitest-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-jsx-vitest-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-jsx-vitest-cypress-playwright/e2e/tsconfig.json b/typescript-jsx-vitest-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-vitest-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-vitest-cypress-playwright/e2e/vue.spec.ts b/typescript-jsx-vitest-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-vitest-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-vitest-cypress-playwright/env.d.ts b/typescript-jsx-vitest-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-vitest-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-vitest-cypress-playwright/index.html b/typescript-jsx-vitest-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-vitest-cypress-playwright/package.json b/typescript-jsx-vitest-cypress-playwright/package.json deleted file mode 100644 index 775bbdf4..00000000 --- a/typescript-jsx-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "typescript-jsx-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-jsx-vitest-cypress-playwright/playwright.config.ts b/typescript-jsx-vitest-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-vitest-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-vitest-cypress-playwright/public/favicon.ico b/typescript-jsx-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-vitest-cypress-playwright/src/App.vue b/typescript-jsx-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-vitest-cypress-playwright/src/assets/base.css b/typescript-jsx-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-vitest-cypress-playwright/src/assets/logo.svg b/typescript-jsx-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-playwright/src/assets/main.css b/typescript-jsx-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-vitest-cypress-playwright/src/components/HelloWorld.vue b/typescript-jsx-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-vitest-cypress-playwright/src/components/TheWelcome.vue b/typescript-jsx-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-vitest-cypress-playwright/src/components/WelcomeItem.vue b/typescript-jsx-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-vitest-cypress-playwright/src/main.ts b/typescript-jsx-vitest-cypress-playwright/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-jsx-vitest-cypress-playwright/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-jsx-vitest-cypress-playwright/tsconfig.app.json b/typescript-jsx-vitest-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-vitest-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-vitest-cypress-playwright/tsconfig.json b/typescript-jsx-vitest-cypress-playwright/tsconfig.json deleted file mode 100644 index 100cf6a8..00000000 --- a/typescript-jsx-vitest-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - } - ] -} diff --git a/typescript-jsx-vitest-cypress-playwright/tsconfig.node.json b/typescript-jsx-vitest-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-vitest-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-vitest-cypress-playwright/tsconfig.vitest.json b/typescript-jsx-vitest-cypress-playwright/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-vitest-cypress-playwright/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-vitest-cypress-playwright/vite.config.ts b/typescript-jsx-vitest-cypress-playwright/vite.config.ts deleted file mode 100644 index 36c61875..00000000 --- a/typescript-jsx-vitest-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-vitest-cypress-playwright/vitest.config.ts b/typescript-jsx-vitest-cypress-playwright/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-vitest-cypress-playwright/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-vitest-cypress/.gitignore b/typescript-jsx-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-vitest-cypress/.gitignore +++ b/typescript-jsx-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-vitest-cypress/package.json b/typescript-jsx-vitest-cypress/package.json index a7e07861..1d909d35 100644 --- a/typescript-jsx-vitest-cypress/package.json +++ b/typescript-jsx-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,26 +11,26 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-vitest-cypress/src/assets/main.css b/typescript-jsx-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-vitest-cypress/src/assets/main.css +++ b/typescript-jsx-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-vitest-cypress/tsconfig.app.json b/typescript-jsx-vitest-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-vitest-cypress/tsconfig.app.json +++ b/typescript-jsx-vitest-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-vitest-cypress/tsconfig.json b/typescript-jsx-vitest-cypress/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-jsx-vitest-cypress/tsconfig.json +++ b/typescript-jsx-vitest-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-vitest-cypress/tsconfig.node.json b/typescript-jsx-vitest-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-vitest-cypress/tsconfig.node.json +++ b/typescript-jsx-vitest-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-vitest-nightwatch/.gitignore b/typescript-jsx-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-jsx-vitest-nightwatch/.gitignore +++ b/typescript-jsx-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-jsx-vitest-nightwatch/nightwatch.conf.ts b/typescript-jsx-vitest-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-jsx-vitest-nightwatch/nightwatch.conf.ts +++ b/typescript-jsx-vitest-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-jsx-vitest-nightwatch/nightwatch/globals.js b/typescript-jsx-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-vitest-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-vitest-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-jsx-vitest-nightwatch/nightwatch/tsconfig.json +++ b/typescript-jsx-vitest-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-jsx-vitest-nightwatch/package.json b/typescript-jsx-vitest-nightwatch/package.json index 733f1b18..9e25d56d 100644 --- a/typescript-jsx-vitest-nightwatch/package.json +++ b/typescript-jsx-vitest-nightwatch/package.json @@ -2,38 +2,39 @@ "name": "typescript-jsx-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", + "test:e2e": "nightwatch tests/e2e/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-vitest-nightwatch/src/assets/main.css b/typescript-jsx-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-vitest-nightwatch/src/assets/main.css +++ b/typescript-jsx-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-vitest-nightwatch/tests/e2e/example.ts b/typescript-jsx-vitest-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-jsx-vitest-nightwatch/tests/e2e/example.ts +++ b/typescript-jsx-vitest-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-jsx-vitest-nightwatch/tsconfig.app.json b/typescript-jsx-vitest-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-vitest-nightwatch/tsconfig.app.json +++ b/typescript-jsx-vitest-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-vitest-nightwatch/tsconfig.node.json b/typescript-jsx-vitest-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-vitest-nightwatch/tsconfig.node.json +++ b/typescript-jsx-vitest-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-vitest-playwright-nightwatch/.gitignore b/typescript-jsx-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-jsx-vitest-playwright-nightwatch/.vscode/extensions.json b/typescript-jsx-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/README.md b/typescript-jsx-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 1dbe0917..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# typescript-jsx-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-jsx-vitest-playwright-nightwatch/e2e/tsconfig.json b/typescript-jsx-vitest-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/e2e/vue.spec.ts b/typescript-jsx-vitest-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-jsx-vitest-playwright-nightwatch/env.d.ts b/typescript-jsx-vitest-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-jsx-vitest-playwright-nightwatch/index.html b/typescript-jsx-vitest-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-jsx-vitest-playwright-nightwatch/nightwatch.conf.ts b/typescript-jsx-vitest-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-jsx-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-jsx-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/globals.js b/typescript-jsx-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-jsx-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-jsx-vitest-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/package.json b/typescript-jsx-vitest-playwright-nightwatch/package.json deleted file mode 100644 index f23ba761..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "typescript-jsx-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/playwright.config.ts b/typescript-jsx-vitest-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-jsx-vitest-playwright-nightwatch/public/favicon.ico b/typescript-jsx-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/App.vue b/typescript-jsx-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/assets/base.css b/typescript-jsx-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/assets/logo.svg b/typescript-jsx-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/assets/main.css b/typescript-jsx-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-jsx-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-jsx-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-jsx-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-jsx-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-jsx-vitest-playwright-nightwatch/src/main.ts b/typescript-jsx-vitest-playwright-nightwatch/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-jsx-vitest-playwright-nightwatch/tests/e2e/example.ts b/typescript-jsx-vitest-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-jsx-vitest-playwright-nightwatch/tsconfig.app.json b/typescript-jsx-vitest-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/tsconfig.json b/typescript-jsx-vitest-playwright-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/tsconfig.node.json b/typescript-jsx-vitest-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/tsconfig.vitest.json b/typescript-jsx-vitest-playwright-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-jsx-vitest-playwright-nightwatch/vite.config.ts b/typescript-jsx-vitest-playwright-nightwatch/vite.config.ts deleted file mode 100644 index 3a698823..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-jsx-vitest-playwright-nightwatch/vitest.config.ts b/typescript-jsx-vitest-playwright-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-jsx-vitest-playwright-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-jsx-vitest-playwright/.gitignore b/typescript-jsx-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-jsx-vitest-playwright/.gitignore +++ b/typescript-jsx-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-jsx-vitest-playwright/package.json b/typescript-jsx-vitest-playwright/package.json index e9d94919..6b87aeaf 100644 --- a/typescript-jsx-vitest-playwright/package.json +++ b/typescript-jsx-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -9,25 +10,25 @@ "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-vitest-playwright/playwright.config.ts b/typescript-jsx-vitest-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-jsx-vitest-playwright/playwright.config.ts +++ b/typescript-jsx-vitest-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-jsx-vitest-playwright/src/assets/main.css b/typescript-jsx-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-vitest-playwright/src/assets/main.css +++ b/typescript-jsx-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-vitest-playwright/tsconfig.app.json b/typescript-jsx-vitest-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-vitest-playwright/tsconfig.app.json +++ b/typescript-jsx-vitest-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-vitest-playwright/tsconfig.node.json b/typescript-jsx-vitest-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-vitest-playwright/tsconfig.node.json +++ b/typescript-jsx-vitest-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-vitest/.gitignore b/typescript-jsx-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-vitest/.gitignore +++ b/typescript-jsx-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-vitest/package.json b/typescript-jsx-vitest/package.json index 12594f8a..49c1daba 100644 --- a/typescript-jsx-vitest/package.json +++ b/typescript-jsx-vitest/package.json @@ -2,30 +2,31 @@ "name": "typescript-jsx-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-vitest/src/assets/main.css b/typescript-jsx-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-vitest/src/assets/main.css +++ b/typescript-jsx-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-vitest/tsconfig.app.json b/typescript-jsx-vitest/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-vitest/tsconfig.app.json +++ b/typescript-jsx-vitest/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-vitest/tsconfig.node.json b/typescript-jsx-vitest/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-vitest/tsconfig.node.json +++ b/typescript-jsx-vitest/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx-with-tests/.gitignore b/typescript-jsx-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx-with-tests/.gitignore +++ b/typescript-jsx-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx-with-tests/package.json b/typescript-jsx-with-tests/package.json index 2e85f633..c87c722c 100644 --- a/typescript-jsx-with-tests/package.json +++ b/typescript-jsx-with-tests/package.json @@ -2,6 +2,7 @@ "name": "typescript-jsx-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,26 +11,26 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx-with-tests/src/assets/main.css b/typescript-jsx-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx-with-tests/src/assets/main.css +++ b/typescript-jsx-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx-with-tests/tsconfig.app.json b/typescript-jsx-with-tests/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx-with-tests/tsconfig.app.json +++ b/typescript-jsx-with-tests/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx-with-tests/tsconfig.json b/typescript-jsx-with-tests/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-jsx-with-tests/tsconfig.json +++ b/typescript-jsx-with-tests/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-jsx-with-tests/tsconfig.node.json b/typescript-jsx-with-tests/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx-with-tests/tsconfig.node.json +++ b/typescript-jsx-with-tests/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-jsx/.gitignore b/typescript-jsx/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-jsx/.gitignore +++ b/typescript-jsx/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-jsx/package.json b/typescript-jsx/package.json index 42613c9a..1d5db35d 100644 --- a/typescript-jsx/package.json +++ b/typescript-jsx/package.json @@ -2,25 +2,26 @@ "name": "typescript-jsx", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vitejs/plugin-vue-jsx": "^3.0.2", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-jsx/src/assets/main.css b/typescript-jsx/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-jsx/src/assets/main.css +++ b/typescript-jsx/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-jsx/tsconfig.app.json b/typescript-jsx/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-jsx/tsconfig.app.json +++ b/typescript-jsx/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-jsx/tsconfig.node.json b/typescript-jsx/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-jsx/tsconfig.node.json +++ b/typescript-jsx/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-nightwatch/.gitignore b/typescript-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-nightwatch/.gitignore +++ b/typescript-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-nightwatch/nightwatch.conf.ts b/typescript-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-nightwatch/nightwatch.conf.ts +++ b/typescript-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-nightwatch/nightwatch/globals.js b/typescript-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-nightwatch/nightwatch/tsconfig.json b/typescript-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-nightwatch/nightwatch/tsconfig.json +++ b/typescript-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-nightwatch/package.json b/typescript-nightwatch/package.json index 44f8f03e..2f8f9ce9 100644 --- a/typescript-nightwatch/package.json +++ b/typescript-nightwatch/package.json @@ -2,33 +2,35 @@ "name": "typescript-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*", + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-nightwatch/src/assets/main.css b/typescript-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-nightwatch/src/assets/main.css +++ b/typescript-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-nightwatch/tests/e2e/example.ts b/typescript-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-nightwatch/tests/e2e/example.ts +++ b/typescript-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-nightwatch/tsconfig.app.json b/typescript-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-nightwatch/tsconfig.app.json +++ b/typescript-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-nightwatch/tsconfig.node.json b/typescript-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-nightwatch/tsconfig.node.json +++ b/typescript-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-pinia-cypress-nightwatch/.gitignore b/typescript-pinia-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-pinia-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-pinia-cypress-nightwatch/.vscode/extensions.json b/typescript-pinia-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-pinia-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-pinia-cypress-nightwatch/README.md b/typescript-pinia-cypress-nightwatch/README.md deleted file mode 100644 index 9b0ccba7..00000000 --- a/typescript-pinia-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-pinia-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-pinia-cypress-nightwatch/cypress.config.ts b/typescript-pinia-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-pinia-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-pinia-cypress-nightwatch/cypress/fixtures/example.json b/typescript-pinia-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-pinia-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-pinia-cypress-nightwatch/cypress/support/commands.ts b/typescript-pinia-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-pinia-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-pinia-cypress-nightwatch/cypress/support/component-index.html b/typescript-pinia-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-pinia-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-pinia-cypress-nightwatch/cypress/support/component.ts b/typescript-pinia-cypress-nightwatch/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-pinia-cypress-nightwatch/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-pinia-cypress-nightwatch/cypress/support/e2e.ts b/typescript-pinia-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-pinia-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-pinia-cypress-nightwatch/env.d.ts b/typescript-pinia-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-pinia-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-pinia-cypress-nightwatch/index.html b/typescript-pinia-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-pinia-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-pinia-cypress-nightwatch/nightwatch.conf.ts b/typescript-pinia-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-pinia-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-pinia-cypress-nightwatch/nightwatch/globals.js b/typescript-pinia-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-pinia-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-pinia-cypress-nightwatch/nightwatch/index.html b/typescript-pinia-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-pinia-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-pinia-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-pinia-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-pinia-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-pinia-cypress-nightwatch/package.json b/typescript-pinia-cypress-nightwatch/package.json deleted file mode 100644 index 0794001c..00000000 --- a/typescript-pinia-cypress-nightwatch/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "typescript-pinia-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-pinia-cypress-nightwatch/public/favicon.ico b/typescript-pinia-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-pinia-cypress-nightwatch/src/App.vue b/typescript-pinia-cypress-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-pinia-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-pinia-cypress-nightwatch/src/assets/base.css b/typescript-pinia-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-pinia-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-pinia-cypress-nightwatch/src/assets/logo.svg b/typescript-pinia-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-pinia-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-pinia-cypress-nightwatch/src/assets/main.css b/typescript-pinia-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-pinia-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-pinia-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-pinia-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-pinia-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-pinia-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-pinia-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-pinia-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts b/typescript-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-pinia-cypress-nightwatch/src/main.ts b/typescript-pinia-cypress-nightwatch/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-pinia-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-pinia-cypress-nightwatch/src/stores/counter.ts b/typescript-pinia-cypress-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-pinia-cypress-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-pinia-cypress-nightwatch/tests/e2e/example.ts b/typescript-pinia-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-pinia-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-pinia-cypress-nightwatch/tsconfig.app.json b/typescript-pinia-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-pinia-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-pinia-cypress-nightwatch/tsconfig.cypress-ct.json b/typescript-pinia-cypress-nightwatch/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-pinia-cypress-nightwatch/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-pinia-cypress-nightwatch/tsconfig.json b/typescript-pinia-cypress-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-pinia-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-pinia-cypress-nightwatch/tsconfig.node.json b/typescript-pinia-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-pinia-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-pinia-cypress-nightwatch/vite.config.ts b/typescript-pinia-cypress-nightwatch/vite.config.ts deleted file mode 100644 index fd83c5b2..00000000 --- a/typescript-pinia-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-pinia-cypress-playwright/.gitignore b/typescript-pinia-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-pinia-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-pinia-cypress-playwright/.vscode/extensions.json b/typescript-pinia-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-pinia-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-pinia-cypress-playwright/README.md b/typescript-pinia-cypress-playwright/README.md deleted file mode 100644 index 910497ff..00000000 --- a/typescript-pinia-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-pinia-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-pinia-cypress-playwright/cypress.config.ts b/typescript-pinia-cypress-playwright/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-pinia-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-pinia-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-pinia-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-pinia-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-pinia-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-pinia-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-pinia-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-pinia-cypress-playwright/cypress/fixtures/example.json b/typescript-pinia-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-pinia-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-pinia-cypress-playwright/cypress/support/commands.ts b/typescript-pinia-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-pinia-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-pinia-cypress-playwright/cypress/support/component-index.html b/typescript-pinia-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-pinia-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-pinia-cypress-playwright/cypress/support/component.ts b/typescript-pinia-cypress-playwright/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-pinia-cypress-playwright/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-pinia-cypress-playwright/cypress/support/e2e.ts b/typescript-pinia-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-pinia-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-pinia-cypress-playwright/e2e/tsconfig.json b/typescript-pinia-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-pinia-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-pinia-cypress-playwright/e2e/vue.spec.ts b/typescript-pinia-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-pinia-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-pinia-cypress-playwright/env.d.ts b/typescript-pinia-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-pinia-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-pinia-cypress-playwright/index.html b/typescript-pinia-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-pinia-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-pinia-cypress-playwright/package.json b/typescript-pinia-cypress-playwright/package.json deleted file mode 100644 index 69f46bc5..00000000 --- a/typescript-pinia-cypress-playwright/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "typescript-pinia-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-pinia-cypress-playwright/playwright.config.ts b/typescript-pinia-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-pinia-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-pinia-cypress-playwright/public/favicon.ico b/typescript-pinia-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-pinia-cypress-playwright/src/App.vue b/typescript-pinia-cypress-playwright/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-pinia-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-pinia-cypress-playwright/src/assets/base.css b/typescript-pinia-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-pinia-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-pinia-cypress-playwright/src/assets/logo.svg b/typescript-pinia-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-pinia-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-pinia-cypress-playwright/src/assets/main.css b/typescript-pinia-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-pinia-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-pinia-cypress-playwright/src/components/HelloWorld.vue b/typescript-pinia-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-pinia-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-pinia-cypress-playwright/src/components/TheWelcome.vue b/typescript-pinia-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-pinia-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-pinia-cypress-playwright/src/components/WelcomeItem.vue b/typescript-pinia-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-pinia-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts b/typescript-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-pinia-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-pinia-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-pinia-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-pinia-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-pinia-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-pinia-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-pinia-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-pinia-cypress-playwright/src/main.ts b/typescript-pinia-cypress-playwright/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-pinia-cypress-playwright/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-pinia-cypress-playwright/src/stores/counter.ts b/typescript-pinia-cypress-playwright/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-pinia-cypress-playwright/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-pinia-cypress-playwright/tsconfig.app.json b/typescript-pinia-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-pinia-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-pinia-cypress-playwright/tsconfig.cypress-ct.json b/typescript-pinia-cypress-playwright/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-pinia-cypress-playwright/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-pinia-cypress-playwright/tsconfig.json b/typescript-pinia-cypress-playwright/tsconfig.json deleted file mode 100644 index 27e23a60..00000000 --- a/typescript-pinia-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.cypress-ct.json" - } - ] -} diff --git a/typescript-pinia-cypress-playwright/tsconfig.node.json b/typescript-pinia-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-pinia-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-pinia-cypress-playwright/vite.config.ts b/typescript-pinia-cypress-playwright/vite.config.ts deleted file mode 100644 index 5c45e1d9..00000000 --- a/typescript-pinia-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-pinia-cypress/.gitignore b/typescript-pinia-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-pinia-cypress/.gitignore +++ b/typescript-pinia-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-pinia-cypress/package.json b/typescript-pinia-cypress/package.json index fddbec46..e4a3551a 100644 --- a/typescript-pinia-cypress/package.json +++ b/typescript-pinia-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-pinia-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -11,22 +12,22 @@ "test:unit": "cypress run --component", "test:unit:dev": "cypress open --component", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", + "cypress": "^13.6.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-pinia-cypress/src/assets/main.css b/typescript-pinia-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-pinia-cypress/src/assets/main.css +++ b/typescript-pinia-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-pinia-cypress/tsconfig.app.json b/typescript-pinia-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-pinia-cypress/tsconfig.app.json +++ b/typescript-pinia-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-pinia-cypress/tsconfig.json b/typescript-pinia-cypress/tsconfig.json index 27e23a60..d3b6c317 100644 --- a/typescript-pinia-cypress/tsconfig.json +++ b/typescript-pinia-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.cypress-ct.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-pinia-cypress/tsconfig.node.json b/typescript-pinia-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-pinia-cypress/tsconfig.node.json +++ b/typescript-pinia-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-pinia-nightwatch/.gitignore b/typescript-pinia-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-pinia-nightwatch/.gitignore +++ b/typescript-pinia-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-pinia-nightwatch/nightwatch.conf.ts b/typescript-pinia-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-pinia-nightwatch/nightwatch.conf.ts +++ b/typescript-pinia-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-pinia-nightwatch/nightwatch/globals.js b/typescript-pinia-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-pinia-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-pinia-nightwatch/nightwatch/tsconfig.json b/typescript-pinia-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-pinia-nightwatch/nightwatch/tsconfig.json +++ b/typescript-pinia-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-pinia-nightwatch/package.json b/typescript-pinia-nightwatch/package.json index c0dc4eba..84404d51 100644 --- a/typescript-pinia-nightwatch/package.json +++ b/typescript-pinia-nightwatch/package.json @@ -2,34 +2,36 @@ "name": "typescript-pinia-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*", + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-pinia-nightwatch/src/assets/main.css b/typescript-pinia-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-pinia-nightwatch/src/assets/main.css +++ b/typescript-pinia-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-pinia-nightwatch/tests/e2e/example.ts b/typescript-pinia-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-pinia-nightwatch/tests/e2e/example.ts +++ b/typescript-pinia-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-pinia-nightwatch/tsconfig.app.json b/typescript-pinia-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-pinia-nightwatch/tsconfig.app.json +++ b/typescript-pinia-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-pinia-nightwatch/tsconfig.node.json b/typescript-pinia-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-pinia-nightwatch/tsconfig.node.json +++ b/typescript-pinia-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-pinia-playwright-nightwatch/.gitignore b/typescript-pinia-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-pinia-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-pinia-playwright-nightwatch/.vscode/extensions.json b/typescript-pinia-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-pinia-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-pinia-playwright-nightwatch/README.md b/typescript-pinia-playwright-nightwatch/README.md deleted file mode 100644 index c4f49675..00000000 --- a/typescript-pinia-playwright-nightwatch/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# typescript-pinia-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-pinia-playwright-nightwatch/e2e/tsconfig.json b/typescript-pinia-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-pinia-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-pinia-playwright-nightwatch/e2e/vue.spec.ts b/typescript-pinia-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-pinia-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-pinia-playwright-nightwatch/env.d.ts b/typescript-pinia-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-pinia-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-pinia-playwright-nightwatch/index.html b/typescript-pinia-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-pinia-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-pinia-playwright-nightwatch/nightwatch.conf.ts b/typescript-pinia-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-pinia-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-pinia-playwright-nightwatch/nightwatch/globals.js b/typescript-pinia-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-pinia-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-pinia-playwright-nightwatch/nightwatch/index.html b/typescript-pinia-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-pinia-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-pinia-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-pinia-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-pinia-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-pinia-playwright-nightwatch/package.json b/typescript-pinia-playwright-nightwatch/package.json deleted file mode 100644 index 0e0ba246..00000000 --- a/typescript-pinia-playwright-nightwatch/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "typescript-pinia-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-pinia-playwright-nightwatch/playwright.config.ts b/typescript-pinia-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-pinia-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-pinia-playwright-nightwatch/public/favicon.ico b/typescript-pinia-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-pinia-playwright-nightwatch/src/App.vue b/typescript-pinia-playwright-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-pinia-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-pinia-playwright-nightwatch/src/assets/base.css b/typescript-pinia-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-pinia-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-pinia-playwright-nightwatch/src/assets/logo.svg b/typescript-pinia-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-pinia-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-pinia-playwright-nightwatch/src/assets/main.css b/typescript-pinia-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-pinia-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-pinia-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-pinia-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-pinia-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-pinia-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-pinia-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-pinia-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-pinia-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-pinia-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-pinia-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-pinia-playwright-nightwatch/src/main.ts b/typescript-pinia-playwright-nightwatch/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-pinia-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-pinia-playwright-nightwatch/src/stores/counter.ts b/typescript-pinia-playwright-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-pinia-playwright-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-pinia-playwright-nightwatch/tests/e2e/example.ts b/typescript-pinia-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-pinia-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-pinia-playwright-nightwatch/tsconfig.app.json b/typescript-pinia-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-pinia-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-pinia-playwright-nightwatch/tsconfig.json b/typescript-pinia-playwright-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-pinia-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-pinia-playwright-nightwatch/tsconfig.node.json b/typescript-pinia-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-pinia-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-pinia-playwright-nightwatch/vite.config.ts b/typescript-pinia-playwright-nightwatch/vite.config.ts deleted file mode 100644 index fd83c5b2..00000000 --- a/typescript-pinia-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-pinia-playwright/.gitignore b/typescript-pinia-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-pinia-playwright/.gitignore +++ b/typescript-pinia-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-pinia-playwright/package.json b/typescript-pinia-playwright/package.json index 63ecf81d..7c1b9723 100644 --- a/typescript-pinia-playwright/package.json +++ b/typescript-pinia-playwright/package.json @@ -2,27 +2,28 @@ "name": "typescript-pinia-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-pinia-playwright/playwright.config.ts b/typescript-pinia-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-pinia-playwright/playwright.config.ts +++ b/typescript-pinia-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-pinia-playwright/src/assets/main.css b/typescript-pinia-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-pinia-playwright/src/assets/main.css +++ b/typescript-pinia-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-pinia-playwright/tsconfig.app.json b/typescript-pinia-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-pinia-playwright/tsconfig.app.json +++ b/typescript-pinia-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-pinia-playwright/tsconfig.node.json b/typescript-pinia-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-pinia-playwright/tsconfig.node.json +++ b/typescript-pinia-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-pinia-vitest-cypress-nightwatch/.gitignore b/typescript-pinia-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-pinia-vitest-cypress-nightwatch/.vscode/extensions.json b/typescript-pinia-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/README.md b/typescript-pinia-vitest-cypress-nightwatch/README.md deleted file mode 100644 index 48413c99..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-pinia-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-pinia-vitest-cypress-nightwatch/cypress.config.ts b/typescript-pinia-vitest-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json b/typescript-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts b/typescript-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts b/typescript-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-pinia-vitest-cypress-nightwatch/env.d.ts b/typescript-pinia-vitest-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-pinia-vitest-cypress-nightwatch/index.html b/typescript-pinia-vitest-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts b/typescript-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/globals.js b/typescript-pinia-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/package.json b/typescript-pinia-vitest-cypress-nightwatch/package.json deleted file mode 100644 index 048e6ad8..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "typescript-pinia-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/public/favicon.ico b/typescript-pinia-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/App.vue b/typescript-pinia-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/assets/base.css b/typescript-pinia-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/assets/logo.svg b/typescript-pinia-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/assets/main.css b/typescript-pinia-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/main.ts b/typescript-pinia-vitest-cypress-nightwatch/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-pinia-vitest-cypress-nightwatch/src/stores/counter.ts b/typescript-pinia-vitest-cypress-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts b/typescript-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-pinia-vitest-cypress-nightwatch/tsconfig.app.json b/typescript-pinia-vitest-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/tsconfig.json b/typescript-pinia-vitest-cypress-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/tsconfig.node.json b/typescript-pinia-vitest-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json b/typescript-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-pinia-vitest-cypress-nightwatch/vite.config.ts b/typescript-pinia-vitest-cypress-nightwatch/vite.config.ts deleted file mode 100644 index be3cb9c5..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-pinia-vitest-cypress-nightwatch/vitest.config.ts b/typescript-pinia-vitest-cypress-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-pinia-vitest-cypress-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-pinia-vitest-cypress-playwright/.gitignore b/typescript-pinia-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-pinia-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-pinia-vitest-cypress-playwright/.vscode/extensions.json b/typescript-pinia-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-pinia-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-pinia-vitest-cypress-playwright/README.md b/typescript-pinia-vitest-cypress-playwright/README.md deleted file mode 100644 index c3d4d766..00000000 --- a/typescript-pinia-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-pinia-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-pinia-vitest-cypress-playwright/cypress.config.ts b/typescript-pinia-vitest-cypress-playwright/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-pinia-vitest-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-pinia-vitest-cypress-playwright/cypress/fixtures/example.json b/typescript-pinia-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-pinia-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-pinia-vitest-cypress-playwright/cypress/support/commands.ts b/typescript-pinia-vitest-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-pinia-vitest-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-pinia-vitest-cypress-playwright/cypress/support/e2e.ts b/typescript-pinia-vitest-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-pinia-vitest-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-pinia-vitest-cypress-playwright/e2e/tsconfig.json b/typescript-pinia-vitest-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-pinia-vitest-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-pinia-vitest-cypress-playwright/e2e/vue.spec.ts b/typescript-pinia-vitest-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-pinia-vitest-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-pinia-vitest-cypress-playwright/env.d.ts b/typescript-pinia-vitest-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-pinia-vitest-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-pinia-vitest-cypress-playwright/index.html b/typescript-pinia-vitest-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-pinia-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-pinia-vitest-cypress-playwright/package.json b/typescript-pinia-vitest-cypress-playwright/package.json deleted file mode 100644 index 401a7b7f..00000000 --- a/typescript-pinia-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "typescript-pinia-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-pinia-vitest-cypress-playwright/playwright.config.ts b/typescript-pinia-vitest-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-pinia-vitest-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-pinia-vitest-cypress-playwright/public/favicon.ico b/typescript-pinia-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-pinia-vitest-cypress-playwright/src/App.vue b/typescript-pinia-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-pinia-vitest-cypress-playwright/src/assets/base.css b/typescript-pinia-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-pinia-vitest-cypress-playwright/src/assets/logo.svg b/typescript-pinia-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-playwright/src/assets/main.css b/typescript-pinia-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue b/typescript-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue b/typescript-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue b/typescript-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts b/typescript-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-pinia-vitest-cypress-playwright/src/main.ts b/typescript-pinia-vitest-cypress-playwright/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-pinia-vitest-cypress-playwright/src/stores/counter.ts b/typescript-pinia-vitest-cypress-playwright/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-pinia-vitest-cypress-playwright/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-pinia-vitest-cypress-playwright/tsconfig.app.json b/typescript-pinia-vitest-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-pinia-vitest-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-pinia-vitest-cypress-playwright/tsconfig.json b/typescript-pinia-vitest-cypress-playwright/tsconfig.json deleted file mode 100644 index 100cf6a8..00000000 --- a/typescript-pinia-vitest-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - } - ] -} diff --git a/typescript-pinia-vitest-cypress-playwright/tsconfig.node.json b/typescript-pinia-vitest-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-pinia-vitest-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-pinia-vitest-cypress-playwright/tsconfig.vitest.json b/typescript-pinia-vitest-cypress-playwright/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-pinia-vitest-cypress-playwright/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-pinia-vitest-cypress-playwright/vite.config.ts b/typescript-pinia-vitest-cypress-playwright/vite.config.ts deleted file mode 100644 index 5c45e1d9..00000000 --- a/typescript-pinia-vitest-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-pinia-vitest-cypress-playwright/vitest.config.ts b/typescript-pinia-vitest-cypress-playwright/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-pinia-vitest-cypress-playwright/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-pinia-vitest-cypress/.gitignore b/typescript-pinia-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-pinia-vitest-cypress/.gitignore +++ b/typescript-pinia-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-pinia-vitest-cypress/package.json b/typescript-pinia-vitest-cypress/package.json index be1a420d..67b54306 100644 --- a/typescript-pinia-vitest-cypress/package.json +++ b/typescript-pinia-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-pinia-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,26 +11,26 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-pinia-vitest-cypress/src/assets/main.css b/typescript-pinia-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-pinia-vitest-cypress/src/assets/main.css +++ b/typescript-pinia-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-pinia-vitest-cypress/tsconfig.app.json b/typescript-pinia-vitest-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-pinia-vitest-cypress/tsconfig.app.json +++ b/typescript-pinia-vitest-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-pinia-vitest-cypress/tsconfig.json b/typescript-pinia-vitest-cypress/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-pinia-vitest-cypress/tsconfig.json +++ b/typescript-pinia-vitest-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-pinia-vitest-cypress/tsconfig.node.json b/typescript-pinia-vitest-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-pinia-vitest-cypress/tsconfig.node.json +++ b/typescript-pinia-vitest-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-pinia-vitest-nightwatch/.gitignore b/typescript-pinia-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-pinia-vitest-nightwatch/.gitignore +++ b/typescript-pinia-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-pinia-vitest-nightwatch/nightwatch.conf.ts b/typescript-pinia-vitest-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-pinia-vitest-nightwatch/nightwatch.conf.ts +++ b/typescript-pinia-vitest-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-pinia-vitest-nightwatch/nightwatch/globals.js b/typescript-pinia-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-pinia-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-pinia-vitest-nightwatch/nightwatch/tsconfig.json b/typescript-pinia-vitest-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-pinia-vitest-nightwatch/nightwatch/tsconfig.json +++ b/typescript-pinia-vitest-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-pinia-vitest-nightwatch/package.json b/typescript-pinia-vitest-nightwatch/package.json index 58a04c17..a205a44f 100644 --- a/typescript-pinia-vitest-nightwatch/package.json +++ b/typescript-pinia-vitest-nightwatch/package.json @@ -2,38 +2,39 @@ "name": "typescript-pinia-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", + "test:e2e": "nightwatch tests/e2e/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-pinia-vitest-nightwatch/src/assets/main.css b/typescript-pinia-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-pinia-vitest-nightwatch/src/assets/main.css +++ b/typescript-pinia-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-pinia-vitest-nightwatch/tests/e2e/example.ts b/typescript-pinia-vitest-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-pinia-vitest-nightwatch/tests/e2e/example.ts +++ b/typescript-pinia-vitest-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-pinia-vitest-nightwatch/tsconfig.app.json b/typescript-pinia-vitest-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-pinia-vitest-nightwatch/tsconfig.app.json +++ b/typescript-pinia-vitest-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-pinia-vitest-nightwatch/tsconfig.node.json b/typescript-pinia-vitest-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-pinia-vitest-nightwatch/tsconfig.node.json +++ b/typescript-pinia-vitest-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-pinia-vitest-playwright-nightwatch/.gitignore b/typescript-pinia-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-pinia-vitest-playwright-nightwatch/.vscode/extensions.json b/typescript-pinia-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/README.md b/typescript-pinia-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 314abaed..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# typescript-pinia-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json b/typescript-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts b/typescript-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-pinia-vitest-playwright-nightwatch/env.d.ts b/typescript-pinia-vitest-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-pinia-vitest-playwright-nightwatch/index.html b/typescript-pinia-vitest-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts b/typescript-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/globals.js b/typescript-pinia-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/package.json b/typescript-pinia-vitest-playwright-nightwatch/package.json deleted file mode 100644 index c03dd71f..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "typescript-pinia-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/playwright.config.ts b/typescript-pinia-vitest-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-pinia-vitest-playwright-nightwatch/public/favicon.ico b/typescript-pinia-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/App.vue b/typescript-pinia-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/assets/base.css b/typescript-pinia-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/assets/logo.svg b/typescript-pinia-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/assets/main.css b/typescript-pinia-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/main.ts b/typescript-pinia-vitest-playwright-nightwatch/src/main.ts deleted file mode 100644 index 48dad431..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' - -const app = createApp(App) - -app.use(createPinia()) - -app.mount('#app') diff --git a/typescript-pinia-vitest-playwright-nightwatch/src/stores/counter.ts b/typescript-pinia-vitest-playwright-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts b/typescript-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-pinia-vitest-playwright-nightwatch/tsconfig.app.json b/typescript-pinia-vitest-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/tsconfig.json b/typescript-pinia-vitest-playwright-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/tsconfig.node.json b/typescript-pinia-vitest-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json b/typescript-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-pinia-vitest-playwright-nightwatch/vite.config.ts b/typescript-pinia-vitest-playwright-nightwatch/vite.config.ts deleted file mode 100644 index be3cb9c5..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-pinia-vitest-playwright-nightwatch/vitest.config.ts b/typescript-pinia-vitest-playwright-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-pinia-vitest-playwright-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-pinia-vitest-playwright/.gitignore b/typescript-pinia-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-pinia-vitest-playwright/.gitignore +++ b/typescript-pinia-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-pinia-vitest-playwright/package.json b/typescript-pinia-vitest-playwright/package.json index 89b9bfea..00c6cbc1 100644 --- a/typescript-pinia-vitest-playwright/package.json +++ b/typescript-pinia-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "typescript-pinia-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -9,25 +10,25 @@ "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-pinia-vitest-playwright/playwright.config.ts b/typescript-pinia-vitest-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-pinia-vitest-playwright/playwright.config.ts +++ b/typescript-pinia-vitest-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-pinia-vitest-playwright/src/assets/main.css b/typescript-pinia-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-pinia-vitest-playwright/src/assets/main.css +++ b/typescript-pinia-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-pinia-vitest-playwright/tsconfig.app.json b/typescript-pinia-vitest-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-pinia-vitest-playwright/tsconfig.app.json +++ b/typescript-pinia-vitest-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-pinia-vitest-playwright/tsconfig.node.json b/typescript-pinia-vitest-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-pinia-vitest-playwright/tsconfig.node.json +++ b/typescript-pinia-vitest-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-pinia-vitest/.gitignore b/typescript-pinia-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-pinia-vitest/.gitignore +++ b/typescript-pinia-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-pinia-vitest/package.json b/typescript-pinia-vitest/package.json index 50481f14..9beb4321 100644 --- a/typescript-pinia-vitest/package.json +++ b/typescript-pinia-vitest/package.json @@ -2,30 +2,31 @@ "name": "typescript-pinia-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-pinia-vitest/src/assets/main.css b/typescript-pinia-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-pinia-vitest/src/assets/main.css +++ b/typescript-pinia-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-pinia-vitest/tsconfig.app.json b/typescript-pinia-vitest/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-pinia-vitest/tsconfig.app.json +++ b/typescript-pinia-vitest/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-pinia-vitest/tsconfig.node.json b/typescript-pinia-vitest/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-pinia-vitest/tsconfig.node.json +++ b/typescript-pinia-vitest/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-pinia-with-tests/.gitignore b/typescript-pinia-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-pinia-with-tests/.gitignore +++ b/typescript-pinia-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-pinia-with-tests/package.json b/typescript-pinia-with-tests/package.json index abc60303..d44ea8bb 100644 --- a/typescript-pinia-with-tests/package.json +++ b/typescript-pinia-with-tests/package.json @@ -2,6 +2,7 @@ "name": "typescript-pinia-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,26 +11,26 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-pinia-with-tests/src/assets/main.css b/typescript-pinia-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-pinia-with-tests/src/assets/main.css +++ b/typescript-pinia-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-pinia-with-tests/tsconfig.app.json b/typescript-pinia-with-tests/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-pinia-with-tests/tsconfig.app.json +++ b/typescript-pinia-with-tests/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-pinia-with-tests/tsconfig.json b/typescript-pinia-with-tests/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-pinia-with-tests/tsconfig.json +++ b/typescript-pinia-with-tests/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-pinia-with-tests/tsconfig.node.json b/typescript-pinia-with-tests/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-pinia-with-tests/tsconfig.node.json +++ b/typescript-pinia-with-tests/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-pinia/.gitignore b/typescript-pinia/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-pinia/.gitignore +++ b/typescript-pinia/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-pinia/package.json b/typescript-pinia/package.json index 0fa35cff..649ef671 100644 --- a/typescript-pinia/package.json +++ b/typescript-pinia/package.json @@ -2,25 +2,26 @@ "name": "typescript-pinia", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-pinia/src/assets/main.css b/typescript-pinia/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-pinia/src/assets/main.css +++ b/typescript-pinia/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-pinia/tsconfig.app.json b/typescript-pinia/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-pinia/tsconfig.app.json +++ b/typescript-pinia/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-pinia/tsconfig.node.json b/typescript-pinia/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-pinia/tsconfig.node.json +++ b/typescript-pinia/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-playwright-nightwatch/.gitignore b/typescript-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-playwright-nightwatch/.vscode/extensions.json b/typescript-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-playwright-nightwatch/README.md b/typescript-playwright-nightwatch/README.md deleted file mode 100644 index bd978fa9..00000000 --- a/typescript-playwright-nightwatch/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# typescript-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-playwright-nightwatch/e2e/tsconfig.json b/typescript-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-playwright-nightwatch/e2e/vue.spec.ts b/typescript-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-playwright-nightwatch/env.d.ts b/typescript-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-playwright-nightwatch/index.html b/typescript-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-playwright-nightwatch/nightwatch.conf.ts b/typescript-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-playwright-nightwatch/nightwatch/globals.js b/typescript-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-playwright-nightwatch/nightwatch/index.html b/typescript-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-playwright-nightwatch/package.json b/typescript-playwright-nightwatch/package.json deleted file mode 100644 index 9443d661..00000000 --- a/typescript-playwright-nightwatch/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "typescript-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-playwright-nightwatch/playwright.config.ts b/typescript-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-playwright-nightwatch/public/favicon.ico b/typescript-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-playwright-nightwatch/src/App.vue b/typescript-playwright-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-playwright-nightwatch/src/assets/base.css b/typescript-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-playwright-nightwatch/src/assets/logo.svg b/typescript-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-playwright-nightwatch/src/assets/main.css b/typescript-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-playwright-nightwatch/src/main.ts b/typescript-playwright-nightwatch/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-playwright-nightwatch/tests/e2e/example.ts b/typescript-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-playwright-nightwatch/tsconfig.app.json b/typescript-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-playwright-nightwatch/tsconfig.json b/typescript-playwright-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-playwright-nightwatch/tsconfig.node.json b/typescript-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-playwright-nightwatch/vite.config.ts b/typescript-playwright-nightwatch/vite.config.ts deleted file mode 100644 index fd83c5b2..00000000 --- a/typescript-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-playwright/.gitignore b/typescript-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-playwright/.gitignore +++ b/typescript-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-playwright/package.json b/typescript-playwright/package.json index 216129c9..c7349d4a 100644 --- a/typescript-playwright/package.json +++ b/typescript-playwright/package.json @@ -2,26 +2,27 @@ "name": "typescript-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-playwright/playwright.config.ts b/typescript-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-playwright/playwright.config.ts +++ b/typescript-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-playwright/src/assets/main.css b/typescript-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-playwright/src/assets/main.css +++ b/typescript-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-playwright/tsconfig.app.json b/typescript-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-playwright/tsconfig.app.json +++ b/typescript-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-playwright/tsconfig.node.json b/typescript-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-playwright/tsconfig.node.json +++ b/typescript-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-cypress-nightwatch/.gitignore b/typescript-router-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-router-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-router-cypress-nightwatch/.vscode/extensions.json b/typescript-router-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-router-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-router-cypress-nightwatch/README.md b/typescript-router-cypress-nightwatch/README.md deleted file mode 100644 index afabdca8..00000000 --- a/typescript-router-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-router-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-router-cypress-nightwatch/cypress.config.ts b/typescript-router-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-router-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-router-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-router-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-router-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-router-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-router-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-router-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-router-cypress-nightwatch/cypress/fixtures/example.json b/typescript-router-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-router-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-router-cypress-nightwatch/cypress/support/commands.ts b/typescript-router-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-router-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-router-cypress-nightwatch/cypress/support/component-index.html b/typescript-router-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-router-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-router-cypress-nightwatch/cypress/support/component.ts b/typescript-router-cypress-nightwatch/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-router-cypress-nightwatch/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-router-cypress-nightwatch/cypress/support/e2e.ts b/typescript-router-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-router-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-router-cypress-nightwatch/env.d.ts b/typescript-router-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-cypress-nightwatch/index.html b/typescript-router-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-cypress-nightwatch/nightwatch.conf.ts b/typescript-router-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-router-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-router-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-router-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-router-cypress-nightwatch/nightwatch/globals.js b/typescript-router-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-cypress-nightwatch/nightwatch/index.html b/typescript-router-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-router-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-router-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-router-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-router-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-router-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-router-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-router-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-router-cypress-nightwatch/package.json b/typescript-router-cypress-nightwatch/package.json deleted file mode 100644 index 5fa8101f..00000000 --- a/typescript-router-cypress-nightwatch/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "typescript-router-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-router-cypress-nightwatch/public/favicon.ico b/typescript-router-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-cypress-nightwatch/src/App.vue b/typescript-router-cypress-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-cypress-nightwatch/src/assets/base.css b/typescript-router-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-cypress-nightwatch/src/assets/logo.svg b/typescript-router-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-cypress-nightwatch/src/assets/main.css b/typescript-router-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-router-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-router-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-router-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts b/typescript-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-router-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-router-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-router-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-router-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-router-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-cypress-nightwatch/src/main.ts b/typescript-router-cypress-nightwatch/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-router-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-router-cypress-nightwatch/src/router/index.ts b/typescript-router-cypress-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-cypress-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-cypress-nightwatch/src/views/AboutView.vue b/typescript-router-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-cypress-nightwatch/src/views/HomeView.vue b/typescript-router-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-cypress-nightwatch/tests/e2e/example.ts b/typescript-router-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-router-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-cypress-nightwatch/tsconfig.app.json b/typescript-router-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-cypress-nightwatch/tsconfig.cypress-ct.json b/typescript-router-cypress-nightwatch/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-router-cypress-nightwatch/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-router-cypress-nightwatch/tsconfig.json b/typescript-router-cypress-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-router-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-router-cypress-nightwatch/tsconfig.node.json b/typescript-router-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-cypress-nightwatch/vite.config.ts b/typescript-router-cypress-nightwatch/vite.config.ts deleted file mode 100644 index fd83c5b2..00000000 --- a/typescript-router-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-cypress-playwright/.gitignore b/typescript-router-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-router-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-router-cypress-playwright/.vscode/extensions.json b/typescript-router-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-router-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-router-cypress-playwright/README.md b/typescript-router-cypress-playwright/README.md deleted file mode 100644 index 4aa38de0..00000000 --- a/typescript-router-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-router-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-router-cypress-playwright/cypress.config.ts b/typescript-router-cypress-playwright/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-router-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-router-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-router-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-router-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-router-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-router-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-router-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-router-cypress-playwright/cypress/fixtures/example.json b/typescript-router-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-router-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-router-cypress-playwright/cypress/support/commands.ts b/typescript-router-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-router-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-router-cypress-playwright/cypress/support/component-index.html b/typescript-router-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-router-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-router-cypress-playwright/cypress/support/component.ts b/typescript-router-cypress-playwright/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-router-cypress-playwright/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-router-cypress-playwright/cypress/support/e2e.ts b/typescript-router-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-router-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-router-cypress-playwright/e2e/tsconfig.json b/typescript-router-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-router-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-router-cypress-playwright/e2e/vue.spec.ts b/typescript-router-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-router-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-router-cypress-playwright/env.d.ts b/typescript-router-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-cypress-playwright/index.html b/typescript-router-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-cypress-playwright/package.json b/typescript-router-cypress-playwright/package.json deleted file mode 100644 index ed4aebe4..00000000 --- a/typescript-router-cypress-playwright/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "typescript-router-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-router-cypress-playwright/playwright.config.ts b/typescript-router-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-router-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-router-cypress-playwright/public/favicon.ico b/typescript-router-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-cypress-playwright/src/App.vue b/typescript-router-cypress-playwright/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-cypress-playwright/src/assets/base.css b/typescript-router-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-cypress-playwright/src/assets/logo.svg b/typescript-router-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-cypress-playwright/src/assets/main.css b/typescript-router-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-cypress-playwright/src/components/HelloWorld.vue b/typescript-router-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-cypress-playwright/src/components/TheWelcome.vue b/typescript-router-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-cypress-playwright/src/components/WelcomeItem.vue b/typescript-router-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts b/typescript-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-router-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-router-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-router-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-router-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-router-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-router-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-router-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-cypress-playwright/src/main.ts b/typescript-router-cypress-playwright/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-router-cypress-playwright/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-router-cypress-playwright/src/router/index.ts b/typescript-router-cypress-playwright/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-cypress-playwright/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-cypress-playwright/src/views/AboutView.vue b/typescript-router-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-cypress-playwright/src/views/HomeView.vue b/typescript-router-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-cypress-playwright/tsconfig.app.json b/typescript-router-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-cypress-playwright/tsconfig.cypress-ct.json b/typescript-router-cypress-playwright/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-router-cypress-playwright/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-router-cypress-playwright/tsconfig.json b/typescript-router-cypress-playwright/tsconfig.json deleted file mode 100644 index 27e23a60..00000000 --- a/typescript-router-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.cypress-ct.json" - } - ] -} diff --git a/typescript-router-cypress-playwright/tsconfig.node.json b/typescript-router-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-cypress-playwright/vite.config.ts b/typescript-router-cypress-playwright/vite.config.ts deleted file mode 100644 index 5c45e1d9..00000000 --- a/typescript-router-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-cypress/.gitignore b/typescript-router-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router-cypress/.gitignore +++ b/typescript-router-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router-cypress/package.json b/typescript-router-cypress/package.json index 924edbae..6608836c 100644 --- a/typescript-router-cypress/package.json +++ b/typescript-router-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-router-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -11,22 +12,22 @@ "test:unit": "cypress run --component", "test:unit:dev": "cypress open --component", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", + "cypress": "^13.6.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-cypress/src/assets/main.css b/typescript-router-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-cypress/src/assets/main.css +++ b/typescript-router-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-cypress/tsconfig.app.json b/typescript-router-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-cypress/tsconfig.app.json +++ b/typescript-router-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-cypress/tsconfig.json b/typescript-router-cypress/tsconfig.json index 27e23a60..d3b6c317 100644 --- a/typescript-router-cypress/tsconfig.json +++ b/typescript-router-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.cypress-ct.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-router-cypress/tsconfig.node.json b/typescript-router-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-cypress/tsconfig.node.json +++ b/typescript-router-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-nightwatch/.gitignore b/typescript-router-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-router-nightwatch/.gitignore +++ b/typescript-router-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-router-nightwatch/nightwatch.conf.ts b/typescript-router-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-router-nightwatch/nightwatch.conf.ts +++ b/typescript-router-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-router-nightwatch/nightwatch/globals.js b/typescript-router-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-nightwatch/nightwatch/tsconfig.json b/typescript-router-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-router-nightwatch/nightwatch/tsconfig.json +++ b/typescript-router-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-router-nightwatch/package.json b/typescript-router-nightwatch/package.json index 8b9519a9..c4809e77 100644 --- a/typescript-router-nightwatch/package.json +++ b/typescript-router-nightwatch/package.json @@ -2,34 +2,36 @@ "name": "typescript-router-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*", + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-nightwatch/src/assets/main.css b/typescript-router-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-nightwatch/src/assets/main.css +++ b/typescript-router-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-nightwatch/tests/e2e/example.ts b/typescript-router-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-router-nightwatch/tests/e2e/example.ts +++ b/typescript-router-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-router-nightwatch/tsconfig.app.json b/typescript-router-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-nightwatch/tsconfig.app.json +++ b/typescript-router-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-nightwatch/tsconfig.node.json b/typescript-router-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-nightwatch/tsconfig.node.json +++ b/typescript-router-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-pinia-cypress-nightwatch/.gitignore b/typescript-router-pinia-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-router-pinia-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-router-pinia-cypress-nightwatch/.vscode/extensions.json b/typescript-router-pinia-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-router-pinia-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-router-pinia-cypress-nightwatch/README.md b/typescript-router-pinia-cypress-nightwatch/README.md deleted file mode 100644 index 728bef2d..00000000 --- a/typescript-router-pinia-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-router-pinia-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-router-pinia-cypress-nightwatch/cypress.config.ts b/typescript-router-pinia-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-router-pinia-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-router-pinia-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-router-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-router-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-router-pinia-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/cypress/fixtures/example.json b/typescript-router-pinia-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-router-pinia-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-router-pinia-cypress-nightwatch/cypress/support/commands.ts b/typescript-router-pinia-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-router-pinia-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-router-pinia-cypress-nightwatch/cypress/support/component-index.html b/typescript-router-pinia-cypress-nightwatch/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-router-pinia-cypress-nightwatch/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-router-pinia-cypress-nightwatch/cypress/support/component.ts b/typescript-router-pinia-cypress-nightwatch/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-router-pinia-cypress-nightwatch/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-router-pinia-cypress-nightwatch/cypress/support/e2e.ts b/typescript-router-pinia-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-router-pinia-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-router-pinia-cypress-nightwatch/env.d.ts b/typescript-router-pinia-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-pinia-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-pinia-cypress-nightwatch/index.html b/typescript-router-pinia-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-pinia-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-pinia-cypress-nightwatch/nightwatch.conf.ts b/typescript-router-pinia-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-router-pinia-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-router-pinia-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-router-pinia-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/nightwatch/globals.js b/typescript-router-pinia-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-pinia-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/nightwatch/index.html b/typescript-router-pinia-cypress-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-router-pinia-cypress-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-router-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-router-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-router-pinia-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-router-pinia-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-router-pinia-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-router-pinia-cypress-nightwatch/package.json b/typescript-router-pinia-cypress-nightwatch/package.json deleted file mode 100644 index 4618117b..00000000 --- a/typescript-router-pinia-cypress-nightwatch/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "typescript-router-pinia-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "nightwatch src/components/**/__tests__/*", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/public/favicon.ico b/typescript-router-pinia-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-pinia-cypress-nightwatch/src/App.vue b/typescript-router-pinia-cypress-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-cypress-nightwatch/src/assets/base.css b/typescript-router-pinia-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-pinia-cypress-nightwatch/src/assets/logo.svg b/typescript-router-pinia-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-nightwatch/src/assets/main.css b/typescript-router-pinia-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts b/typescript-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-pinia-cypress-nightwatch/src/main.ts b/typescript-router-pinia-cypress-nightwatch/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-router-pinia-cypress-nightwatch/src/router/index.ts b/typescript-router-pinia-cypress-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-pinia-cypress-nightwatch/src/stores/counter.ts b/typescript-router-pinia-cypress-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-router-pinia-cypress-nightwatch/src/views/AboutView.vue b/typescript-router-pinia-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-pinia-cypress-nightwatch/src/views/HomeView.vue b/typescript-router-pinia-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-pinia-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-pinia-cypress-nightwatch/tests/e2e/example.ts b/typescript-router-pinia-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-router-pinia-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-pinia-cypress-nightwatch/tsconfig.app.json b/typescript-router-pinia-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-pinia-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/tsconfig.cypress-ct.json b/typescript-router-pinia-cypress-nightwatch/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-router-pinia-cypress-nightwatch/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/tsconfig.json b/typescript-router-pinia-cypress-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-router-pinia-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-router-pinia-cypress-nightwatch/tsconfig.node.json b/typescript-router-pinia-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-pinia-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-pinia-cypress-nightwatch/vite.config.ts b/typescript-router-pinia-cypress-nightwatch/vite.config.ts deleted file mode 100644 index fd83c5b2..00000000 --- a/typescript-router-pinia-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-pinia-cypress-playwright/.gitignore b/typescript-router-pinia-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-router-pinia-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-router-pinia-cypress-playwright/.vscode/extensions.json b/typescript-router-pinia-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-router-pinia-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-router-pinia-cypress-playwright/README.md b/typescript-router-pinia-cypress-playwright/README.md deleted file mode 100644 index 46deff90..00000000 --- a/typescript-router-pinia-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-router-pinia-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Headed Component Tests with [Cypress Component Testing](https://on.cypress.io/component) - -```sh -pnpm test:unit:dev # or `pnpm test:unit` for headless testing -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-router-pinia-cypress-playwright/cypress.config.ts b/typescript-router-pinia-cypress-playwright/cypress.config.ts deleted file mode 100644 index c8fac129..00000000 --- a/typescript-router-pinia-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - }, - component: { - specPattern: 'src/**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', - devServer: { - framework: 'vue', - bundler: 'vite' - } - } -}) diff --git a/typescript-router-pinia-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-router-pinia-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-router-pinia-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-router-pinia-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-router-pinia-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-router-pinia-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-router-pinia-cypress-playwright/cypress/fixtures/example.json b/typescript-router-pinia-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-router-pinia-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-router-pinia-cypress-playwright/cypress/support/commands.ts b/typescript-router-pinia-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-router-pinia-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-router-pinia-cypress-playwright/cypress/support/component-index.html b/typescript-router-pinia-cypress-playwright/cypress/support/component-index.html deleted file mode 100644 index 5f9622ae..00000000 --- a/typescript-router-pinia-cypress-playwright/cypress/support/component-index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Components App - - -
- - diff --git a/typescript-router-pinia-cypress-playwright/cypress/support/component.ts b/typescript-router-pinia-cypress-playwright/cypress/support/component.ts deleted file mode 100644 index 04e4c352..00000000 --- a/typescript-router-pinia-cypress-playwright/cypress/support/component.ts +++ /dev/null @@ -1,43 +0,0 @@ -// *********************************************************** -// This example support/component.ts is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') - -// Import global styles -import '@/assets/main.css' - -import { mount } from 'cypress/vue' - -// Augment the Cypress namespace to include type definitions for -// your custom command. -// Alternatively, can be defined in cypress/support/component.d.ts -// with a at the top of your spec. -/* eslint-disable @typescript-eslint/no-namespace */ -declare global { - namespace Cypress { - interface Chainable { - mount: typeof mount - } - } -} - -Cypress.Commands.add('mount', mount) - -// Example use: -// cy.mount(MyComponent) diff --git a/typescript-router-pinia-cypress-playwright/cypress/support/e2e.ts b/typescript-router-pinia-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-router-pinia-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-router-pinia-cypress-playwright/e2e/tsconfig.json b/typescript-router-pinia-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-router-pinia-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-router-pinia-cypress-playwright/e2e/vue.spec.ts b/typescript-router-pinia-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-router-pinia-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-router-pinia-cypress-playwright/env.d.ts b/typescript-router-pinia-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-pinia-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-pinia-cypress-playwright/index.html b/typescript-router-pinia-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-pinia-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-pinia-cypress-playwright/package.json b/typescript-router-pinia-cypress-playwright/package.json deleted file mode 100644 index a8245e9d..00000000 --- a/typescript-router-pinia-cypress-playwright/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "typescript-router-pinia-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "test:unit": "cypress run --component", - "test:unit:dev": "cypress open --component", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-router-pinia-cypress-playwright/playwright.config.ts b/typescript-router-pinia-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-router-pinia-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-router-pinia-cypress-playwright/public/favicon.ico b/typescript-router-pinia-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-pinia-cypress-playwright/src/App.vue b/typescript-router-pinia-cypress-playwright/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-pinia-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-cypress-playwright/src/assets/base.css b/typescript-router-pinia-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-pinia-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-pinia-cypress-playwright/src/assets/logo.svg b/typescript-router-pinia-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-pinia-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-playwright/src/assets/main.css b/typescript-router-pinia-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-pinia-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-pinia-cypress-playwright/src/components/HelloWorld.vue b/typescript-router-pinia-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-pinia-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-cypress-playwright/src/components/TheWelcome.vue b/typescript-router-pinia-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-pinia-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-pinia-cypress-playwright/src/components/WelcomeItem.vue b/typescript-router-pinia-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-pinia-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts b/typescript-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts deleted file mode 100644 index 535a0e51..00000000 --- a/typescript-router-pinia-cypress-playwright/src/components/__tests__/HelloWorld.cy.ts +++ /dev/null @@ -1,12 +0,0 @@ -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('playground', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - }) - - it('renders properly', () => { - cy.mount(HelloWorld, { props: { msg: 'Hello Cypress' } }) - cy.get('h1').should('contain', 'Hello Cypress') - }) -}) diff --git a/typescript-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-pinia-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-pinia-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-pinia-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-pinia-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-pinia-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-pinia-cypress-playwright/src/main.ts b/typescript-router-pinia-cypress-playwright/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-router-pinia-cypress-playwright/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-router-pinia-cypress-playwright/src/router/index.ts b/typescript-router-pinia-cypress-playwright/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-pinia-cypress-playwright/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-pinia-cypress-playwright/src/stores/counter.ts b/typescript-router-pinia-cypress-playwright/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-router-pinia-cypress-playwright/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-router-pinia-cypress-playwright/src/views/AboutView.vue b/typescript-router-pinia-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-pinia-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-pinia-cypress-playwright/src/views/HomeView.vue b/typescript-router-pinia-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-pinia-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-pinia-cypress-playwright/tsconfig.app.json b/typescript-router-pinia-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-pinia-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-pinia-cypress-playwright/tsconfig.cypress-ct.json b/typescript-router-pinia-cypress-playwright/tsconfig.cypress-ct.json deleted file mode 100644 index b21f0843..00000000 --- a/typescript-router-pinia-cypress-playwright/tsconfig.cypress-ct.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "include": [ - "env.d.ts", - "src/**/*", - "src/**/*.vue", - "cypress/support/component.*", - "cypress/support/commands.ts" - ], - "exclude": [], - "compilerOptions": { - "composite": true - } -} diff --git a/typescript-router-pinia-cypress-playwright/tsconfig.json b/typescript-router-pinia-cypress-playwright/tsconfig.json deleted file mode 100644 index 27e23a60..00000000 --- a/typescript-router-pinia-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.cypress-ct.json" - } - ] -} diff --git a/typescript-router-pinia-cypress-playwright/tsconfig.node.json b/typescript-router-pinia-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-pinia-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-pinia-cypress-playwright/vite.config.ts b/typescript-router-pinia-cypress-playwright/vite.config.ts deleted file mode 100644 index 5c45e1d9..00000000 --- a/typescript-router-pinia-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-pinia-cypress/.gitignore b/typescript-router-pinia-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router-pinia-cypress/.gitignore +++ b/typescript-router-pinia-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router-pinia-cypress/package.json b/typescript-router-pinia-cypress/package.json index ca78b397..88191736 100644 --- a/typescript-router-pinia-cypress/package.json +++ b/typescript-router-pinia-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-router-pinia-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -11,23 +12,23 @@ "test:unit": "cypress run --component", "test:unit:dev": "cypress open --component", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.cypress-ct.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", + "cypress": "^13.6.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-pinia-cypress/src/assets/main.css b/typescript-router-pinia-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-pinia-cypress/src/assets/main.css +++ b/typescript-router-pinia-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-pinia-cypress/tsconfig.app.json b/typescript-router-pinia-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-pinia-cypress/tsconfig.app.json +++ b/typescript-router-pinia-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-pinia-cypress/tsconfig.json b/typescript-router-pinia-cypress/tsconfig.json index 27e23a60..d3b6c317 100644 --- a/typescript-router-pinia-cypress/tsconfig.json +++ b/typescript-router-pinia-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.cypress-ct.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-router-pinia-cypress/tsconfig.node.json b/typescript-router-pinia-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-pinia-cypress/tsconfig.node.json +++ b/typescript-router-pinia-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-pinia-nightwatch/.gitignore b/typescript-router-pinia-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-router-pinia-nightwatch/.gitignore +++ b/typescript-router-pinia-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-router-pinia-nightwatch/nightwatch.conf.ts b/typescript-router-pinia-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-router-pinia-nightwatch/nightwatch.conf.ts +++ b/typescript-router-pinia-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-router-pinia-nightwatch/nightwatch/globals.js b/typescript-router-pinia-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-pinia-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-pinia-nightwatch/nightwatch/tsconfig.json b/typescript-router-pinia-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-router-pinia-nightwatch/nightwatch/tsconfig.json +++ b/typescript-router-pinia-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-router-pinia-nightwatch/package.json b/typescript-router-pinia-nightwatch/package.json index 90b79f48..e8313a64 100644 --- a/typescript-router-pinia-nightwatch/package.json +++ b/typescript-router-pinia-nightwatch/package.json @@ -2,35 +2,37 @@ "name": "typescript-router-pinia-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", - "test:e2e": "nightwatch tests/e2e", - "test:unit": "nightwatch src/components/**/__tests__/*", + "test:e2e": "nightwatch tests/e2e/*", + "test:unit": "nightwatch src/**/__tests__/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-pinia-nightwatch/src/assets/main.css b/typescript-router-pinia-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-pinia-nightwatch/src/assets/main.css +++ b/typescript-router-pinia-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-pinia-nightwatch/tests/e2e/example.ts b/typescript-router-pinia-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-router-pinia-nightwatch/tests/e2e/example.ts +++ b/typescript-router-pinia-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-router-pinia-nightwatch/tsconfig.app.json b/typescript-router-pinia-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-pinia-nightwatch/tsconfig.app.json +++ b/typescript-router-pinia-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-pinia-nightwatch/tsconfig.node.json b/typescript-router-pinia-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-pinia-nightwatch/tsconfig.node.json +++ b/typescript-router-pinia-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-pinia-playwright-nightwatch/.gitignore b/typescript-router-pinia-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-router-pinia-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-router-pinia-playwright-nightwatch/.vscode/extensions.json b/typescript-router-pinia-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-router-pinia-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-router-pinia-playwright-nightwatch/README.md b/typescript-router-pinia-playwright-nightwatch/README.md deleted file mode 100644 index 0d4bac67..00000000 --- a/typescript-router-pinia-playwright-nightwatch/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# typescript-router-pinia-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-router-pinia-playwright-nightwatch/e2e/tsconfig.json b/typescript-router-pinia-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-router-pinia-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-router-pinia-playwright-nightwatch/e2e/vue.spec.ts b/typescript-router-pinia-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-router-pinia-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-router-pinia-playwright-nightwatch/env.d.ts b/typescript-router-pinia-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-pinia-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-pinia-playwright-nightwatch/index.html b/typescript-router-pinia-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-pinia-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-pinia-playwright-nightwatch/nightwatch.conf.ts b/typescript-router-pinia-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-router-pinia-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-router-pinia-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-router-pinia-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-router-pinia-playwright-nightwatch/nightwatch/globals.js b/typescript-router-pinia-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-pinia-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-pinia-playwright-nightwatch/nightwatch/index.html b/typescript-router-pinia-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-router-pinia-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-router-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-router-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-router-pinia-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-router-pinia-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-router-pinia-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-router-pinia-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-router-pinia-playwright-nightwatch/package.json b/typescript-router-pinia-playwright-nightwatch/package.json deleted file mode 100644 index cf1ee756..00000000 --- a/typescript-router-pinia-playwright-nightwatch/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "typescript-router-pinia-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-router-pinia-playwright-nightwatch/playwright.config.ts b/typescript-router-pinia-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-router-pinia-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-router-pinia-playwright-nightwatch/public/favicon.ico b/typescript-router-pinia-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-pinia-playwright-nightwatch/src/App.vue b/typescript-router-pinia-playwright-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-playwright-nightwatch/src/assets/base.css b/typescript-router-pinia-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-pinia-playwright-nightwatch/src/assets/logo.svg b/typescript-router-pinia-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-pinia-playwright-nightwatch/src/assets/main.css b/typescript-router-pinia-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-pinia-playwright-nightwatch/src/main.ts b/typescript-router-pinia-playwright-nightwatch/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-router-pinia-playwright-nightwatch/src/router/index.ts b/typescript-router-pinia-playwright-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-pinia-playwright-nightwatch/src/stores/counter.ts b/typescript-router-pinia-playwright-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-router-pinia-playwright-nightwatch/src/views/AboutView.vue b/typescript-router-pinia-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-pinia-playwright-nightwatch/src/views/HomeView.vue b/typescript-router-pinia-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-pinia-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-pinia-playwright-nightwatch/tests/e2e/example.ts b/typescript-router-pinia-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-router-pinia-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-pinia-playwright-nightwatch/tsconfig.app.json b/typescript-router-pinia-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-pinia-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-pinia-playwright-nightwatch/tsconfig.json b/typescript-router-pinia-playwright-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-router-pinia-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-router-pinia-playwright-nightwatch/tsconfig.node.json b/typescript-router-pinia-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-pinia-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-pinia-playwright-nightwatch/vite.config.ts b/typescript-router-pinia-playwright-nightwatch/vite.config.ts deleted file mode 100644 index fd83c5b2..00000000 --- a/typescript-router-pinia-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-pinia-playwright/.gitignore b/typescript-router-pinia-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-router-pinia-playwright/.gitignore +++ b/typescript-router-pinia-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-router-pinia-playwright/package.json b/typescript-router-pinia-playwright/package.json index b344e389..019efaf6 100644 --- a/typescript-router-pinia-playwright/package.json +++ b/typescript-router-pinia-playwright/package.json @@ -2,28 +2,29 @@ "name": "typescript-router-pinia-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-pinia-playwright/playwright.config.ts b/typescript-router-pinia-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-router-pinia-playwright/playwright.config.ts +++ b/typescript-router-pinia-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-router-pinia-playwright/src/assets/main.css b/typescript-router-pinia-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-pinia-playwright/src/assets/main.css +++ b/typescript-router-pinia-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-pinia-playwright/tsconfig.app.json b/typescript-router-pinia-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-pinia-playwright/tsconfig.app.json +++ b/typescript-router-pinia-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-pinia-playwright/tsconfig.node.json b/typescript-router-pinia-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-pinia-playwright/tsconfig.node.json +++ b/typescript-router-pinia-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/.gitignore b/typescript-router-pinia-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json b/typescript-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/README.md b/typescript-router-pinia-vitest-cypress-nightwatch/README.md deleted file mode 100644 index e1606d68..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-router-pinia-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/cypress.config.ts b/typescript-router-pinia-vitest-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-router-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json b/typescript-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts b/typescript-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts b/typescript-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/env.d.ts b/typescript-router-pinia-vitest-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/index.html b/typescript-router-pinia-vitest-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts b/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js b/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/package.json b/typescript-router-pinia-vitest-cypress-nightwatch/package.json deleted file mode 100644 index 650c4805..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "typescript-router-pinia-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/public/favicon.ico b/typescript-router-pinia-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/App.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/assets/base.css b/typescript-router-pinia-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg b/typescript-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/assets/main.css b/typescript-router-pinia-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/main.ts b/typescript-router-pinia-vitest-cypress-nightwatch/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/router/index.ts b/typescript-router-pinia-vitest-cypress-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/stores/counter.ts b/typescript-router-pinia-vitest-cypress-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue b/typescript-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts b/typescript-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.app.json b/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.json b/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.node.json b/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json b/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/vite.config.ts b/typescript-router-pinia-vitest-cypress-nightwatch/vite.config.ts deleted file mode 100644 index be3cb9c5..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-pinia-vitest-cypress-nightwatch/vitest.config.ts b/typescript-router-pinia-vitest-cypress-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-router-pinia-vitest-cypress-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-router-pinia-vitest-cypress-playwright/.gitignore b/typescript-router-pinia-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-router-pinia-vitest-cypress-playwright/.vscode/extensions.json b/typescript-router-pinia-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/README.md b/typescript-router-pinia-vitest-cypress-playwright/README.md deleted file mode 100644 index eb7f66c8..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-router-pinia-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-router-pinia-vitest-cypress-playwright/cypress.config.ts b/typescript-router-pinia-vitest-cypress-playwright/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-router-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-router-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json b/typescript-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/cypress/support/commands.ts b/typescript-router-pinia-vitest-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-router-pinia-vitest-cypress-playwright/cypress/support/e2e.ts b/typescript-router-pinia-vitest-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-router-pinia-vitest-cypress-playwright/e2e/tsconfig.json b/typescript-router-pinia-vitest-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/e2e/vue.spec.ts b/typescript-router-pinia-vitest-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-router-pinia-vitest-cypress-playwright/env.d.ts b/typescript-router-pinia-vitest-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-pinia-vitest-cypress-playwright/index.html b/typescript-router-pinia-vitest-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-pinia-vitest-cypress-playwright/package.json b/typescript-router-pinia-vitest-cypress-playwright/package.json deleted file mode 100644 index 948b7ee2..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "typescript-router-pinia-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/playwright.config.ts b/typescript-router-pinia-vitest-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-router-pinia-vitest-cypress-playwright/public/favicon.ico b/typescript-router-pinia-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/App.vue b/typescript-router-pinia-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/assets/base.css b/typescript-router-pinia-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/assets/logo.svg b/typescript-router-pinia-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/assets/main.css b/typescript-router-pinia-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue b/typescript-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue b/typescript-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue b/typescript-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/main.ts b/typescript-router-pinia-vitest-cypress-playwright/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/router/index.ts b/typescript-router-pinia-vitest-cypress-playwright/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/stores/counter.ts b/typescript-router-pinia-vitest-cypress-playwright/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue b/typescript-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue b/typescript-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-cypress-playwright/tsconfig.app.json b/typescript-router-pinia-vitest-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/tsconfig.json b/typescript-router-pinia-vitest-cypress-playwright/tsconfig.json deleted file mode 100644 index 100cf6a8..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - } - ] -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/tsconfig.node.json b/typescript-router-pinia-vitest-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/tsconfig.vitest.json b/typescript-router-pinia-vitest-cypress-playwright/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-router-pinia-vitest-cypress-playwright/vite.config.ts b/typescript-router-pinia-vitest-cypress-playwright/vite.config.ts deleted file mode 100644 index 5c45e1d9..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-pinia-vitest-cypress-playwright/vitest.config.ts b/typescript-router-pinia-vitest-cypress-playwright/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-router-pinia-vitest-cypress-playwright/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-router-pinia-vitest-cypress/.gitignore b/typescript-router-pinia-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router-pinia-vitest-cypress/.gitignore +++ b/typescript-router-pinia-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router-pinia-vitest-cypress/package.json b/typescript-router-pinia-vitest-cypress/package.json index b4f045ed..34141b5e 100644 --- a/typescript-router-pinia-vitest-cypress/package.json +++ b/typescript-router-pinia-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-router-pinia-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,27 +11,27 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-pinia-vitest-cypress/src/assets/main.css b/typescript-router-pinia-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-pinia-vitest-cypress/src/assets/main.css +++ b/typescript-router-pinia-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-pinia-vitest-cypress/tsconfig.app.json b/typescript-router-pinia-vitest-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-pinia-vitest-cypress/tsconfig.app.json +++ b/typescript-router-pinia-vitest-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-pinia-vitest-cypress/tsconfig.json b/typescript-router-pinia-vitest-cypress/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-router-pinia-vitest-cypress/tsconfig.json +++ b/typescript-router-pinia-vitest-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-router-pinia-vitest-cypress/tsconfig.node.json b/typescript-router-pinia-vitest-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-pinia-vitest-cypress/tsconfig.node.json +++ b/typescript-router-pinia-vitest-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-pinia-vitest-nightwatch/.gitignore b/typescript-router-pinia-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-router-pinia-vitest-nightwatch/.gitignore +++ b/typescript-router-pinia-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-router-pinia-vitest-nightwatch/nightwatch.conf.ts b/typescript-router-pinia-vitest-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-router-pinia-vitest-nightwatch/nightwatch.conf.ts +++ b/typescript-router-pinia-vitest-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-router-pinia-vitest-nightwatch/nightwatch/globals.js b/typescript-router-pinia-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-pinia-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-pinia-vitest-nightwatch/nightwatch/tsconfig.json b/typescript-router-pinia-vitest-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-router-pinia-vitest-nightwatch/nightwatch/tsconfig.json +++ b/typescript-router-pinia-vitest-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-router-pinia-vitest-nightwatch/package.json b/typescript-router-pinia-vitest-nightwatch/package.json index 6a4b39ab..1467114c 100644 --- a/typescript-router-pinia-vitest-nightwatch/package.json +++ b/typescript-router-pinia-vitest-nightwatch/package.json @@ -2,39 +2,40 @@ "name": "typescript-router-pinia-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", + "test:e2e": "nightwatch tests/e2e/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-pinia-vitest-nightwatch/src/assets/main.css b/typescript-router-pinia-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-pinia-vitest-nightwatch/src/assets/main.css +++ b/typescript-router-pinia-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-pinia-vitest-nightwatch/tests/e2e/example.ts b/typescript-router-pinia-vitest-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-router-pinia-vitest-nightwatch/tests/e2e/example.ts +++ b/typescript-router-pinia-vitest-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-router-pinia-vitest-nightwatch/tsconfig.app.json b/typescript-router-pinia-vitest-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-pinia-vitest-nightwatch/tsconfig.app.json +++ b/typescript-router-pinia-vitest-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-pinia-vitest-nightwatch/tsconfig.node.json b/typescript-router-pinia-vitest-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-pinia-vitest-nightwatch/tsconfig.node.json +++ b/typescript-router-pinia-vitest-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/.gitignore b/typescript-router-pinia-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json b/typescript-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/README.md b/typescript-router-pinia-vitest-playwright-nightwatch/README.md deleted file mode 100644 index fd7abe8b..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# typescript-router-pinia-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json b/typescript-router-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts b/typescript-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/env.d.ts b/typescript-router-pinia-vitest-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/index.html b/typescript-router-pinia-vitest-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts b/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js b/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/package.json b/typescript-router-pinia-vitest-playwright-nightwatch/package.json deleted file mode 100644 index 7d67c12b..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "typescript-router-pinia-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "pinia": "^2.1.7", - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/playwright.config.ts b/typescript-router-pinia-vitest-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/public/favicon.ico b/typescript-router-pinia-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/App.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/assets/base.css b/typescript-router-pinia-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg b/typescript-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/assets/main.css b/typescript-router-pinia-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/main.ts b/typescript-router-pinia-vitest-playwright-nightwatch/src/main.ts deleted file mode 100644 index 5dcad83c..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,14 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import { createPinia } from 'pinia' - -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(createPinia()) -app.use(router) - -app.mount('#app') diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/router/index.ts b/typescript-router-pinia-vitest-playwright-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/stores/counter.ts b/typescript-router-pinia-vitest-playwright-nightwatch/src/stores/counter.ts deleted file mode 100644 index b6757ba5..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/stores/counter.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { ref, computed } from 'vue' -import { defineStore } from 'pinia' - -export const useCounterStore = defineStore('counter', () => { - const count = ref(0) - const doubleCount = computed(() => count.value * 2) - function increment() { - count.value++ - } - - return { count, doubleCount, increment } -}) diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue b/typescript-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts b/typescript-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.app.json b/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.json b/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.node.json b/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json b/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/vite.config.ts b/typescript-router-pinia-vitest-playwright-nightwatch/vite.config.ts deleted file mode 100644 index be3cb9c5..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-pinia-vitest-playwright-nightwatch/vitest.config.ts b/typescript-router-pinia-vitest-playwright-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-router-pinia-vitest-playwright-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-router-pinia-vitest-playwright/.gitignore b/typescript-router-pinia-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-router-pinia-vitest-playwright/.gitignore +++ b/typescript-router-pinia-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-router-pinia-vitest-playwright/package.json b/typescript-router-pinia-vitest-playwright/package.json index 3e2053c9..058f6247 100644 --- a/typescript-router-pinia-vitest-playwright/package.json +++ b/typescript-router-pinia-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "typescript-router-pinia-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -9,26 +10,26 @@ "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-pinia-vitest-playwright/playwright.config.ts b/typescript-router-pinia-vitest-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-router-pinia-vitest-playwright/playwright.config.ts +++ b/typescript-router-pinia-vitest-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-router-pinia-vitest-playwright/src/assets/main.css b/typescript-router-pinia-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-pinia-vitest-playwright/src/assets/main.css +++ b/typescript-router-pinia-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-pinia-vitest-playwright/tsconfig.app.json b/typescript-router-pinia-vitest-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-pinia-vitest-playwright/tsconfig.app.json +++ b/typescript-router-pinia-vitest-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-pinia-vitest-playwright/tsconfig.node.json b/typescript-router-pinia-vitest-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-pinia-vitest-playwright/tsconfig.node.json +++ b/typescript-router-pinia-vitest-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-pinia-vitest/.gitignore b/typescript-router-pinia-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router-pinia-vitest/.gitignore +++ b/typescript-router-pinia-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router-pinia-vitest/package.json b/typescript-router-pinia-vitest/package.json index da178701..a7284954 100644 --- a/typescript-router-pinia-vitest/package.json +++ b/typescript-router-pinia-vitest/package.json @@ -2,31 +2,32 @@ "name": "typescript-router-pinia-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-pinia-vitest/src/assets/main.css b/typescript-router-pinia-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-pinia-vitest/src/assets/main.css +++ b/typescript-router-pinia-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-pinia-vitest/tsconfig.app.json b/typescript-router-pinia-vitest/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-pinia-vitest/tsconfig.app.json +++ b/typescript-router-pinia-vitest/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-pinia-vitest/tsconfig.node.json b/typescript-router-pinia-vitest/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-pinia-vitest/tsconfig.node.json +++ b/typescript-router-pinia-vitest/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-pinia-with-tests/.gitignore b/typescript-router-pinia-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router-pinia-with-tests/.gitignore +++ b/typescript-router-pinia-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router-pinia-with-tests/package.json b/typescript-router-pinia-with-tests/package.json index 5d048c88..77200ac0 100644 --- a/typescript-router-pinia-with-tests/package.json +++ b/typescript-router-pinia-with-tests/package.json @@ -2,6 +2,7 @@ "name": "typescript-router-pinia-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,27 +11,27 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-pinia-with-tests/src/assets/main.css b/typescript-router-pinia-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-pinia-with-tests/src/assets/main.css +++ b/typescript-router-pinia-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-pinia-with-tests/tsconfig.app.json b/typescript-router-pinia-with-tests/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-pinia-with-tests/tsconfig.app.json +++ b/typescript-router-pinia-with-tests/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-pinia-with-tests/tsconfig.json b/typescript-router-pinia-with-tests/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-router-pinia-with-tests/tsconfig.json +++ b/typescript-router-pinia-with-tests/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-router-pinia-with-tests/tsconfig.node.json b/typescript-router-pinia-with-tests/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-pinia-with-tests/tsconfig.node.json +++ b/typescript-router-pinia-with-tests/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-pinia/.gitignore b/typescript-router-pinia/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router-pinia/.gitignore +++ b/typescript-router-pinia/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router-pinia/package.json b/typescript-router-pinia/package.json index ad733b26..de443bc1 100644 --- a/typescript-router-pinia/package.json +++ b/typescript-router-pinia/package.json @@ -2,26 +2,27 @@ "name": "typescript-router-pinia", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { "pinia": "^2.1.7", - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-pinia/src/assets/main.css b/typescript-router-pinia/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-pinia/src/assets/main.css +++ b/typescript-router-pinia/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-pinia/tsconfig.app.json b/typescript-router-pinia/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-pinia/tsconfig.app.json +++ b/typescript-router-pinia/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-pinia/tsconfig.node.json b/typescript-router-pinia/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-pinia/tsconfig.node.json +++ b/typescript-router-pinia/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-playwright-nightwatch/.gitignore b/typescript-router-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-router-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-router-playwright-nightwatch/.vscode/extensions.json b/typescript-router-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-router-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-router-playwright-nightwatch/README.md b/typescript-router-playwright-nightwatch/README.md deleted file mode 100644 index 3047d1a4..00000000 --- a/typescript-router-playwright-nightwatch/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# typescript-router-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-router-playwright-nightwatch/e2e/tsconfig.json b/typescript-router-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-router-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-router-playwright-nightwatch/e2e/vue.spec.ts b/typescript-router-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-router-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-router-playwright-nightwatch/env.d.ts b/typescript-router-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-playwright-nightwatch/index.html b/typescript-router-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-playwright-nightwatch/nightwatch.conf.ts b/typescript-router-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-router-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-router-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-router-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-router-playwright-nightwatch/nightwatch/globals.js b/typescript-router-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-playwright-nightwatch/nightwatch/index.html b/typescript-router-playwright-nightwatch/nightwatch/index.html deleted file mode 100644 index b7e1ec76..00000000 --- a/typescript-router-playwright-nightwatch/nightwatch/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - Vue Renderer - - - -
- - - diff --git a/typescript-router-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-router-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-router-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-router-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-router-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-router-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-router-playwright-nightwatch/package.json b/typescript-router-playwright-nightwatch/package.json deleted file mode 100644 index e55b398a..00000000 --- a/typescript-router-playwright-nightwatch/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "typescript-router-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:e2e": "playwright test", - "test:unit": "nightwatch src/components/**/__tests__/*", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-router-playwright-nightwatch/playwright.config.ts b/typescript-router-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-router-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-router-playwright-nightwatch/public/favicon.ico b/typescript-router-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-playwright-nightwatch/src/App.vue b/typescript-router-playwright-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-playwright-nightwatch/src/assets/base.css b/typescript-router-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-playwright-nightwatch/src/assets/logo.svg b/typescript-router-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-playwright-nightwatch/src/assets/main.css b/typescript-router-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-router-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-router-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-router-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 810641e6..00000000 --- a/typescript-router-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('Hello World', function () { - before((browser) => { - browser.init() - }) - - it('renders properly', async function () { - const welcomeComponent = await browser.mountComponent('/src/components/HelloWorld.vue', {props: {msg: 'Hello Nightwatch'}}); - - browser.expect.element(welcomeComponent).to.be.present; - browser.expect.element('h1').text.to.contain('Hello Nightwatch'); - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-router-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-router-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-router-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-playwright-nightwatch/src/main.ts b/typescript-router-playwright-nightwatch/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-router-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-router-playwright-nightwatch/src/router/index.ts b/typescript-router-playwright-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-playwright-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-playwright-nightwatch/src/views/AboutView.vue b/typescript-router-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-playwright-nightwatch/src/views/HomeView.vue b/typescript-router-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-playwright-nightwatch/tests/e2e/example.ts b/typescript-router-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-router-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-playwright-nightwatch/tsconfig.app.json b/typescript-router-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-playwright-nightwatch/tsconfig.json b/typescript-router-playwright-nightwatch/tsconfig.json deleted file mode 100644 index 5c385ae2..00000000 --- a/typescript-router-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-router-playwright-nightwatch/tsconfig.node.json b/typescript-router-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-playwright-nightwatch/vite.config.ts b/typescript-router-playwright-nightwatch/vite.config.ts deleted file mode 100644 index fd83c5b2..00000000 --- a/typescript-router-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin({ - renderPage: './nightwatch/index.html' - }), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-playwright/.gitignore b/typescript-router-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-router-playwright/.gitignore +++ b/typescript-router-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-router-playwright/package.json b/typescript-router-playwright/package.json index 912cca48..6764fa12 100644 --- a/typescript-router-playwright/package.json +++ b/typescript-router-playwright/package.json @@ -2,27 +2,28 @@ "name": "typescript-router-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-playwright/playwright.config.ts b/typescript-router-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-router-playwright/playwright.config.ts +++ b/typescript-router-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-router-playwright/src/assets/main.css b/typescript-router-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-playwright/src/assets/main.css +++ b/typescript-router-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-playwright/tsconfig.app.json b/typescript-router-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-playwright/tsconfig.app.json +++ b/typescript-router-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-playwright/tsconfig.node.json b/typescript-router-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-playwright/tsconfig.node.json +++ b/typescript-router-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-vitest-cypress-nightwatch/.gitignore b/typescript-router-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-router-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-router-vitest-cypress-nightwatch/.vscode/extensions.json b/typescript-router-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-router-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-router-vitest-cypress-nightwatch/README.md b/typescript-router-vitest-cypress-nightwatch/README.md deleted file mode 100644 index 0e4313a4..00000000 --- a/typescript-router-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-router-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-router-vitest-cypress-nightwatch/cypress.config.ts b/typescript-router-vitest-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-router-vitest-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-router-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-router-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-router-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-router-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/cypress/fixtures/example.json b/typescript-router-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-router-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-router-vitest-cypress-nightwatch/cypress/support/commands.ts b/typescript-router-vitest-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-router-vitest-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-router-vitest-cypress-nightwatch/cypress/support/e2e.ts b/typescript-router-vitest-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-router-vitest-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-router-vitest-cypress-nightwatch/env.d.ts b/typescript-router-vitest-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-vitest-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-vitest-cypress-nightwatch/index.html b/typescript-router-vitest-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-vitest-cypress-nightwatch/nightwatch.conf.ts b/typescript-router-vitest-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-router-vitest-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-router-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-router-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/nightwatch/globals.js b/typescript-router-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-router-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-router-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-router-vitest-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-router-vitest-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-router-vitest-cypress-nightwatch/package.json b/typescript-router-vitest-cypress-nightwatch/package.json deleted file mode 100644 index 47c16d3a..00000000 --- a/typescript-router-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "typescript-router-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/public/favicon.ico b/typescript-router-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-vitest-cypress-nightwatch/src/App.vue b/typescript-router-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-vitest-cypress-nightwatch/src/assets/base.css b/typescript-router-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-vitest-cypress-nightwatch/src/assets/logo.svg b/typescript-router-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-nightwatch/src/assets/main.css b/typescript-router-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-vitest-cypress-nightwatch/src/main.ts b/typescript-router-vitest-cypress-nightwatch/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-router-vitest-cypress-nightwatch/src/router/index.ts b/typescript-router-vitest-cypress-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-vitest-cypress-nightwatch/src/views/AboutView.vue b/typescript-router-vitest-cypress-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-vitest-cypress-nightwatch/src/views/HomeView.vue b/typescript-router-vitest-cypress-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-vitest-cypress-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-vitest-cypress-nightwatch/tests/e2e/example.ts b/typescript-router-vitest-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-router-vitest-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-vitest-cypress-nightwatch/tsconfig.app.json b/typescript-router-vitest-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-vitest-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/tsconfig.json b/typescript-router-vitest-cypress-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-router-vitest-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-router-vitest-cypress-nightwatch/tsconfig.node.json b/typescript-router-vitest-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-vitest-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/tsconfig.vitest.json b/typescript-router-vitest-cypress-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-router-vitest-cypress-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-router-vitest-cypress-nightwatch/vite.config.ts b/typescript-router-vitest-cypress-nightwatch/vite.config.ts deleted file mode 100644 index be3cb9c5..00000000 --- a/typescript-router-vitest-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-vitest-cypress-nightwatch/vitest.config.ts b/typescript-router-vitest-cypress-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-router-vitest-cypress-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-router-vitest-cypress-playwright/.gitignore b/typescript-router-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-router-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-router-vitest-cypress-playwright/.vscode/extensions.json b/typescript-router-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-router-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-router-vitest-cypress-playwright/README.md b/typescript-router-vitest-cypress-playwright/README.md deleted file mode 100644 index c6d2b5ad..00000000 --- a/typescript-router-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-router-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-router-vitest-cypress-playwright/cypress.config.ts b/typescript-router-vitest-cypress-playwright/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-router-vitest-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-router-vitest-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-router-vitest-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-router-vitest-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-router-vitest-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-router-vitest-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-router-vitest-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-router-vitest-cypress-playwright/cypress/fixtures/example.json b/typescript-router-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-router-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-router-vitest-cypress-playwright/cypress/support/commands.ts b/typescript-router-vitest-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-router-vitest-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-router-vitest-cypress-playwright/cypress/support/e2e.ts b/typescript-router-vitest-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-router-vitest-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-router-vitest-cypress-playwright/e2e/tsconfig.json b/typescript-router-vitest-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-router-vitest-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-router-vitest-cypress-playwright/e2e/vue.spec.ts b/typescript-router-vitest-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-router-vitest-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-router-vitest-cypress-playwright/env.d.ts b/typescript-router-vitest-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-vitest-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-vitest-cypress-playwright/index.html b/typescript-router-vitest-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-vitest-cypress-playwright/package.json b/typescript-router-vitest-cypress-playwright/package.json deleted file mode 100644 index 3e329905..00000000 --- a/typescript-router-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "typescript-router-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-router-vitest-cypress-playwright/playwright.config.ts b/typescript-router-vitest-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-router-vitest-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-router-vitest-cypress-playwright/public/favicon.ico b/typescript-router-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-vitest-cypress-playwright/src/App.vue b/typescript-router-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-vitest-cypress-playwright/src/assets/base.css b/typescript-router-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-vitest-cypress-playwright/src/assets/logo.svg b/typescript-router-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-playwright/src/assets/main.css b/typescript-router-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-vitest-cypress-playwright/src/components/HelloWorld.vue b/typescript-router-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-vitest-cypress-playwright/src/components/TheWelcome.vue b/typescript-router-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-vitest-cypress-playwright/src/components/WelcomeItem.vue b/typescript-router-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-router-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-vitest-cypress-playwright/src/main.ts b/typescript-router-vitest-cypress-playwright/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-router-vitest-cypress-playwright/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-router-vitest-cypress-playwright/src/router/index.ts b/typescript-router-vitest-cypress-playwright/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-vitest-cypress-playwright/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-vitest-cypress-playwright/src/views/AboutView.vue b/typescript-router-vitest-cypress-playwright/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-vitest-cypress-playwright/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-vitest-cypress-playwright/src/views/HomeView.vue b/typescript-router-vitest-cypress-playwright/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-vitest-cypress-playwright/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-vitest-cypress-playwright/tsconfig.app.json b/typescript-router-vitest-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-vitest-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-vitest-cypress-playwright/tsconfig.json b/typescript-router-vitest-cypress-playwright/tsconfig.json deleted file mode 100644 index 100cf6a8..00000000 --- a/typescript-router-vitest-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - } - ] -} diff --git a/typescript-router-vitest-cypress-playwright/tsconfig.node.json b/typescript-router-vitest-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-vitest-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-vitest-cypress-playwright/tsconfig.vitest.json b/typescript-router-vitest-cypress-playwright/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-router-vitest-cypress-playwright/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-router-vitest-cypress-playwright/vite.config.ts b/typescript-router-vitest-cypress-playwright/vite.config.ts deleted file mode 100644 index 5c45e1d9..00000000 --- a/typescript-router-vitest-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-vitest-cypress-playwright/vitest.config.ts b/typescript-router-vitest-cypress-playwright/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-router-vitest-cypress-playwright/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-router-vitest-cypress/.gitignore b/typescript-router-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router-vitest-cypress/.gitignore +++ b/typescript-router-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router-vitest-cypress/package.json b/typescript-router-vitest-cypress/package.json index 383f5ff7..3868cd52 100644 --- a/typescript-router-vitest-cypress/package.json +++ b/typescript-router-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-router-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,26 +11,26 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-vitest-cypress/src/assets/main.css b/typescript-router-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-vitest-cypress/src/assets/main.css +++ b/typescript-router-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-vitest-cypress/tsconfig.app.json b/typescript-router-vitest-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-vitest-cypress/tsconfig.app.json +++ b/typescript-router-vitest-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-vitest-cypress/tsconfig.json b/typescript-router-vitest-cypress/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-router-vitest-cypress/tsconfig.json +++ b/typescript-router-vitest-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-router-vitest-cypress/tsconfig.node.json b/typescript-router-vitest-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-vitest-cypress/tsconfig.node.json +++ b/typescript-router-vitest-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-vitest-nightwatch/.gitignore b/typescript-router-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-router-vitest-nightwatch/.gitignore +++ b/typescript-router-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-router-vitest-nightwatch/nightwatch.conf.ts b/typescript-router-vitest-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-router-vitest-nightwatch/nightwatch.conf.ts +++ b/typescript-router-vitest-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-router-vitest-nightwatch/nightwatch/globals.js b/typescript-router-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-vitest-nightwatch/nightwatch/tsconfig.json b/typescript-router-vitest-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-router-vitest-nightwatch/nightwatch/tsconfig.json +++ b/typescript-router-vitest-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-router-vitest-nightwatch/package.json b/typescript-router-vitest-nightwatch/package.json index df01de0a..be8a6e26 100644 --- a/typescript-router-vitest-nightwatch/package.json +++ b/typescript-router-vitest-nightwatch/package.json @@ -2,38 +2,39 @@ "name": "typescript-router-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", + "test:e2e": "nightwatch tests/e2e/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-vitest-nightwatch/src/assets/main.css b/typescript-router-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-vitest-nightwatch/src/assets/main.css +++ b/typescript-router-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-vitest-nightwatch/tests/e2e/example.ts b/typescript-router-vitest-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-router-vitest-nightwatch/tests/e2e/example.ts +++ b/typescript-router-vitest-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-router-vitest-nightwatch/tsconfig.app.json b/typescript-router-vitest-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-vitest-nightwatch/tsconfig.app.json +++ b/typescript-router-vitest-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-vitest-nightwatch/tsconfig.node.json b/typescript-router-vitest-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-vitest-nightwatch/tsconfig.node.json +++ b/typescript-router-vitest-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-vitest-playwright-nightwatch/.gitignore b/typescript-router-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-router-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-router-vitest-playwright-nightwatch/.vscode/extensions.json b/typescript-router-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-router-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-router-vitest-playwright-nightwatch/README.md b/typescript-router-vitest-playwright-nightwatch/README.md deleted file mode 100644 index 63b445a9..00000000 --- a/typescript-router-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# typescript-router-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-router-vitest-playwright-nightwatch/e2e/tsconfig.json b/typescript-router-vitest-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-router-vitest-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-router-vitest-playwright-nightwatch/e2e/vue.spec.ts b/typescript-router-vitest-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-router-vitest-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-router-vitest-playwright-nightwatch/env.d.ts b/typescript-router-vitest-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-router-vitest-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-router-vitest-playwright-nightwatch/index.html b/typescript-router-vitest-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-router-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-router-vitest-playwright-nightwatch/nightwatch.conf.ts b/typescript-router-vitest-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-router-vitest-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-router-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-router-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/nightwatch/globals.js b/typescript-router-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-router-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-router-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-router-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-router-vitest-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-router-vitest-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-router-vitest-playwright-nightwatch/package.json b/typescript-router-vitest-playwright-nightwatch/package.json deleted file mode 100644 index e1edddd2..00000000 --- a/typescript-router-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "typescript-router-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/playwright.config.ts b/typescript-router-vitest-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-router-vitest-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-router-vitest-playwright-nightwatch/public/favicon.ico b/typescript-router-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-router-vitest-playwright-nightwatch/src/App.vue b/typescript-router-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index 7905b051..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/typescript-router-vitest-playwright-nightwatch/src/assets/base.css b/typescript-router-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-router-vitest-playwright-nightwatch/src/assets/logo.svg b/typescript-router-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-router-vitest-playwright-nightwatch/src/assets/main.css b/typescript-router-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 38d821ef..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-router-vitest-playwright-nightwatch/src/main.ts b/typescript-router-vitest-playwright-nightwatch/src/main.ts deleted file mode 100644 index 5a5dbdba..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,11 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' -import router from './router' - -const app = createApp(App) - -app.use(router) - -app.mount('#app') diff --git a/typescript-router-vitest-playwright-nightwatch/src/router/index.ts b/typescript-router-vitest-playwright-nightwatch/src/router/index.ts deleted file mode 100644 index a49ae507..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/router/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) - -export default router diff --git a/typescript-router-vitest-playwright-nightwatch/src/views/AboutView.vue b/typescript-router-vitest-playwright-nightwatch/src/views/AboutView.vue deleted file mode 100644 index 756ad2a1..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/views/AboutView.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/typescript-router-vitest-playwright-nightwatch/src/views/HomeView.vue b/typescript-router-vitest-playwright-nightwatch/src/views/HomeView.vue deleted file mode 100644 index d5c0217e..00000000 --- a/typescript-router-vitest-playwright-nightwatch/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/typescript-router-vitest-playwright-nightwatch/tests/e2e/example.ts b/typescript-router-vitest-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-router-vitest-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-router-vitest-playwright-nightwatch/tsconfig.app.json b/typescript-router-vitest-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-router-vitest-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/tsconfig.json b/typescript-router-vitest-playwright-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-router-vitest-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-router-vitest-playwright-nightwatch/tsconfig.node.json b/typescript-router-vitest-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-router-vitest-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/tsconfig.vitest.json b/typescript-router-vitest-playwright-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-router-vitest-playwright-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-router-vitest-playwright-nightwatch/vite.config.ts b/typescript-router-vitest-playwright-nightwatch/vite.config.ts deleted file mode 100644 index be3cb9c5..00000000 --- a/typescript-router-vitest-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-router-vitest-playwright-nightwatch/vitest.config.ts b/typescript-router-vitest-playwright-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-router-vitest-playwright-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-router-vitest-playwright/.gitignore b/typescript-router-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-router-vitest-playwright/.gitignore +++ b/typescript-router-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-router-vitest-playwright/package.json b/typescript-router-vitest-playwright/package.json index 32759e1f..64acd098 100644 --- a/typescript-router-vitest-playwright/package.json +++ b/typescript-router-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "typescript-router-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -9,25 +10,25 @@ "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-vitest-playwright/playwright.config.ts b/typescript-router-vitest-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-router-vitest-playwright/playwright.config.ts +++ b/typescript-router-vitest-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-router-vitest-playwright/src/assets/main.css b/typescript-router-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-vitest-playwright/src/assets/main.css +++ b/typescript-router-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-vitest-playwright/tsconfig.app.json b/typescript-router-vitest-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-vitest-playwright/tsconfig.app.json +++ b/typescript-router-vitest-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-vitest-playwright/tsconfig.node.json b/typescript-router-vitest-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-vitest-playwright/tsconfig.node.json +++ b/typescript-router-vitest-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-vitest/.gitignore b/typescript-router-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router-vitest/.gitignore +++ b/typescript-router-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router-vitest/package.json b/typescript-router-vitest/package.json index 033d193d..8ec26878 100644 --- a/typescript-router-vitest/package.json +++ b/typescript-router-vitest/package.json @@ -2,30 +2,31 @@ "name": "typescript-router-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-vitest/src/assets/main.css b/typescript-router-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-vitest/src/assets/main.css +++ b/typescript-router-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-vitest/tsconfig.app.json b/typescript-router-vitest/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-vitest/tsconfig.app.json +++ b/typescript-router-vitest/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-vitest/tsconfig.node.json b/typescript-router-vitest/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-vitest/tsconfig.node.json +++ b/typescript-router-vitest/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router-with-tests/.gitignore b/typescript-router-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router-with-tests/.gitignore +++ b/typescript-router-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router-with-tests/package.json b/typescript-router-with-tests/package.json index a6b8084b..a0bd6b72 100644 --- a/typescript-router-with-tests/package.json +++ b/typescript-router-with-tests/package.json @@ -2,6 +2,7 @@ "name": "typescript-router-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,26 +11,26 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router-with-tests/src/assets/main.css b/typescript-router-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router-with-tests/src/assets/main.css +++ b/typescript-router-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router-with-tests/tsconfig.app.json b/typescript-router-with-tests/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router-with-tests/tsconfig.app.json +++ b/typescript-router-with-tests/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router-with-tests/tsconfig.json b/typescript-router-with-tests/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-router-with-tests/tsconfig.json +++ b/typescript-router-with-tests/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-router-with-tests/tsconfig.node.json b/typescript-router-with-tests/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router-with-tests/tsconfig.node.json +++ b/typescript-router-with-tests/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-router/.gitignore b/typescript-router/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-router/.gitignore +++ b/typescript-router/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-router/package.json b/typescript-router/package.json index 09688062..bbbcdbea 100644 --- a/typescript-router/package.json +++ b/typescript-router/package.json @@ -2,25 +2,26 @@ "name": "typescript-router", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4", + "vue": "^3.3.10", "vue-router": "^4.2.5" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-router/src/assets/main.css b/typescript-router/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-router/src/assets/main.css +++ b/typescript-router/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-router/tsconfig.app.json b/typescript-router/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-router/tsconfig.app.json +++ b/typescript-router/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-router/tsconfig.node.json b/typescript-router/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-router/tsconfig.node.json +++ b/typescript-router/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-vitest-cypress-nightwatch/.gitignore b/typescript-vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/typescript-vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/typescript-vitest-cypress-nightwatch/.vscode/extensions.json b/typescript-vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/typescript-vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/typescript-vitest-cypress-nightwatch/README.md b/typescript-vitest-cypress-nightwatch/README.md deleted file mode 100644 index f1f8f1fb..00000000 --- a/typescript-vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,85 +0,0 @@ -# typescript-vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/typescript-vitest-cypress-nightwatch/cypress.config.ts b/typescript-vitest-cypress-nightwatch/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-vitest-cypress-nightwatch/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts b/typescript-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-vitest-cypress-nightwatch/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json b/typescript-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-vitest-cypress-nightwatch/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-vitest-cypress-nightwatch/cypress/fixtures/example.json b/typescript-vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-vitest-cypress-nightwatch/cypress/support/commands.ts b/typescript-vitest-cypress-nightwatch/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-vitest-cypress-nightwatch/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-vitest-cypress-nightwatch/cypress/support/e2e.ts b/typescript-vitest-cypress-nightwatch/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-vitest-cypress-nightwatch/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-vitest-cypress-nightwatch/env.d.ts b/typescript-vitest-cypress-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-vitest-cypress-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-vitest-cypress-nightwatch/index.html b/typescript-vitest-cypress-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-vitest-cypress-nightwatch/nightwatch.conf.ts b/typescript-vitest-cypress-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-vitest-cypress-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-vitest-cypress-nightwatch/nightwatch/globals.js b/typescript-vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts b/typescript-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-vitest-cypress-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-vitest-cypress-nightwatch/nightwatch/tsconfig.json b/typescript-vitest-cypress-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-vitest-cypress-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-vitest-cypress-nightwatch/package.json b/typescript-vitest-cypress-nightwatch/package.json deleted file mode 100644 index a939b05b..00000000 --- a/typescript-vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "typescript-vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-vitest-cypress-nightwatch/public/favicon.ico b/typescript-vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-vitest-cypress-nightwatch/src/App.vue b/typescript-vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-vitest-cypress-nightwatch/src/assets/base.css b/typescript-vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-vitest-cypress-nightwatch/src/assets/logo.svg b/typescript-vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-vitest-cypress-nightwatch/src/assets/main.css b/typescript-vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-vitest-cypress-nightwatch/src/components/HelloWorld.vue b/typescript-vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-vitest-cypress-nightwatch/src/components/TheWelcome.vue b/typescript-vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/typescript-vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/typescript-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/typescript-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/typescript-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-vitest-cypress-nightwatch/src/main.ts b/typescript-vitest-cypress-nightwatch/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-vitest-cypress-nightwatch/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-vitest-cypress-nightwatch/tests/e2e/example.ts b/typescript-vitest-cypress-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-vitest-cypress-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-vitest-cypress-nightwatch/tsconfig.app.json b/typescript-vitest-cypress-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-vitest-cypress-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-vitest-cypress-nightwatch/tsconfig.json b/typescript-vitest-cypress-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-vitest-cypress-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-vitest-cypress-nightwatch/tsconfig.node.json b/typescript-vitest-cypress-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-vitest-cypress-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-vitest-cypress-nightwatch/tsconfig.vitest.json b/typescript-vitest-cypress-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-vitest-cypress-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-vitest-cypress-nightwatch/vite.config.ts b/typescript-vitest-cypress-nightwatch/vite.config.ts deleted file mode 100644 index be3cb9c5..00000000 --- a/typescript-vitest-cypress-nightwatch/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-vitest-cypress-nightwatch/vitest.config.ts b/typescript-vitest-cypress-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-vitest-cypress-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-vitest-cypress-playwright/.gitignore b/typescript-vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/typescript-vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/typescript-vitest-cypress-playwright/.vscode/extensions.json b/typescript-vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/typescript-vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/typescript-vitest-cypress-playwright/README.md b/typescript-vitest-cypress-playwright/README.md deleted file mode 100644 index 7b4e4918..00000000 --- a/typescript-vitest-cypress-playwright/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# typescript-vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-vitest-cypress-playwright/cypress.config.ts b/typescript-vitest-cypress-playwright/cypress.config.ts deleted file mode 100644 index 0f66080f..00000000 --- a/typescript-vitest-cypress-playwright/cypress.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/typescript-vitest-cypress-playwright/cypress/e2e/example.cy.ts b/typescript-vitest-cypress-playwright/cypress/e2e/example.cy.ts deleted file mode 100644 index 7554c35d..00000000 --- a/typescript-vitest-cypress-playwright/cypress/e2e/example.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/typescript-vitest-cypress-playwright/cypress/e2e/tsconfig.json b/typescript-vitest-cypress-playwright/cypress/e2e/tsconfig.json deleted file mode 100644 index 37748feb..00000000 --- a/typescript-vitest-cypress-playwright/cypress/e2e/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["./**/*", "../support/**/*"], - "compilerOptions": { - "isolatedModules": false, - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - } -} diff --git a/typescript-vitest-cypress-playwright/cypress/fixtures/example.json b/typescript-vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/typescript-vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/typescript-vitest-cypress-playwright/cypress/support/commands.ts b/typescript-vitest-cypress-playwright/cypress/support/commands.ts deleted file mode 100644 index 9b7bb8e2..00000000 --- a/typescript-vitest-cypress-playwright/cypress/support/commands.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -// *********************************************** -// This example commands.ts shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -// -// declare global { -// namespace Cypress { -// interface Chainable { -// login(email: string, password: string): Chainable -// drag(subject: string, options?: Partial): Chainable -// dismiss(subject: string, options?: Partial): Chainable -// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable -// } -// } -// } - -export {} diff --git a/typescript-vitest-cypress-playwright/cypress/support/e2e.ts b/typescript-vitest-cypress-playwright/cypress/support/e2e.ts deleted file mode 100644 index d68db96d..00000000 --- a/typescript-vitest-cypress-playwright/cypress/support/e2e.ts +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/typescript-vitest-cypress-playwright/e2e/tsconfig.json b/typescript-vitest-cypress-playwright/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-vitest-cypress-playwright/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-vitest-cypress-playwright/e2e/vue.spec.ts b/typescript-vitest-cypress-playwright/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-vitest-cypress-playwright/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-vitest-cypress-playwright/env.d.ts b/typescript-vitest-cypress-playwright/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-vitest-cypress-playwright/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-vitest-cypress-playwright/index.html b/typescript-vitest-cypress-playwright/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-vitest-cypress-playwright/package.json b/typescript-vitest-cypress-playwright/package.json deleted file mode 100644 index ef0967f8..00000000 --- a/typescript-vitest-cypress-playwright/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "typescript-vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" - } -} diff --git a/typescript-vitest-cypress-playwright/playwright.config.ts b/typescript-vitest-cypress-playwright/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-vitest-cypress-playwright/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-vitest-cypress-playwright/public/favicon.ico b/typescript-vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-vitest-cypress-playwright/src/App.vue b/typescript-vitest-cypress-playwright/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-vitest-cypress-playwright/src/assets/base.css b/typescript-vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-vitest-cypress-playwright/src/assets/logo.svg b/typescript-vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-vitest-cypress-playwright/src/assets/main.css b/typescript-vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-vitest-cypress-playwright/src/components/HelloWorld.vue b/typescript-vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-vitest-cypress-playwright/src/components/TheWelcome.vue b/typescript-vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-vitest-cypress-playwright/src/components/WelcomeItem.vue b/typescript-vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts b/typescript-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/typescript-vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/typescript-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/typescript-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-cypress-playwright/src/components/icons/IconSupport.vue b/typescript-vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-cypress-playwright/src/components/icons/IconTooling.vue b/typescript-vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-vitest-cypress-playwright/src/main.ts b/typescript-vitest-cypress-playwright/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-vitest-cypress-playwright/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-vitest-cypress-playwright/tsconfig.app.json b/typescript-vitest-cypress-playwright/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-vitest-cypress-playwright/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-vitest-cypress-playwright/tsconfig.json b/typescript-vitest-cypress-playwright/tsconfig.json deleted file mode 100644 index 100cf6a8..00000000 --- a/typescript-vitest-cypress-playwright/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - } - ] -} diff --git a/typescript-vitest-cypress-playwright/tsconfig.node.json b/typescript-vitest-cypress-playwright/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-vitest-cypress-playwright/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-vitest-cypress-playwright/tsconfig.vitest.json b/typescript-vitest-cypress-playwright/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-vitest-cypress-playwright/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-vitest-cypress-playwright/vite.config.ts b/typescript-vitest-cypress-playwright/vite.config.ts deleted file mode 100644 index 5c45e1d9..00000000 --- a/typescript-vitest-cypress-playwright/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-vitest-cypress-playwright/vitest.config.ts b/typescript-vitest-cypress-playwright/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-vitest-cypress-playwright/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-vitest-cypress/.gitignore b/typescript-vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-vitest-cypress/.gitignore +++ b/typescript-vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-vitest-cypress/package.json b/typescript-vitest-cypress/package.json index 193e205e..2b621302 100644 --- a/typescript-vitest-cypress/package.json +++ b/typescript-vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "typescript-vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,25 +11,25 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-vitest-cypress/src/assets/main.css b/typescript-vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-vitest-cypress/src/assets/main.css +++ b/typescript-vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-vitest-cypress/tsconfig.app.json b/typescript-vitest-cypress/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-vitest-cypress/tsconfig.app.json +++ b/typescript-vitest-cypress/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-vitest-cypress/tsconfig.json b/typescript-vitest-cypress/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-vitest-cypress/tsconfig.json +++ b/typescript-vitest-cypress/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-vitest-cypress/tsconfig.node.json b/typescript-vitest-cypress/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-vitest-cypress/tsconfig.node.json +++ b/typescript-vitest-cypress/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-vitest-nightwatch/.gitignore b/typescript-vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/typescript-vitest-nightwatch/.gitignore +++ b/typescript-vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/typescript-vitest-nightwatch/nightwatch.conf.ts b/typescript-vitest-nightwatch/nightwatch.conf.ts index 8ff17000..05889c61 100644 --- a/typescript-vitest-nightwatch/nightwatch.conf.ts +++ b/typescript-vitest-nightwatch/nightwatch.conf.ts @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/typescript-vitest-nightwatch/nightwatch/globals.js b/typescript-vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-vitest-nightwatch/nightwatch/tsconfig.json b/typescript-vitest-nightwatch/nightwatch/tsconfig.json index 652d9bd6..ca4be1af 100644 --- a/typescript-vitest-nightwatch/nightwatch/tsconfig.json +++ b/typescript-vitest-nightwatch/nightwatch/tsconfig.json @@ -3,14 +3,16 @@ "compilerOptions": { "target": "ESNext", "module": "commonjs", + "moduleResolution": "node", "composite": true, + "noEmit": true, "rootDir": "../", "lib": ["ESNext", "dom"], "types": ["nightwatch"] }, "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], "ts-node": { - "files": true + "transpileOnly": true }, "files": ["nightwatch.d.ts"] } diff --git a/typescript-vitest-nightwatch/package.json b/typescript-vitest-nightwatch/package.json index 471170d9..d4480788 100644 --- a/typescript-vitest-nightwatch/package.json +++ b/typescript-vitest-nightwatch/package.json @@ -2,37 +2,38 @@ "name": "typescript-vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", + "test:e2e": "nightwatch tests/e2e/*", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", + "@nightwatch/vue": "^0.4.5", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/nightwatch": "^2.3.30", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "npm-run-all2": "^6.1.1", "ts-node": "^10.9.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-vitest-nightwatch/src/assets/main.css b/typescript-vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-vitest-nightwatch/src/assets/main.css +++ b/typescript-vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-vitest-nightwatch/tests/e2e/example.ts b/typescript-vitest-nightwatch/tests/e2e/example.ts index cf2e3c86..43be3fce 100644 --- a/typescript-vitest-nightwatch/tests/e2e/example.ts +++ b/typescript-vitest-nightwatch/tests/e2e/example.ts @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/typescript-vitest-nightwatch/tsconfig.app.json b/typescript-vitest-nightwatch/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-vitest-nightwatch/tsconfig.app.json +++ b/typescript-vitest-nightwatch/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-vitest-nightwatch/tsconfig.node.json b/typescript-vitest-nightwatch/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-vitest-nightwatch/tsconfig.node.json +++ b/typescript-vitest-nightwatch/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-vitest-playwright-nightwatch/.gitignore b/typescript-vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/typescript-vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/typescript-vitest-playwright-nightwatch/.vscode/extensions.json b/typescript-vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/typescript-vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/typescript-vitest-playwright-nightwatch/README.md b/typescript-vitest-playwright-nightwatch/README.md deleted file mode 100644 index bfa124d0..00000000 --- a/typescript-vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# typescript-vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Type Support for `.vue` Imports in TS - -TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. - -If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: - -1. Disable the built-in TypeScript Extension - 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette - 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` -2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Type-Check, Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/typescript-vitest-playwright-nightwatch/e2e/tsconfig.json b/typescript-vitest-playwright-nightwatch/e2e/tsconfig.json deleted file mode 100644 index 99923aba..00000000 --- a/typescript-vitest-playwright-nightwatch/e2e/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": ["./**/*"] -} diff --git a/typescript-vitest-playwright-nightwatch/e2e/vue.spec.ts b/typescript-vitest-playwright-nightwatch/e2e/vue.spec.ts deleted file mode 100644 index 3e5a3d02..00000000 --- a/typescript-vitest-playwright-nightwatch/e2e/vue.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { test, expect } from '@playwright/test'; - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/typescript-vitest-playwright-nightwatch/env.d.ts b/typescript-vitest-playwright-nightwatch/env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/typescript-vitest-playwright-nightwatch/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/typescript-vitest-playwright-nightwatch/index.html b/typescript-vitest-playwright-nightwatch/index.html deleted file mode 100644 index a8885448..00000000 --- a/typescript-vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/typescript-vitest-playwright-nightwatch/nightwatch.conf.ts b/typescript-vitest-playwright-nightwatch/nightwatch.conf.ts deleted file mode 100644 index 8ff17000..00000000 --- a/typescript-vitest-playwright-nightwatch/nightwatch.conf.ts +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/typescript-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts b/typescript-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts deleted file mode 100644 index 13577288..00000000 --- a/typescript-vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - */ - -exports.assertion = function elementHasCount(selector: string, count: number) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value: any) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result: Record) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector: string) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback: () => void) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/typescript-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts b/typescript-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts deleted file mode 100644 index 37b49209..00000000 --- a/typescript-vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - */ - -module.exports = { - command: function (selector: string) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/typescript-vitest-playwright-nightwatch/nightwatch/globals.js b/typescript-vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/typescript-vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/typescript-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts b/typescript-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts deleted file mode 100644 index ea1f6066..00000000 --- a/typescript-vitest-playwright-nightwatch/nightwatch/nightwatch.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NightwatchCustomAssertions, NightwatchCustomCommands } from 'nightwatch' - -declare module 'nightwatch' { - interface NightwatchCustomAssertions { - elementHasCount: (selector: string, count: number) => NightwatchBrowser - } - - interface NightwatchCustomCommands { - strictClick: (selector: string) => NightwatchBrowser - } -} diff --git a/typescript-vitest-playwright-nightwatch/nightwatch/tsconfig.json b/typescript-vitest-playwright-nightwatch/nightwatch/tsconfig.json deleted file mode 100644 index 652d9bd6..00000000 --- a/typescript-vitest-playwright-nightwatch/nightwatch/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "compilerOptions": { - "target": "ESNext", - "module": "commonjs", - "composite": true, - "rootDir": "../", - "lib": ["ESNext", "dom"], - "types": ["nightwatch"] - }, - "include": ["../node_modules/@nightwatch/**/*", "../src/components/**/*", "../tests/e2e/**/*"], - "ts-node": { - "files": true - }, - "files": ["nightwatch.d.ts"] -} diff --git a/typescript-vitest-playwright-nightwatch/package.json b/typescript-vitest-playwright-nightwatch/package.json deleted file mode 100644 index da922425..00000000 --- a/typescript-vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "typescript-vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "run-p type-check \"build-only {@}\" --", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/nightwatch": "^2.3.26", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "npm-run-all2": "^6.1.1", - "ts-node": "^10.9.1", - "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19", - "wait-on": "^7.0.1" - } -} diff --git a/typescript-vitest-playwright-nightwatch/playwright.config.ts b/typescript-vitest-playwright-nightwatch/playwright.config.ts deleted file mode 100644 index 333a4dc0..00000000 --- a/typescript-vitest-playwright-nightwatch/playwright.config.ts +++ /dev/null @@ -1,112 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -export default config diff --git a/typescript-vitest-playwright-nightwatch/public/favicon.ico b/typescript-vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/typescript-vitest-playwright-nightwatch/src/App.vue b/typescript-vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index d05208d6..00000000 --- a/typescript-vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/typescript-vitest-playwright-nightwatch/src/assets/base.css b/typescript-vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/typescript-vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/typescript-vitest-playwright-nightwatch/src/assets/logo.svg b/typescript-vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/typescript-vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/typescript-vitest-playwright-nightwatch/src/assets/main.css b/typescript-vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/typescript-vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/typescript-vitest-playwright-nightwatch/src/components/HelloWorld.vue b/typescript-vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index e1a721cc..00000000 --- a/typescript-vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/typescript-vitest-playwright-nightwatch/src/components/TheWelcome.vue b/typescript-vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index 49d8f735..00000000 --- a/typescript-vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/typescript-vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/typescript-vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/typescript-vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/typescript-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts b/typescript-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts deleted file mode 100644 index 25332020..00000000 --- a/typescript-vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/typescript-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/typescript-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/typescript-vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/typescript-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/typescript-vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/typescript-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/typescript-vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/typescript-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/typescript-vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/typescript-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/typescript-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/typescript-vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/typescript-vitest-playwright-nightwatch/src/main.ts b/typescript-vitest-playwright-nightwatch/src/main.ts deleted file mode 100644 index 0ac3a5ff..00000000 --- a/typescript-vitest-playwright-nightwatch/src/main.ts +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/typescript-vitest-playwright-nightwatch/tests/e2e/example.ts b/typescript-vitest-playwright-nightwatch/tests/e2e/example.ts deleted file mode 100644 index cf2e3c86..00000000 --- a/typescript-vitest-playwright-nightwatch/tests/e2e/example.ts +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/typescript-vitest-playwright-nightwatch/tsconfig.app.json b/typescript-vitest-playwright-nightwatch/tsconfig.app.json deleted file mode 100644 index 3e5b621e..00000000 --- a/typescript-vitest-playwright-nightwatch/tsconfig.app.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "exclude": ["src/**/__tests__/*"], - "compilerOptions": { - "composite": true, - "baseUrl": ".", - "paths": { - "@/*": ["./src/*"] - } - } -} diff --git a/typescript-vitest-playwright-nightwatch/tsconfig.json b/typescript-vitest-playwright-nightwatch/tsconfig.json deleted file mode 100644 index a5352e66..00000000 --- a/typescript-vitest-playwright-nightwatch/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "files": [], - "references": [ - { - "path": "./tsconfig.node.json" - }, - { - "path": "./tsconfig.app.json" - }, - { - "path": "./tsconfig.vitest.json" - }, - { - "path": "./nightwatch/tsconfig.json" - } - ] -} diff --git a/typescript-vitest-playwright-nightwatch/tsconfig.node.json b/typescript-vitest-playwright-nightwatch/tsconfig.node.json deleted file mode 100644 index dee96bed..00000000 --- a/typescript-vitest-playwright-nightwatch/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "@tsconfig/node18/tsconfig.json", - "include": [ - "vite.config.*", - "vitest.config.*", - "cypress.config.*", - "nightwatch.conf.*", - "playwright.config.*" - ], - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Bundler", - "types": ["node"] - } -} diff --git a/typescript-vitest-playwright-nightwatch/tsconfig.vitest.json b/typescript-vitest-playwright-nightwatch/tsconfig.vitest.json deleted file mode 100644 index d080d611..00000000 --- a/typescript-vitest-playwright-nightwatch/tsconfig.vitest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.app.json", - "exclude": [], - "compilerOptions": { - "composite": true, - "lib": [], - "types": ["node", "jsdom"] - } -} diff --git a/typescript-vitest-playwright-nightwatch/vite.config.ts b/typescript-vitest-playwright-nightwatch/vite.config.ts deleted file mode 100644 index be3cb9c5..00000000 --- a/typescript-vitest-playwright-nightwatch/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/typescript-vitest-playwright-nightwatch/vitest.config.ts b/typescript-vitest-playwright-nightwatch/vitest.config.ts deleted file mode 100644 index 10067d57..00000000 --- a/typescript-vitest-playwright-nightwatch/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/typescript-vitest-playwright/.gitignore b/typescript-vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/typescript-vitest-playwright/.gitignore +++ b/typescript-vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/typescript-vitest-playwright/package.json b/typescript-vitest-playwright/package.json index 9306f670..645b0ff2 100644 --- a/typescript-vitest-playwright/package.json +++ b/typescript-vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "typescript-vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -9,24 +10,24 @@ "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", + "@playwright/test": "^1.40.1", "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-vitest-playwright/playwright.config.ts b/typescript-vitest-playwright/playwright.config.ts index 333a4dc0..ad20dabc 100644 --- a/typescript-vitest-playwright/playwright.config.ts +++ b/typescript-vitest-playwright/playwright.config.ts @@ -1,5 +1,4 @@ -import type { PlaywrightTestConfig } from '@playwright/test' -import { devices } from '@playwright/test' +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -10,7 +9,7 @@ import { devices } from '@playwright/test' /** * See https://playwright.dev/docs/test-configuration. */ -const config: PlaywrightTestConfig = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -101,12 +100,10 @@ const config: PlaywrightTestConfig = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. - Playwright will re-use the local server if there is already a dev-server running. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -export default config +}) diff --git a/typescript-vitest-playwright/src/assets/main.css b/typescript-vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-vitest-playwright/src/assets/main.css +++ b/typescript-vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-vitest-playwright/tsconfig.app.json b/typescript-vitest-playwright/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-vitest-playwright/tsconfig.app.json +++ b/typescript-vitest-playwright/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-vitest-playwright/tsconfig.node.json b/typescript-vitest-playwright/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-vitest-playwright/tsconfig.node.json +++ b/typescript-vitest-playwright/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-vitest/.gitignore b/typescript-vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-vitest/.gitignore +++ b/typescript-vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-vitest/package.json b/typescript-vitest/package.json index 48054b99..8a61f3a9 100644 --- a/typescript-vitest/package.json +++ b/typescript-vitest/package.json @@ -2,29 +2,30 @@ "name": "typescript-vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "jsdom": "^22.1.0", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-vitest/src/assets/main.css b/typescript-vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-vitest/src/assets/main.css +++ b/typescript-vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-vitest/tsconfig.app.json b/typescript-vitest/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-vitest/tsconfig.app.json +++ b/typescript-vitest/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-vitest/tsconfig.node.json b/typescript-vitest/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-vitest/tsconfig.node.json +++ b/typescript-vitest/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript-with-tests/.gitignore b/typescript-with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript-with-tests/.gitignore +++ b/typescript-with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript-with-tests/package.json b/typescript-with-tests/package.json index 6a5d9fa9..521fdf17 100644 --- a/typescript-with-tests/package.json +++ b/typescript-with-tests/package.json @@ -2,6 +2,7 @@ "name": "typescript-with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", @@ -10,25 +11,25 @@ "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/jsdom": "^21.1.3", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", + "@types/jsdom": "^21.1.6", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", "@vue/tsconfig": "^0.4.0", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", "npm-run-all2": "^6.1.1", - "start-server-and-test": "^2.0.1", + "start-server-and-test": "^2.0.3", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vitest": "^1.0.1", + "vue-tsc": "^1.8.25" } } diff --git a/typescript-with-tests/src/assets/main.css b/typescript-with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript-with-tests/src/assets/main.css +++ b/typescript-with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript-with-tests/tsconfig.app.json b/typescript-with-tests/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript-with-tests/tsconfig.app.json +++ b/typescript-with-tests/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript-with-tests/tsconfig.json b/typescript-with-tests/tsconfig.json index 100cf6a8..5304731b 100644 --- a/typescript-with-tests/tsconfig.json +++ b/typescript-with-tests/tsconfig.json @@ -10,5 +10,8 @@ { "path": "./tsconfig.vitest.json" } - ] + ], + "compilerOptions": { + "module": "NodeNext" + } } diff --git a/typescript-with-tests/tsconfig.node.json b/typescript-with-tests/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript-with-tests/tsconfig.node.json +++ b/typescript-with-tests/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/typescript/.gitignore b/typescript/.gitignore index 38adffa6..8ee54e8d 100644 --- a/typescript/.gitignore +++ b/typescript/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/typescript/package.json b/typescript/package.json index 21baaa34..2a56f858 100644 --- a/typescript/package.json +++ b/typescript/package.json @@ -2,24 +2,25 @@ "name": "typescript", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", - "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "type-check": "vue-tsc --build --force" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { "@tsconfig/node18": "^18.2.2", - "@types/node": "^18.18.5", - "@vitejs/plugin-vue": "^4.4.0", + "@types/node": "^18.19.2", + "@vitejs/plugin-vue": "^4.5.1", "@vue/tsconfig": "^0.4.0", "npm-run-all2": "^6.1.1", "typescript": "~5.2.0", - "vite": "^4.4.11", - "vue-tsc": "^1.8.19" + "vite": "^5.0.5", + "vue-tsc": "^1.8.25" } } diff --git a/typescript/src/assets/main.css b/typescript/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/typescript/src/assets/main.css +++ b/typescript/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/typescript/tsconfig.app.json b/typescript/tsconfig.app.json index 3e5b621e..491e0939 100644 --- a/typescript/tsconfig.app.json +++ b/typescript/tsconfig.app.json @@ -4,6 +4,7 @@ "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, + "noEmit": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] diff --git a/typescript/tsconfig.node.json b/typescript/tsconfig.node.json index dee96bed..46cf2e14 100644 --- a/typescript/tsconfig.node.json +++ b/typescript/tsconfig.node.json @@ -9,6 +9,7 @@ ], "compilerOptions": { "composite": true, + "noEmit": true, "module": "ESNext", "moduleResolution": "Bundler", "types": ["node"] diff --git a/vitest-cypress-nightwatch/.gitignore b/vitest-cypress-nightwatch/.gitignore deleted file mode 100644 index eee36aa1..00000000 --- a/vitest-cypress-nightwatch/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ diff --git a/vitest-cypress-nightwatch/.vscode/extensions.json b/vitest-cypress-nightwatch/.vscode/extensions.json deleted file mode 100644 index 5306b066..00000000 --- a/vitest-cypress-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch" - ] -} diff --git a/vitest-cypress-nightwatch/README.md b/vitest-cypress-nightwatch/README.md deleted file mode 100644 index 8af19297..00000000 --- a/vitest-cypress-nightwatch/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# vitest-cypress-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` diff --git a/vitest-cypress-nightwatch/cypress.config.js b/vitest-cypress-nightwatch/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/vitest-cypress-nightwatch/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/vitest-cypress-nightwatch/cypress/e2e/example.cy.js b/vitest-cypress-nightwatch/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/vitest-cypress-nightwatch/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/vitest-cypress-nightwatch/cypress/e2e/jsconfig.json b/vitest-cypress-nightwatch/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/vitest-cypress-nightwatch/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/vitest-cypress-nightwatch/cypress/fixtures/example.json b/vitest-cypress-nightwatch/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/vitest-cypress-nightwatch/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/vitest-cypress-nightwatch/cypress/support/commands.js b/vitest-cypress-nightwatch/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/vitest-cypress-nightwatch/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/vitest-cypress-nightwatch/cypress/support/e2e.js b/vitest-cypress-nightwatch/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/vitest-cypress-nightwatch/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/vitest-cypress-nightwatch/index.html b/vitest-cypress-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/vitest-cypress-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/vitest-cypress-nightwatch/nightwatch.conf.js b/vitest-cypress-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/vitest-cypress-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/vitest-cypress-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js b/vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/vitest-cypress-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/vitest-cypress-nightwatch/nightwatch/globals.js b/vitest-cypress-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/vitest-cypress-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/vitest-cypress-nightwatch/package.json b/vitest-cypress-nightwatch/package.json deleted file mode 100644 index f1111644..00000000 --- a/vitest-cypress-nightwatch/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "vitest-cypress-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "cypress": "^13.3.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "start-server-and-test": "^2.0.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/vitest-cypress-nightwatch/public/favicon.ico b/vitest-cypress-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/vitest-cypress-nightwatch/src/App.vue b/vitest-cypress-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/vitest-cypress-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/vitest-cypress-nightwatch/src/assets/base.css b/vitest-cypress-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/vitest-cypress-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/vitest-cypress-nightwatch/src/assets/logo.svg b/vitest-cypress-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/vitest-cypress-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/vitest-cypress-nightwatch/src/assets/main.css b/vitest-cypress-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/vitest-cypress-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/vitest-cypress-nightwatch/src/components/HelloWorld.vue b/vitest-cypress-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/vitest-cypress-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/vitest-cypress-nightwatch/src/components/TheWelcome.vue b/vitest-cypress-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/vitest-cypress-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/vitest-cypress-nightwatch/src/components/WelcomeItem.vue b/vitest-cypress-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/vitest-cypress-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js b/vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/vitest-cypress-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue b/vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/vitest-cypress-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue b/vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/vitest-cypress-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue b/vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/vitest-cypress-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-cypress-nightwatch/src/components/icons/IconSupport.vue b/vitest-cypress-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/vitest-cypress-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-cypress-nightwatch/src/components/icons/IconTooling.vue b/vitest-cypress-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/vitest-cypress-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/vitest-cypress-nightwatch/src/main.js b/vitest-cypress-nightwatch/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/vitest-cypress-nightwatch/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/vitest-cypress-nightwatch/tests/e2e/example.js b/vitest-cypress-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/vitest-cypress-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/vitest-cypress-nightwatch/vite.config.js b/vitest-cypress-nightwatch/vite.config.js deleted file mode 100644 index be3cb9c5..00000000 --- a/vitest-cypress-nightwatch/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/vitest-cypress-nightwatch/vitest.config.js b/vitest-cypress-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/vitest-cypress-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/vitest-cypress-playwright/.gitignore b/vitest-cypress-playwright/.gitignore deleted file mode 100644 index 719bf30c..00000000 --- a/vitest-cypress-playwright/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -test-results/ -playwright-report/ diff --git a/vitest-cypress-playwright/.vscode/extensions.json b/vitest-cypress-playwright/.vscode/extensions.json deleted file mode 100644 index 2d5fffc2..00000000 --- a/vitest-cypress-playwright/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "ms-playwright.playwright" - ] -} diff --git a/vitest-cypress-playwright/README.md b/vitest-cypress-playwright/README.md deleted file mode 100644 index 5075e936..00000000 --- a/vitest-cypress-playwright/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# vitest-cypress-playwright - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Cypress](https://www.cypress.io/) - -```sh -pnpm test:e2e:dev -``` - -This runs the end-to-end tests against the Vite development server. -It is much faster than the production build. - -But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): - -```sh -pnpm build -pnpm test:e2e -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/vitest-cypress-playwright/cypress.config.js b/vitest-cypress-playwright/cypress.config.js deleted file mode 100644 index 9cf6a199..00000000 --- a/vitest-cypress-playwright/cypress.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', - baseUrl: 'http://localhost:4173' - } -}) diff --git a/vitest-cypress-playwright/cypress/e2e/example.cy.js b/vitest-cypress-playwright/cypress/e2e/example.cy.js deleted file mode 100644 index 7554c35d..00000000 --- a/vitest-cypress-playwright/cypress/e2e/example.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -// https://on.cypress.io/api - -describe('My First Test', () => { - it('visits the app root url', () => { - cy.visit('/') - cy.contains('h1', 'You did it!') - }) -}) diff --git a/vitest-cypress-playwright/cypress/e2e/jsconfig.json b/vitest-cypress-playwright/cypress/e2e/jsconfig.json deleted file mode 100644 index c790a70d..00000000 --- a/vitest-cypress-playwright/cypress/e2e/jsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": ["es5", "dom"], - "types": ["cypress"] - }, - "include": ["./**/*", "../support/**/*"] -} diff --git a/vitest-cypress-playwright/cypress/fixtures/example.json b/vitest-cypress-playwright/cypress/fixtures/example.json deleted file mode 100644 index 02e42543..00000000 --- a/vitest-cypress-playwright/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} diff --git a/vitest-cypress-playwright/cypress/support/commands.js b/vitest-cypress-playwright/cypress/support/commands.js deleted file mode 100644 index 119ab03f..00000000 --- a/vitest-cypress-playwright/cypress/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/vitest-cypress-playwright/cypress/support/e2e.js b/vitest-cypress-playwright/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/vitest-cypress-playwright/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/vitest-cypress-playwright/e2e/vue.spec.js b/vitest-cypress-playwright/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/vitest-cypress-playwright/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/vitest-cypress-playwright/index.html b/vitest-cypress-playwright/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/vitest-cypress-playwright/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/vitest-cypress-playwright/package.json b/vitest-cypress-playwright/package.json deleted file mode 100644 index 9e6b868d..00000000 --- a/vitest-cypress-playwright/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "vitest-cypress-playwright", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test", - "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" - } -} diff --git a/vitest-cypress-playwright/playwright.config.js b/vitest-cypress-playwright/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/vitest-cypress-playwright/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/vitest-cypress-playwright/public/favicon.ico b/vitest-cypress-playwright/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/vitest-cypress-playwright/src/App.vue b/vitest-cypress-playwright/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/vitest-cypress-playwright/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/vitest-cypress-playwright/src/assets/base.css b/vitest-cypress-playwright/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/vitest-cypress-playwright/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/vitest-cypress-playwright/src/assets/logo.svg b/vitest-cypress-playwright/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/vitest-cypress-playwright/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/vitest-cypress-playwright/src/assets/main.css b/vitest-cypress-playwright/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/vitest-cypress-playwright/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/vitest-cypress-playwright/src/components/HelloWorld.vue b/vitest-cypress-playwright/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/vitest-cypress-playwright/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/vitest-cypress-playwright/src/components/TheWelcome.vue b/vitest-cypress-playwright/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/vitest-cypress-playwright/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/vitest-cypress-playwright/src/components/WelcomeItem.vue b/vitest-cypress-playwright/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/vitest-cypress-playwright/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js b/vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/vitest-cypress-playwright/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/vitest-cypress-playwright/src/components/icons/IconCommunity.vue b/vitest-cypress-playwright/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/vitest-cypress-playwright/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-cypress-playwright/src/components/icons/IconDocumentation.vue b/vitest-cypress-playwright/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/vitest-cypress-playwright/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-cypress-playwright/src/components/icons/IconEcosystem.vue b/vitest-cypress-playwright/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/vitest-cypress-playwright/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-cypress-playwright/src/components/icons/IconSupport.vue b/vitest-cypress-playwright/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/vitest-cypress-playwright/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-cypress-playwright/src/components/icons/IconTooling.vue b/vitest-cypress-playwright/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/vitest-cypress-playwright/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/vitest-cypress-playwright/src/main.js b/vitest-cypress-playwright/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/vitest-cypress-playwright/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/vitest-cypress-playwright/vite.config.js b/vitest-cypress-playwright/vite.config.js deleted file mode 100644 index 5c45e1d9..00000000 --- a/vitest-cypress-playwright/vite.config.js +++ /dev/null @@ -1,16 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/vitest-cypress-playwright/vitest.config.js b/vitest-cypress-playwright/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/vitest-cypress-playwright/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/vitest-cypress/.gitignore b/vitest-cypress/.gitignore index 38adffa6..8ee54e8d 100644 --- a/vitest-cypress/.gitignore +++ b/vitest-cypress/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/vitest-cypress/cypress.config.js b/vitest-cypress/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/vitest-cypress/cypress.config.js +++ b/vitest-cypress/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/vitest-cypress/jsconfig.json b/vitest-cypress/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/vitest-cypress/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/vitest-cypress/package.json b/vitest-cypress/package.json index 54187760..16608b46 100644 --- a/vitest-cypress/package.json +++ b/vitest-cypress/package.json @@ -2,6 +2,7 @@ "name": "vitest-cypress", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,15 +12,15 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/vitest-cypress/src/assets/main.css b/vitest-cypress/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/vitest-cypress/src/assets/main.css +++ b/vitest-cypress/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/vitest-nightwatch/.gitignore b/vitest-nightwatch/.gitignore index eee36aa1..0b938f13 100644 --- a/vitest-nightwatch/.gitignore +++ b/vitest-nightwatch/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + logs/ tests_output/ diff --git a/vitest-nightwatch/jsconfig.json b/vitest-nightwatch/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/vitest-nightwatch/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/vitest-nightwatch/nightwatch.conf.js b/vitest-nightwatch/nightwatch.conf.js index 8ff17000..05889c61 100644 --- a/vitest-nightwatch/nightwatch.conf.js +++ b/vitest-nightwatch/nightwatch.conf.js @@ -30,10 +30,11 @@ module.exports = { plugins: ['@nightwatch/vue'], // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', + globals_path: '', vite_dev_server: { - start_vite: false + start_vite: true, + port: process.env.CI ? 4173 : 5173 }, webdriver: {}, diff --git a/vitest-nightwatch/nightwatch/globals.js b/vitest-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/vitest-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/vitest-nightwatch/package.json b/vitest-nightwatch/package.json index 64fd84c3..b956353f 100644 --- a/vitest-nightwatch/package.json +++ b/vitest-nightwatch/package.json @@ -2,28 +2,29 @@ "name": "vitest-nightwatch", "version": "0.0.0", "private": true, + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview", "test:unit": "vitest", - "test:e2e": "nightwatch tests/e2e" + "test:e2e": "nightwatch tests/e2e/*" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", + "@nightwatch/vue": "^0.4.5", + "@types/nightwatch": "^2.3.30", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "chromedriver": "^119.0.1", "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", + "jsdom": "^23.0.1", + "nightwatch": "^3.3.2", "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" + "vite": "^5.0.5", + "vite-plugin-nightwatch": "^0.4.5", + "vitest": "^1.0.1" } } diff --git a/vitest-nightwatch/src/assets/main.css b/vitest-nightwatch/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/vitest-nightwatch/src/assets/main.css +++ b/vitest-nightwatch/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/vitest-nightwatch/tests/e2e/example.js b/vitest-nightwatch/tests/e2e/example.js index cf2e3c86..43be3fce 100644 --- a/vitest-nightwatch/tests/e2e/example.js +++ b/vitest-nightwatch/tests/e2e/example.js @@ -4,10 +4,7 @@ describe('My First Test', function () { }) it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') + browser.assert.textContains('.green', 'You did it!') }) after((browser) => browser.end()) diff --git a/vitest-playwright-nightwatch/.gitignore b/vitest-playwright-nightwatch/.gitignore deleted file mode 100644 index a781315a..00000000 --- a/vitest-playwright-nightwatch/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -.DS_Store -dist -dist-ssr -coverage -*.local - -/cypress/videos/ -/cypress/screenshots/ - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -logs/ -tests_output/ - -test-results/ -playwright-report/ diff --git a/vitest-playwright-nightwatch/.vscode/extensions.json b/vitest-playwright-nightwatch/.vscode/extensions.json deleted file mode 100644 index bc59de2d..00000000 --- a/vitest-playwright-nightwatch/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "Vue.vscode-typescript-vue-plugin", - "browserstackcom.nightwatch", - "ms-playwright.playwright" - ] -} diff --git a/vitest-playwright-nightwatch/README.md b/vitest-playwright-nightwatch/README.md deleted file mode 100644 index 0cc350ae..00000000 --- a/vitest-playwright-nightwatch/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# vitest-playwright-nightwatch - -This template should help get you started developing with Vue 3 in Vite. - -## Recommended IDE Setup - -[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). - -## Customize configuration - -See [Vite Configuration Reference](https://vitejs.dev/config/). - -## Project Setup - -```sh -pnpm install -``` - -### Compile and Hot-Reload for Development - -```sh -pnpm dev -``` - -### Compile and Minify for Production - -```sh -pnpm build -``` - -### Run Unit Tests with [Vitest](https://vitest.dev/) - -```sh -pnpm test:unit -``` - -### Run End-to-End Tests with [Nightwatch](https://nightwatchjs.org/) - -```sh -# When using CI, the project must be built first. -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chrome -pnpm test:e2e --env chrome -# Runs the tests of a specific file -pnpm test:e2e tests/e2e/example.js -# Runs the tests in debug mode -pnpm test:e2e --debug -``` - -### Run Headed Component Tests with [Nightwatch Component Testing](https://nightwatchjs.org/guide/component-testing/introduction.html) - -```sh -pnpm test:unit -pnpm test:unit -- --headless # for headless testing -``` - -### Run End-to-End Tests with [Playwright](https://playwright.dev) - -```sh -# Install browsers for the first run -npx playwright install - -# When testing on CI, must build the project first -pnpm build - -# Runs the end-to-end tests -pnpm test:e2e -# Runs the tests only on Chromium -pnpm test:e2e --project=chromium -# Runs the tests of a specific file -pnpm test:e2e tests/example.spec.ts -# Runs the tests in debug mode -pnpm test:e2e --debug -``` diff --git a/vitest-playwright-nightwatch/e2e/vue.spec.js b/vitest-playwright-nightwatch/e2e/vue.spec.js deleted file mode 100644 index 3d62e3e5..00000000 --- a/vitest-playwright-nightwatch/e2e/vue.spec.js +++ /dev/null @@ -1,8 +0,0 @@ -const { test, expect } = require('@playwright/test'); - -// See here how to get started: -// https://playwright.dev/docs/intro -test('visits the app root url', async ({ page }) => { - await page.goto('/'); - await expect(page.locator('div.greetings > h1')).toHaveText('You did it!'); -}) diff --git a/vitest-playwright-nightwatch/index.html b/vitest-playwright-nightwatch/index.html deleted file mode 100644 index 99f583aa..00000000 --- a/vitest-playwright-nightwatch/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite App - - -
- - - diff --git a/vitest-playwright-nightwatch/nightwatch.conf.js b/vitest-playwright-nightwatch/nightwatch.conf.js deleted file mode 100644 index 8ff17000..00000000 --- a/vitest-playwright-nightwatch/nightwatch.conf.js +++ /dev/null @@ -1,152 +0,0 @@ -// -// Refer to the online docs for more details: -// https://nightwatchjs.org/guide/configuration/nightwatch-configuration-file.html -// -// _ _ _ _ _ _ _ -// | \ | |(_) | | | | | | | | -// | \| | _ __ _ | |__ | |_ __ __ __ _ | |_ ___ | |__ -// | . ` || | / _` || '_ \ | __|\ \ /\ / / / _` || __| / __|| '_ \ -// | |\ || || (_| || | | || |_ \ V V / | (_| || |_ | (__ | | | | -// \_| \_/|_| \__, ||_| |_| \__| \_/\_/ \__,_| \__| \___||_| |_| -// __/ | -// |___/ -// - -module.exports = { - // An array of folders (excluding subfolders) where your tests are located; - // if this is not specified, the test source must be passed as the second argument to the test runner. - src_folders: [], - - // See https://nightwatchjs.org/guide/concepts/page-object-model.html - page_objects_path: [], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - custom_commands_path: ['nightwatch/custom-commands'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - custom_assertions_path: ['nightwatch/custom-assertions'], - - // See https://nightwatchjs.org/guide/extending-nightwatch/adding-plugins.html - plugins: ['@nightwatch/vue'], - - // See https://nightwatchjs.org/guide/concepts/test-globals.html#external-test-globals - globals_path: 'nightwatch/globals.js', - - vite_dev_server: { - start_vite: false - }, - - webdriver: {}, - - test_workers: { - enabled: true, - workers: 'auto' - }, - - test_settings: { - default: { - disable_error_log: false, - launch_url: `http://localhost:${process.env.CI ? '4173' : '5173'}`, - - screenshots: { - enabled: false, - path: 'screens', - on_failure: true - }, - - desiredCapabilities: { - browserName: 'firefox' - }, - - webdriver: { - start_process: true, - server_path: '' - } - }, - - safari: { - desiredCapabilities: { - browserName: 'safari', - alwaysMatch: { - acceptInsecureCerts: false - } - }, - webdriver: { - start_process: true, - server_path: '' - } - }, - - firefox: { - desiredCapabilities: { - browserName: 'firefox', - alwaysMatch: { - acceptInsecureCerts: true, - 'moz:firefoxOptions': { - args: [ - // '-headless', - // '-verbose' - ] - } - } - }, - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // very verbose geckodriver logs - // '-vv' - ] - } - }, - - chrome: { - desiredCapabilities: { - browserName: 'chrome', - 'goog:chromeOptions': { - // More info on Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/ - // - // w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78) - w3c: true, - args: [ - //'--no-sandbox', - //'--ignore-certificate-errors', - //'--allow-insecure-localhost', - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - server_path: '', - cli_args: [ - // --verbose - ] - } - }, - - edge: { - desiredCapabilities: { - browserName: 'MicrosoftEdge', - 'ms:edgeOptions': { - w3c: true, - // More info on EdgeDriver: https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options - args: [ - //'--headless' - ] - } - }, - - webdriver: { - start_process: true, - // Download msedgedriver from https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/ - // and set the location below: - server_path: '', - cli_args: [ - // --verbose - ] - } - } - } -} diff --git a/vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js b/vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js deleted file mode 100644 index 1ac2aa2c..00000000 --- a/vitest-playwright-nightwatch/nightwatch/custom-assertions/elementHasCount.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * A custom Nightwatch assertion. The assertion name is the filename. - * - * Example usage: - * browser.assert.elementHasCount(selector, count) - * - * For more information on custom assertions see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-assertions.html - * - * @param {string} selector - * @param {number} count - */ - -exports.assertion = function elementHasCount(selector, count) { - // Message to be displayed on the console while running this assertion. - this.message = `Testing if element <${selector}> has count: ${count}` - - // Expected value of the assertion, to be displayed in case of failure. - this.expected = count - - // Given the result value (from `this.value` below), this function will - // evaluate if the assertion has passed. - this.evaluate = function (value) { - return value === count - } - - // Retrieve the value from the result object we got after running the - // assertion command (defined below), which is to be evaluated against - // the value passed into the assertion as the second argument. - this.value = function (result) { - return result.value - } - - // Script to be executed in the browser to find the actual element count. - function elementCountScript(_selector) { - // eslint-disable-next-line - return document.querySelectorAll(_selector).length - } - - // The command to be executed by the assertion runner, to find the actual - // result. Nightwatch API is available as `this.api`. - this.command = function (callback) { - this.api.execute(elementCountScript, [selector], callback) - } -} diff --git a/vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js b/vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js deleted file mode 100644 index f342044d..00000000 --- a/vitest-playwright-nightwatch/nightwatch/custom-commands/strictClick.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * A non-class-based custom-command in Nightwatch. The command name is the filename. - * - * Usage: - * browser.strictClick(selector) - * - * This command is not used yet used in any of the examples. - * - * For more information on working with custom-commands see: - * https://nightwatchjs.org/guide/extending-nightwatch/adding-custom-commands.html - * - * @param {string} selector - */ - -module.exports = { - command: function (selector) { - return this.waitForElementVisible(selector).click(selector) - } -} diff --git a/vitest-playwright-nightwatch/nightwatch/globals.js b/vitest-playwright-nightwatch/nightwatch/globals.js deleted file mode 100644 index 9387d355..00000000 --- a/vitest-playwright-nightwatch/nightwatch/globals.js +++ /dev/null @@ -1,23 +0,0 @@ -const waitOn = require('wait-on') -const { setup, teardown } = require('@nightwatch/vue') - -const serverPort = process.env.CI ? '4173' : '5173' - -module.exports = { - before(done) { - setup() - waitOn({ - resources: [`http-get://localhost:${serverPort}`], - verbose: true, - headers: { - accept: 'text/html' - } - }).then(() => { - done() - }) - }, - - after() { - teardown() - } -} diff --git a/vitest-playwright-nightwatch/package.json b/vitest-playwright-nightwatch/package.json deleted file mode 100644 index 1033617c..00000000 --- a/vitest-playwright-nightwatch/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "vitest-playwright-nightwatch", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "test:unit": "vitest", - "test:e2e": "playwright test" - }, - "dependencies": { - "vue": "^3.3.4" - }, - "devDependencies": { - "@nightwatch/vue": "0.4.5", - "@playwright/test": "^1.39.0", - "@types/nightwatch": "^2.3.26", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "chromedriver": "^118.0.1", - "geckodriver": "^4.2.1", - "jsdom": "^22.1.0", - "nightwatch": "^3.2.1", - "ts-node": "^10.9.1", - "vite": "^4.4.11", - "vitest": "^0.34.6", - "wait-on": "^7.0.1" - } -} diff --git a/vitest-playwright-nightwatch/playwright.config.js b/vitest-playwright-nightwatch/playwright.config.js deleted file mode 100644 index 1c1ea7cc..00000000 --- a/vitest-playwright-nightwatch/playwright.config.js +++ /dev/null @@ -1,112 +0,0 @@ -// @ts-check -const { devices } = require('@playwright/test') - -/** - * Read environment variables from file. - * https://github.com/motdotla/dotenv - */ -// require('dotenv').config(); - -/** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} - */ -const config = { - testDir: './e2e', - /* Maximum time one test can run for. */ - timeout: 30 * 1000, - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: 'http://localhost:5173', - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', - - /* Only on CI systems run the tests headless */ - headless: !!process.env.CI - }, - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { - ...devices['Desktop Chrome'] - } - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'] - } - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'] - } - } - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { - // ...devices['Pixel 5'], - // }, - // }, - // { - // name: 'Mobile Safari', - // use: { - // ...devices['iPhone 12'], - // }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // use: { - // channel: 'msedge', - // }, - // }, - // { - // name: 'Google Chrome', - // use: { - // channel: 'chrome', - // }, - // }, - ], - - /* Folder for test artifacts such as screenshots, videos, traces, etc. */ - // outputDir: 'test-results/', - - /* Run your local dev server before starting the tests */ - webServer: { - /** - * Use the dev server by default for faster feedback loop. - * Use the preview server on CI for more realistic testing. - */ - command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', - port: 5173, - reuseExistingServer: !process.env.CI - } -} - -module.exports = config diff --git a/vitest-playwright-nightwatch/public/favicon.ico b/vitest-playwright-nightwatch/public/favicon.ico deleted file mode 100644 index df36fcfb72584e00488330b560ebcf34a41c64c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/vitest-playwright-nightwatch/src/App.vue b/vitest-playwright-nightwatch/src/App.vue deleted file mode 100644 index 633a5dfe..00000000 --- a/vitest-playwright-nightwatch/src/App.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/vitest-playwright-nightwatch/src/assets/base.css b/vitest-playwright-nightwatch/src/assets/base.css deleted file mode 100644 index 8816868a..00000000 --- a/vitest-playwright-nightwatch/src/assets/base.css +++ /dev/null @@ -1,86 +0,0 @@ -/* color palette from */ -:root { - --vt-c-white: #ffffff; - --vt-c-white-soft: #f8f8f8; - --vt-c-white-mute: #f2f2f2; - - --vt-c-black: #181818; - --vt-c-black-soft: #222222; - --vt-c-black-mute: #282828; - - --vt-c-indigo: #2c3e50; - - --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); - --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); - --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); - --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); - - --vt-c-text-light-1: var(--vt-c-indigo); - --vt-c-text-light-2: rgba(60, 60, 60, 0.66); - --vt-c-text-dark-1: var(--vt-c-white); - --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); -} - -/* semantic color variables for this project */ -:root { - --color-background: var(--vt-c-white); - --color-background-soft: var(--vt-c-white-soft); - --color-background-mute: var(--vt-c-white-mute); - - --color-border: var(--vt-c-divider-light-2); - --color-border-hover: var(--vt-c-divider-light-1); - - --color-heading: var(--vt-c-text-light-1); - --color-text: var(--vt-c-text-light-1); - - --section-gap: 160px; -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--vt-c-black); - --color-background-soft: var(--vt-c-black-soft); - --color-background-mute: var(--vt-c-black-mute); - - --color-border: var(--vt-c-divider-dark-2); - --color-border-hover: var(--vt-c-divider-dark-1); - - --color-heading: var(--vt-c-text-dark-1); - --color-text: var(--vt-c-text-dark-2); - } -} - -*, -*::before, -*::after { - box-sizing: border-box; - margin: 0; - font-weight: normal; -} - -body { - min-height: 100vh; - color: var(--color-text); - background: var(--color-background); - transition: - color 0.5s, - background-color 0.5s; - line-height: 1.6; - font-family: - Inter, - -apple-system, - BlinkMacSystemFont, - 'Segoe UI', - Roboto, - Oxygen, - Ubuntu, - Cantarell, - 'Fira Sans', - 'Droid Sans', - 'Helvetica Neue', - sans-serif; - font-size: 15px; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} diff --git a/vitest-playwright-nightwatch/src/assets/logo.svg b/vitest-playwright-nightwatch/src/assets/logo.svg deleted file mode 100644 index 75656603..00000000 --- a/vitest-playwright-nightwatch/src/assets/logo.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/vitest-playwright-nightwatch/src/assets/main.css b/vitest-playwright-nightwatch/src/assets/main.css deleted file mode 100644 index e8667cd4..00000000 --- a/vitest-playwright-nightwatch/src/assets/main.css +++ /dev/null @@ -1,35 +0,0 @@ -@import './base.css'; - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - - font-weight: normal; -} - -a, -.green { - text-decoration: none; - color: hsla(160, 100%, 37%, 1); - transition: 0.4s; -} - -@media (hover: hover) { - a:hover { - background-color: hsla(160, 100%, 37%, 0.2); - } -} - -@media (min-width: 1024px) { - body { - display: flex; - place-items: center; - } - - #app { - display: grid; - grid-template-columns: 1fr 1fr; - padding: 0 2rem; - } -} diff --git a/vitest-playwright-nightwatch/src/components/HelloWorld.vue b/vitest-playwright-nightwatch/src/components/HelloWorld.vue deleted file mode 100644 index 5fb372c9..00000000 --- a/vitest-playwright-nightwatch/src/components/HelloWorld.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/vitest-playwright-nightwatch/src/components/TheWelcome.vue b/vitest-playwright-nightwatch/src/components/TheWelcome.vue deleted file mode 100644 index dab95367..00000000 --- a/vitest-playwright-nightwatch/src/components/TheWelcome.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - diff --git a/vitest-playwright-nightwatch/src/components/WelcomeItem.vue b/vitest-playwright-nightwatch/src/components/WelcomeItem.vue deleted file mode 100644 index 6d7086ae..00000000 --- a/vitest-playwright-nightwatch/src/components/WelcomeItem.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js b/vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js deleted file mode 100644 index 25332020..00000000 --- a/vitest-playwright-nightwatch/src/components/__tests__/HelloWorld.spec.js +++ /dev/null @@ -1,11 +0,0 @@ -import { describe, it, expect } from 'vitest' - -import { mount } from '@vue/test-utils' -import HelloWorld from '../HelloWorld.vue' - -describe('HelloWorld', () => { - it('renders properly', () => { - const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) - expect(wrapper.text()).toContain('Hello Vitest') - }) -}) diff --git a/vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue b/vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue deleted file mode 100644 index 2dc8b055..00000000 --- a/vitest-playwright-nightwatch/src/components/icons/IconCommunity.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue b/vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue deleted file mode 100644 index 6d4791cf..00000000 --- a/vitest-playwright-nightwatch/src/components/icons/IconDocumentation.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue b/vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue deleted file mode 100644 index c3a4f078..00000000 --- a/vitest-playwright-nightwatch/src/components/icons/IconEcosystem.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-playwright-nightwatch/src/components/icons/IconSupport.vue b/vitest-playwright-nightwatch/src/components/icons/IconSupport.vue deleted file mode 100644 index 7452834d..00000000 --- a/vitest-playwright-nightwatch/src/components/icons/IconSupport.vue +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/vitest-playwright-nightwatch/src/components/icons/IconTooling.vue b/vitest-playwright-nightwatch/src/components/icons/IconTooling.vue deleted file mode 100644 index 660598d7..00000000 --- a/vitest-playwright-nightwatch/src/components/icons/IconTooling.vue +++ /dev/null @@ -1,19 +0,0 @@ - - diff --git a/vitest-playwright-nightwatch/src/main.js b/vitest-playwright-nightwatch/src/main.js deleted file mode 100644 index 0ac3a5ff..00000000 --- a/vitest-playwright-nightwatch/src/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import './assets/main.css' - -import { createApp } from 'vue' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/vitest-playwright-nightwatch/tests/e2e/example.js b/vitest-playwright-nightwatch/tests/e2e/example.js deleted file mode 100644 index cf2e3c86..00000000 --- a/vitest-playwright-nightwatch/tests/e2e/example.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('My First Test', function () { - before((browser) => { - browser.init() - }) - - it('visits the app root url', function () { - browser.assert - .textContains('.green', 'You did it!') - .assert.elementHasCount('.wrapper nav a', 2) - .strictClick('.wrapper nav a:last-child') - }) - - after((browser) => browser.end()) -}) diff --git a/vitest-playwright-nightwatch/vite.config.js b/vitest-playwright-nightwatch/vite.config.js deleted file mode 100644 index be3cb9c5..00000000 --- a/vitest-playwright-nightwatch/vite.config.js +++ /dev/null @@ -1,18 +0,0 @@ -import { fileURLToPath, URL } from 'node:url' - -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import nightwatchPlugin from 'vite-plugin-nightwatch' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - nightwatchPlugin(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } - } -}) diff --git a/vitest-playwright-nightwatch/vitest.config.js b/vitest-playwright-nightwatch/vitest.config.js deleted file mode 100644 index 10067d57..00000000 --- a/vitest-playwright-nightwatch/vitest.config.js +++ /dev/null @@ -1,14 +0,0 @@ -import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' -import viteConfig from './vite.config' - -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - } - }) -) diff --git a/vitest-playwright/.gitignore b/vitest-playwright/.gitignore index 719bf30c..aef72d03 100644 --- a/vitest-playwright/.gitignore +++ b/vitest-playwright/.gitignore @@ -27,5 +27,7 @@ coverage *.sln *.sw? +*.tsbuildinfo + test-results/ playwright-report/ diff --git a/vitest-playwright/e2e/vue.spec.js b/vitest-playwright/e2e/vue.spec.js index 3d62e3e5..3e5a3d02 100644 --- a/vitest-playwright/e2e/vue.spec.js +++ b/vitest-playwright/e2e/vue.spec.js @@ -1,4 +1,4 @@ -const { test, expect } = require('@playwright/test'); +import { test, expect } from '@playwright/test'; // See here how to get started: // https://playwright.dev/docs/intro diff --git a/vitest-playwright/jsconfig.json b/vitest-playwright/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/vitest-playwright/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/vitest-playwright/package.json b/vitest-playwright/package.json index 2a57b8ff..56d4fc03 100644 --- a/vitest-playwright/package.json +++ b/vitest-playwright/package.json @@ -2,6 +2,7 @@ "name": "vitest-playwright", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -10,14 +11,14 @@ "test:e2e": "playwright test" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@playwright/test": "^1.39.0", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@playwright/test": "^1.40.1", + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/vitest-playwright/playwright.config.js b/vitest-playwright/playwright.config.js index 1c1ea7cc..ad20dabc 100644 --- a/vitest-playwright/playwright.config.js +++ b/vitest-playwright/playwright.config.js @@ -1,5 +1,4 @@ -// @ts-check -const { devices } = require('@playwright/test') +import { defineConfig, devices } from '@playwright/test' /** * Read environment variables from file. @@ -8,10 +7,9 @@ const { devices } = require('@playwright/test') // require('dotenv').config(); /** - * @see https://playwright.dev/docs/test-configuration - * @type {import('@playwright/test').PlaywrightTestConfig} + * See https://playwright.dev/docs/test-configuration. */ -const config = { +export default defineConfig({ testDir: './e2e', /* Maximum time one test can run for. */ timeout: 30 * 1000, @@ -102,11 +100,10 @@ const config = { /** * Use the dev server by default for faster feedback loop. * Use the preview server on CI for more realistic testing. + * Playwright will re-use the local server if there is already a dev-server running. */ command: process.env.CI ? 'vite preview --port 5173' : 'vite dev', port: 5173, reuseExistingServer: !process.env.CI } -} - -module.exports = config +}) diff --git a/vitest-playwright/src/assets/main.css b/vitest-playwright/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/vitest-playwright/src/assets/main.css +++ b/vitest-playwright/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/vitest/.gitignore b/vitest/.gitignore index 38adffa6..8ee54e8d 100644 --- a/vitest/.gitignore +++ b/vitest/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/vitest/jsconfig.json b/vitest/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/vitest/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/vitest/package.json b/vitest/package.json index 0fab0a7e..664ccd9f 100644 --- a/vitest/package.json +++ b/vitest/package.json @@ -2,6 +2,7 @@ "name": "vitest", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,13 +10,13 @@ "test:unit": "vitest" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "jsdom": "^22.1.0", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "jsdom": "^23.0.1", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/vitest/src/assets/main.css b/vitest/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/vitest/src/assets/main.css +++ b/vitest/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) { diff --git a/with-tests/.gitignore b/with-tests/.gitignore index 38adffa6..8ee54e8d 100644 --- a/with-tests/.gitignore +++ b/with-tests/.gitignore @@ -26,3 +26,5 @@ coverage *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/with-tests/cypress.config.js b/with-tests/cypress.config.js index 9cf6a199..0f66080f 100644 --- a/with-tests/cypress.config.js +++ b/with-tests/cypress.config.js @@ -1,6 +1,6 @@ -const { defineConfig } = require('cypress') +import { defineConfig } from 'cypress' -module.exports = defineConfig({ +export default defineConfig({ e2e: { specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', baseUrl: 'http://localhost:4173' diff --git a/with-tests/jsconfig.json b/with-tests/jsconfig.json new file mode 100644 index 00000000..5a1f2d22 --- /dev/null +++ b/with-tests/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} diff --git a/with-tests/package.json b/with-tests/package.json index 1b2f0276..7eb424c5 100644 --- a/with-tests/package.json +++ b/with-tests/package.json @@ -2,6 +2,7 @@ "name": "with-tests", "version": "0.0.0", "private": true, + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,15 +12,15 @@ "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'" }, "dependencies": { - "vue": "^3.3.4" + "vue": "^3.3.10" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "@vue/test-utils": "^2.4.1", - "cypress": "^13.3.1", - "jsdom": "^22.1.0", - "start-server-and-test": "^2.0.1", - "vite": "^4.4.11", - "vitest": "^0.34.6" + "@vitejs/plugin-vue": "^4.5.1", + "@vue/test-utils": "^2.4.3", + "cypress": "^13.6.1", + "jsdom": "^23.0.1", + "start-server-and-test": "^2.0.3", + "vite": "^5.0.5", + "vitest": "^1.0.1" } } diff --git a/with-tests/src/assets/main.css b/with-tests/src/assets/main.css index e8667cd4..36fb845b 100644 --- a/with-tests/src/assets/main.css +++ b/with-tests/src/assets/main.css @@ -4,7 +4,6 @@ max-width: 1280px; margin: 0 auto; padding: 2rem; - font-weight: normal; } @@ -13,6 +12,7 @@ a, text-decoration: none; color: hsla(160, 100%, 37%, 1); transition: 0.4s; + padding: 3px; } @media (hover: hover) {