diff --git a/.gitignore b/.gitignore index cb5f0be..6fac80b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ bazel-* .idea/ .ijwb/ node_modules +.github/pull_request_template.md # Don't commit lockfile for now as it is unstable. Do allow for it to be # created, however, since it gives a performance boost for local development. diff --git a/e2e/workspace/MODULE.bazel b/e2e/workspace/MODULE.bazel index e8e95b3..b1c658d 100644 --- a/e2e/workspace/MODULE.bazel +++ b/e2e/workspace/MODULE.bazel @@ -1,13 +1,11 @@ -bazel_dep(name = "aspect_rules_cypress", version = "0.0.0", dev_dependency = True) +bazel_dep(name = "aspect_rules_cypress") local_path_override( module_name = "aspect_rules_cypress", path = "../..", ) - -cypress = use_extension("@aspect_rules_cypress//cypress:extensions.bzl", "cypress", dev_dependency = True) -cypress.toolchain(cypress_version = "12.12.0") +cypress = use_extension("@aspect_rules_cypress//cypress:extensions.bzl", "cypress") +cypress.toolchain(cypress_version = "13.6.6") use_repo(cypress, "cypress_toolchains") - register_toolchains("@cypress_toolchains//:all") bazel_dep(name = "aspect_rules_js", version = "1.41.2", dev_dependency = True) @@ -16,6 +14,10 @@ bazel_dep(name = "bazel_features", version = "1.9.0", dev_dependency = True) npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm", dev_dependency = True) npm.npm_translate_lock( name = "npm", + lifecycle_hooks_exclude = [ + # Speed up installation by disabling cypress binary install. Optional. + "cypress", + ], pnpm_lock = "//:pnpm-lock.yaml", verify_node_modules_ignored = "//:.bazelignore", ) diff --git a/e2e/workspace/WORKSPACE.bazel b/e2e/workspace/WORKSPACE.bazel index bad0227..f2d1976 100644 --- a/e2e/workspace/WORKSPACE.bazel +++ b/e2e/workspace/WORKSPACE.bazel @@ -22,7 +22,7 @@ load("@aspect_rules_cypress//cypress:repositories.bzl", "cypress_register_toolch cypress_register_toolchains( name = "cypress", - cypress_version = "12.12.0", + cypress_version = "13.6.6", ) load("@aspect_rules_js//js:repositories.bzl", "rules_js_dependencies") @@ -44,6 +44,10 @@ load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock") npm_translate_lock( name = "npm", + lifecycle_hooks_exclude = [ + # Speed up installation by disabling cypress binary install. Optional. + "cypress", + ], pnpm_lock = "//:pnpm-lock.yaml", verify_node_modules_ignored = "//:.bazelignore", ) diff --git a/e2e/workspace/cli_test/BUILD b/e2e/workspace/cli_test/BUILD index 75e80f3..5603fb2 100644 --- a/e2e/workspace/cli_test/BUILD +++ b/e2e/workspace/cli_test/BUILD @@ -2,6 +2,7 @@ load("@aspect_rules_cypress//cypress:defs.bzl", "cypress_test") cypress_test( name = "cli_test", + timeout = "short", args = [ "run", "--config-file=cypress.config.ts", diff --git a/e2e/workspace/cli_test/cypress.config.ts b/e2e/workspace/cli_test/cypress.config.ts index 15e55bf..22e744d 100644 --- a/e2e/workspace/cli_test/cypress.config.ts +++ b/e2e/workspace/cli_test/cypress.config.ts @@ -1,13 +1,13 @@ -import { defineConfig } from 'cypress' +import { defineConfig } from "cypress"; export default defineConfig({ e2e: { specPattern: ["cli_test.cy.ts"], supportFile: false, setupNodeEvents(on, config) { - on('before:browser:launch', (browser, launchOptions) => { - launchOptions.args.push("--disable-gpu-shader-disk-cache") - }) - } + on("before:browser:launch", (browser, launchOptions) => { + launchOptions.args.push("--disable-gpu-shader-disk-cache"); + }); + }, }, -}) \ No newline at end of file +}); diff --git a/e2e/workspace/module_test/BUILD.bazel b/e2e/workspace/module_test/BUILD.bazel index cadb755..a216fdf 100644 --- a/e2e/workspace/module_test/BUILD.bazel +++ b/e2e/workspace/module_test/BUILD.bazel @@ -2,6 +2,7 @@ load("@aspect_rules_cypress//cypress:defs.bzl", "cypress_module_test") cypress_module_test( name = "module_test", + timeout = "short", data = [ "cypress.config.js", "module_test.cy.js", diff --git a/e2e/workspace/module_test/cypress.config.js b/e2e/workspace/module_test/cypress.config.js index b5f0b70..dd7346c 100644 --- a/e2e/workspace/module_test/cypress.config.js +++ b/e2e/workspace/module_test/cypress.config.js @@ -1,13 +1,13 @@ -const { defineConfig } = require('cypress') +const { defineConfig } = require("cypress"); module.exports = defineConfig({ e2e: { specPattern: ["*.cy.js"], supportFile: false, - setupNodeEvents(on, config) { - on('before:browser:launch', (browser = {}, launchOptions) => { - launchOptions.args.push("--disable-gpu-shader-disk-cache") - }) - } + setupNodeEvents(on, _config) { + on("before:browser:launch", (_browser, launchOptions) => { + launchOptions.args.push("--disable-gpu-shader-disk-cache"); + }); + }, }, -}) \ No newline at end of file +}); diff --git a/e2e/workspace/module_test/runner.js b/e2e/workspace/module_test/runner.js index 9c50e89..3d1a1b8 100644 --- a/e2e/workspace/module_test/runner.js +++ b/e2e/workspace/module_test/runner.js @@ -12,7 +12,7 @@ async function main() { return 1; } - if (result.status !== "finished") { + if (result.status === "failed") { console.error("Cypress tests failed with status", result.status); return 2; } diff --git a/e2e/workspace/package.json b/e2e/workspace/package.json index 65f3768..c34159a 100644 --- a/e2e/workspace/package.json +++ b/e2e/workspace/package.json @@ -3,8 +3,8 @@ "version": "1.0.0", "description": "Tests for cypress bazel rules", "dependencies": { - "cypress": "12.12.0", + "cypress": "13.6.6", "express": "^4.19.2", "typescript": "4.9.5" } -} \ No newline at end of file +} diff --git a/e2e/workspace/pnpm-lock.yaml b/e2e/workspace/pnpm-lock.yaml index f2e4e34..69120a2 100644 --- a/e2e/workspace/pnpm-lock.yaml +++ b/e2e/workspace/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: cypress: - specifier: 12.12.0 - version: 12.12.0 + specifier: 13.6.6 + version: 13.6.6 express: specifier: ^4.19.2 version: 4.19.2 @@ -24,8 +24,8 @@ packages: dev: false optional: true - /@cypress/request@2.88.12: - resolution: {integrity: sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==} + /@cypress/request@3.0.1: + resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} engines: {node: '>= 6'} dependencies: aws-sign2: 0.7.0 @@ -59,7 +59,9 @@ packages: /@types/node@14.18.63: resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==} + requiresBuild: true dev: false + optional: true /@types/sinonjs__fake-timers@8.1.1: resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} @@ -349,15 +351,14 @@ packages: which: 2.0.2 dev: false - /cypress@12.12.0: - resolution: {integrity: sha512-UU5wFQ7SMVCR/hyKok/KmzG6fpZgBHHfrXcHzDmPHWrT+UUetxFzQgt7cxCszlwfozckzwkd22dxMwl/vNkWRw==} - engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} + /cypress@13.6.6: + resolution: {integrity: sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A==} + engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true dependencies: - '@cypress/request': 2.88.12 + '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/node': 14.18.63 '@types/sinonjs__fake-timers': 8.1.1 '@types/sizzle': 2.3.8 arch: 2.2.0 @@ -390,6 +391,7 @@ packages: minimist: 1.2.8 ospath: 1.2.2 pretty-bytes: 5.6.0 + process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 semver: 7.6.0 @@ -1084,6 +1086,11 @@ packages: engines: {node: '>=6'} dev: false + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} diff --git a/e2e/workspace/server_example/BUILD.bazel b/e2e/workspace/server_example/BUILD.bazel index 27724b7..ab56d92 100644 --- a/e2e/workspace/server_example/BUILD.bazel +++ b/e2e/workspace/server_example/BUILD.bazel @@ -9,6 +9,7 @@ js_binary( cypress_test( name = "server_example", + timeout = "short", args = [ "run", "--config-file=cypress.config.js",