{"id":22400110,"url":"https://github.com/currents-dev/currents-nx","last_synced_at":"2026-02-18T21:03:04.336Z","repository":{"id":40262738,"uuid":"429700232","full_name":"currents-dev/currents-nx","owner":"currents-dev","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-17T15:07:27.000Z","size":2406,"stargazers_count":7,"open_issues_count":12,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-29T21:26:43.548Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/currents-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-19T07:01:47.000Z","updated_at":"2025-09-17T15:07:30.000Z","dependencies_parsed_at":"2024-02-06T09:52:02.384Z","dependency_job_id":null,"html_url":"https://github.com/currents-dev/currents-nx","commit_stats":{"total_commits":35,"total_committers":4,"mean_commits":8.75,"dds":"0.22857142857142854","last_synced_commit":"ed4e2dfcb2abddcac72b3fe3d2cc5043c53bea24"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/currents-dev/currents-nx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/currents-dev%2Fcurrents-nx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/currents-dev%2Fcurrents-nx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/currents-dev%2Fcurrents-nx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/currents-dev%2Fcurrents-nx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/currents-dev","download_url":"https://codeload.github.com/currents-dev/currents-nx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/currents-dev%2Fcurrents-nx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29596125,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T20:59:56.587Z","status":"ssl_error","status_checked_at":"2026-02-18T20:58:41.434Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-05T08:11:24.907Z","updated_at":"2026-02-18T21:03:04.321Z","avatar_url":"https://github.com/currents-dev.png","language":"TypeScript","readme":"# NX Plugin: Debug, troubleshoot and record Cypress CI tests in Cloud\n\n[NX](https://nx.dev/) plugin for running cypress tests using [Currents](https://currents.dev) or [Sorry Cypress](https://sorry-cypress.dev).\n\nIntegrate Cypress with alternative cloud services like Currents or Sorry Cypress.\n\nThe plugin is designed for CI environments and runs Cypress in headless mode. Please use `@nx/cypress` for running cypress in interactive mode.\n\n## Example\n\nSee [./apps/web-e2e](./apps/web-e2e) for an example installation:\n\n```sh\nnpx nx run web-e2e:currents --key \u003crecordKey\u003e --ci-build-id hello-currents-nx\n```\n\n## Setup\n\nInstall npm dependencies:\n\n```sh\nnpm i --save-dev @currents/nx cypress-cloud\n# install cypress if needed\nnpm i --save-dev cypress\n```\n\nAdd target `currents` to your project configuration:\n\n```js\n{\n  // ...\n  \"targets\": {\n    \"currents\": {\n      \"executor\": \"@currents/nx:currents\",\n      \"options\": {\n        \"record\": true,\n        \"parallel\": true,\n        \"cypressConfig\": \"apps/app-e2e/cypres.config.ts\",\n        // \"key\": \"record key obtained from https://app.currents.dev\"\n        // \"ciBuildId: \"ci build id, read more at https://currents.dev/readme/guides/cypress-ci-build-id\",\n        // ... start a dev server if needed\n        \"devServerTarget\": \"my-react-app:serve\",\n        \"testingType\": \"e2e\"\n      }\n    }\n  }\n  // ...\n```\n\nCreate a new configuration file: `currents.config.js` next to `cypress.config.{jt}s`\n\n```js\n// currents.config.js\nmodule.exports = {\n  // Get the record key from https://app.currents.dev, can be any value for self-hosted instance of Sorry Cypress\n  recordKey: 'XXX',\n  // Set the `projectId` and the record key obtained from https://app.currents.dev or your self-hosted instance of Sorry Cypress\n  projectId: 'Ij0RfK',\n  // Sorry Cypress users - set the director service URL\n  cloudServiceUrl: 'https://cy.currents.dev',\n};\n```\n\nAdd `cypress-cloud/plugin` to `cypress.config.{js|ts|mjs}`\n\n```ts\nimport { nxE2EPreset } from '@nx/cypress/plugins/cypress-preset';\nimport { defineConfig } from 'cypress';\nimport cloudPlugin from 'cypress-cloud/plugin';\n\nexport default defineConfig({\n  e2e: {\n    ...nxE2EPreset(__dirname, {\n      bundler: 'vite',\n    }),\n    specPattern: './src/**/*.cy.ts',\n    setupNodeEvents(on, config) {\n      return cloudPlugin(on, config);\n    },\n  },\n});\n```\n\n## Usage\n\n```sh\nnpx nx run web-e2e:currents --key \u003crecordKey\u003e --ci-build-id hello-currents-nx\n```\n\n- Update your `currents.config.js` file with `projectId` obtained at https://app.currents.dev\n- Use the record key obtained at https://app.currents.dev\n\n## Configuration\n\nOptions can be configured in `project.json` when defining the executor, or when invoking it. Read more about how to configure targets and executors here: https://nx.dev/reference/project-configuration#targets.\n\nSee the [schema.json](./packages/nx/src/executors/schema.json) for the list of available options. This plugin uses `cypress-cloud` for integrating cypress to 3rd party services. Please refer to [cypress-cloud documentation](https://github.com/currents-dev/cypress-cloud) for additional details.\n\n### Setting the record key\n\nYou can set the record key in one of the following ways:\n\n- set `key` property in `project.json`\n- set `recordKey` in `currents.config.js`\n- set the CLI flag `--recordKey`\n- set `CURRENTS_RECORD_KEY` environment variable\n\n### Setting the project id\n\nYou can set the project Id as follows:\n\n- set `projectId` in `currents.config.js`\n- set `CURRENTS_PROJECT_ID` environment variable\n\n## Migration\n\n### Version `2.0.0`\n\n- Using [`cypress-cloud`](https://github.com/currents-dev/cypress-cloud) as the orchestration tool\n\n### Version `1.0.0`\n\n- `@nx/cypress` no longer required - the plugin is a standalone implementation that is not dependent on `@nx/cypress`. Use the available configuration options to configure the execution of cypress runs.\n\n## Release\n\nCreate a new release (changelog, tags + github)\n\n```sh\n# run this command, review and stage the changelog\ncd ./packages/nx \u0026\u0026 npm run release\n```\n\nReleasing beta channel:\n\n```sh\nnpx nx publish nx --tag beta --otp CODE\n```\n\nReleasing latest channel:\n\n```sh\nnpx nx publish nx --tag latest --otp CODE\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurrents-dev%2Fcurrents-nx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcurrents-dev%2Fcurrents-nx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurrents-dev%2Fcurrents-nx/lists"}