mirror of
https://github.com/cypress-io/cypress.git
synced 2026-05-07 23:40:21 -05:00
1484 lines
37 KiB
GraphQL
1484 lines
37 KiB
GraphQL
### This file was generated by Nexus Schema
|
|
### Do not make changes to this file directly
|
|
|
|
|
|
"""Represents state of auth based on most recent message from login flow"""
|
|
type AuthState {
|
|
"""Whether the browser was successfully opened for login"""
|
|
browserOpened: Boolean!
|
|
|
|
"""Message for the auth state"""
|
|
message: String
|
|
|
|
"""Name of auth state, e.g. AUTH_BROWSER_LAUNCHED"""
|
|
name: AuthStateNameEnum
|
|
}
|
|
|
|
enum AuthStateNameEnum {
|
|
AUTH_BROWSER_LAUNCHED
|
|
AUTH_COULD_NOT_LAUNCH_BROWSER
|
|
AUTH_ERROR_DURING_LOGIN
|
|
}
|
|
|
|
"""Container representing a browser"""
|
|
type Browser implements Node {
|
|
channel: String!
|
|
disabled: Boolean!
|
|
displayName: String!
|
|
family: BrowserFamily!
|
|
|
|
"""Relay style Node ID field for the Browser field"""
|
|
id: ID!
|
|
isFocusSupported: Boolean!
|
|
isSelected: Boolean!
|
|
isVersionSupported: Boolean!
|
|
majorVersion: String
|
|
name: String!
|
|
path: String!
|
|
version: String!
|
|
warning: String
|
|
}
|
|
|
|
enum BrowserFamily {
|
|
chromium
|
|
firefox
|
|
}
|
|
|
|
enum BrowserStatus {
|
|
closed
|
|
open
|
|
opening
|
|
}
|
|
|
|
"""
|
|
When we don't have an immediate response for the cloudViewer request, we'll use this as a fallback to
|
|
render the avatar in the header bar / signal authenticated state immediately
|
|
"""
|
|
type CachedUser implements Node {
|
|
"""Email address of the cached user"""
|
|
email: String
|
|
|
|
"""Name of the cached user"""
|
|
fullName: String
|
|
|
|
"""Relay style Node ID field for the CachedUser field"""
|
|
id: ID!
|
|
}
|
|
|
|
"""
|
|
A CloudOrganization represents an Organization stored in the Cypress Cloud
|
|
"""
|
|
type CloudOrganization implements Node {
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""Name of the organization"""
|
|
name: String
|
|
|
|
"""A connection for cloud projects associated with this organization"""
|
|
projects(
|
|
"""Returns the elements in the list that come after the specified cursor"""
|
|
after: String
|
|
|
|
"""Returns the elements in the list that come before the specified cursor"""
|
|
before: String
|
|
|
|
"""Returns the first n elements from the list."""
|
|
first: Int
|
|
|
|
"""Returns the last n elements from the list."""
|
|
last: Int
|
|
): CloudProjectConnection
|
|
}
|
|
|
|
type CloudOrganizationConnection {
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
|
|
"""
|
|
edges: [CloudOrganizationEdge!]!
|
|
|
|
"""Flattened list of CloudOrganization type"""
|
|
nodes: [CloudOrganization!]!
|
|
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
|
|
"""
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type CloudOrganizationEdge {
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
|
|
cursor: String!
|
|
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
|
|
node: CloudOrganization!
|
|
}
|
|
|
|
"""A CloudProject represents a Project stored in the Cypress Cloud"""
|
|
type CloudProject implements Node {
|
|
"""A link to the settings page of the project in the dashboard"""
|
|
cloudProjectSettingsUrl: String!
|
|
|
|
"""A link to the project in the dashboard"""
|
|
cloudProjectUrl: String!
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""The latest run for a given spec"""
|
|
latestRun: CloudRun
|
|
|
|
"""Given name of the project"""
|
|
name: String!
|
|
|
|
"""The organization the project is a member of"""
|
|
organization: CloudOrganization
|
|
|
|
"""Record keys for the service"""
|
|
recordKeys: [CloudRecordKey!]
|
|
|
|
"""A connection field type"""
|
|
runs(
|
|
"""Returns the elements in the list that come after the specified cursor"""
|
|
after: String
|
|
|
|
"""Returns the elements in the list that come before the specified cursor"""
|
|
before: String
|
|
cypressVersion: String
|
|
|
|
"""Returns the first n elements from the list."""
|
|
first: Int
|
|
|
|
"""Returns the last n elements from the list."""
|
|
last: Int
|
|
status: CloudRunStatus
|
|
): CloudRunConnection
|
|
|
|
"""Unique identifier for a Project"""
|
|
slug: String!
|
|
}
|
|
|
|
type CloudProjectConnection {
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
|
|
"""
|
|
edges: [CloudProjectEdge!]!
|
|
|
|
"""Flattened list of CloudProject type"""
|
|
nodes: [CloudProject!]!
|
|
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
|
|
"""
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type CloudProjectEdge {
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
|
|
cursor: String!
|
|
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
|
|
node: CloudProject!
|
|
}
|
|
|
|
"""Unable to find cloud project"""
|
|
type CloudProjectNotFound {
|
|
"""an error message"""
|
|
message: String!
|
|
}
|
|
|
|
union CloudProjectResult = CloudProject | CloudProjectNotFound | CloudProjectUnauthorized
|
|
|
|
"""Unauthorized access"""
|
|
type CloudProjectUnauthorized {
|
|
"""does the user have a requested access pending"""
|
|
hasRequestedAccess: Boolean
|
|
|
|
"""an error message"""
|
|
message: String!
|
|
}
|
|
|
|
type CloudRecordKey implements Node {
|
|
createdAt: DateTime
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""The Record Key"""
|
|
key: String
|
|
lastUsedAt: DateTime
|
|
}
|
|
|
|
"""A Recorded run of the Test Runner, typically to the cloud"""
|
|
type CloudRun implements Node {
|
|
commitInfo: CloudRunCommitInfo
|
|
createdAt: DateTime
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
status: CloudRunStatus
|
|
tags: [CloudRunTag]
|
|
|
|
"""
|
|
Total duration of the run in milliseconds, accounting for any parallelization
|
|
"""
|
|
totalDuration: Int
|
|
|
|
"""This is the number of failed tests across all groups in the run"""
|
|
totalFailed: Int
|
|
|
|
"""Number of flaky tests"""
|
|
totalFlakyTests: Int
|
|
|
|
"""This is the number of passed tests across all groups in the run"""
|
|
totalPassed: Int
|
|
|
|
"""This is the number of pending tests across all groups in the run"""
|
|
totalPending: Int
|
|
|
|
"""This is the number of running tests across all groups in the run"""
|
|
totalRunning: Int
|
|
|
|
"""This is the number of skipped tests across all groups in the run"""
|
|
totalSkipped: Int
|
|
|
|
"""This is the number of tests across all groups in the run"""
|
|
totalTests: Int
|
|
|
|
"""A link to the run page"""
|
|
url: String
|
|
}
|
|
|
|
type CloudRunCommitInfo {
|
|
authorAvatar: String
|
|
authorEmail: String
|
|
authorName: String
|
|
branch: String
|
|
branchUrl: String
|
|
message(
|
|
"""Number of characters to truncate the commit message to"""
|
|
truncate: Int
|
|
): String
|
|
sha: String
|
|
summary: String
|
|
url: String
|
|
}
|
|
|
|
type CloudRunConnection {
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
|
|
"""
|
|
edges: [CloudRunEdge!]!
|
|
|
|
"""Flattened list of CloudRun type"""
|
|
nodes: [CloudRun!]!
|
|
|
|
"""
|
|
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
|
|
"""
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type CloudRunEdge {
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
|
|
cursor: String!
|
|
|
|
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
|
|
node: CloudRun!
|
|
}
|
|
|
|
"""Possible check status of the test run"""
|
|
enum CloudRunStatus {
|
|
CANCELLED
|
|
ERRORED
|
|
FAILED
|
|
NOTESTS
|
|
OVERLIMIT
|
|
PASSED
|
|
RUNNING
|
|
TIMEDOUT
|
|
}
|
|
|
|
type CloudRunTag implements Node {
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
name: String
|
|
}
|
|
|
|
"""A CloudUser represents an User stored in the Cypress Cloud"""
|
|
type CloudUser implements Node {
|
|
"""Url to manage cloud organizations for this user"""
|
|
cloudOrganizationsUrl: String
|
|
|
|
"""Url to the profile of the current user on the dashboard"""
|
|
cloudProfileUrl: String
|
|
|
|
"""Url to create a cloud organization for this user"""
|
|
createCloudOrganizationUrl: String
|
|
email: String
|
|
|
|
"""The display name of the user, if we have one"""
|
|
fullName: String
|
|
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
|
|
"""A connection field type"""
|
|
organizations(
|
|
"""Returns the elements in the list that come after the specified cursor"""
|
|
after: String
|
|
|
|
"""Returns the elements in the list that come before the specified cursor"""
|
|
before: String
|
|
|
|
"""Returns the first n elements from the list."""
|
|
first: Int
|
|
|
|
"""Returns the last n elements from the list."""
|
|
last: Int
|
|
): CloudOrganizationConnection
|
|
|
|
"""Whether this user is the currently authenticated user"""
|
|
userIsViewer: Boolean!
|
|
}
|
|
|
|
"""
|
|
A code frame to display for a file, used when displaying code related to errors
|
|
"""
|
|
type CodeFrame {
|
|
"""Source of the code frame to display"""
|
|
codeBlock: String
|
|
|
|
"""The column of the error to display"""
|
|
column: Int
|
|
file: FileParts!
|
|
|
|
"""The line number of the code snippet to display"""
|
|
line: Int
|
|
}
|
|
|
|
enum CodeGenType {
|
|
component
|
|
e2e
|
|
scaffoldIntegration
|
|
}
|
|
|
|
enum CodeLanguageEnum {
|
|
js
|
|
ts
|
|
}
|
|
|
|
"""
|
|
The currently opened Cypress project, represented by a cypress.config.{ts|js} file
|
|
"""
|
|
type CurrentProject implements Node & ProjectLike {
|
|
"""The currently selected browser for the project"""
|
|
activeBrowser: Browser
|
|
|
|
"""The current branch of the project"""
|
|
branch: String
|
|
|
|
"""If the browser is open or not"""
|
|
browserStatus: BrowserStatus!
|
|
|
|
"""Browsers found that are compatible with Cypress"""
|
|
browsers: [Browser!]
|
|
|
|
"""The remote associated project from Cypress Dashboard"""
|
|
cloudProject: CloudProjectResult
|
|
|
|
"""List of all code generation candidates stories"""
|
|
codeGenCandidates(glob: String!): [FileParts]
|
|
|
|
"""Project configuration"""
|
|
config: JSON!
|
|
|
|
"""Config File, specified by the CLI or """
|
|
configFile: String
|
|
|
|
"""Config File Absolute Path"""
|
|
configFileAbsolutePath: String
|
|
|
|
"""The mode the interactive runner was launched in"""
|
|
currentTestingType: TestingTypeEnum
|
|
|
|
"""Default spec file name for spec creation"""
|
|
defaultSpecFileName: String
|
|
|
|
"""File extension to use based on if the project has typescript or not"""
|
|
fileExtensionToUse: FileExtensionEnum
|
|
|
|
"""Whether the project has a valid config file"""
|
|
hasValidConfigFile: Boolean
|
|
|
|
"""Relay style Node ID field for the CurrentProject field"""
|
|
id: ID!
|
|
|
|
"""Whether the user configured this project to use Component Testing"""
|
|
isCTConfigured: Boolean
|
|
|
|
"""True if the project is using the default spec pattern"""
|
|
isDefaultSpecPattern: Boolean!
|
|
|
|
"""Whether the user configured this project to use e2e Testing"""
|
|
isE2EConfigured: Boolean
|
|
|
|
"""Whether or not the full config is ready"""
|
|
isFullConfigReady: Boolean
|
|
|
|
"""Whether we are currently loading the configFile"""
|
|
isLoadingConfigFile: Boolean
|
|
|
|
"""Whether we are currently loading the setupNodeEvents"""
|
|
isLoadingNodeEvents: Boolean
|
|
|
|
"""Whether the project has Typescript"""
|
|
isUsingTypeScript: Boolean
|
|
|
|
"""Whether the project needs to be migrated before proceeding"""
|
|
needsLegacyConfigMigration: Boolean
|
|
packageManager: PackageManagerEnum!
|
|
|
|
"""Cached preferences for this project"""
|
|
preferences: ProjectPreferences
|
|
|
|
"""Used to associate project with Cypress dashboard"""
|
|
projectId: String
|
|
|
|
"""Absolute path to the project on the filesystem"""
|
|
projectRoot: String!
|
|
|
|
"""Project saved state"""
|
|
savedState: JSON
|
|
|
|
"""base64 encoded config used on the runner page"""
|
|
serveConfig: JSON!
|
|
|
|
"""A list of specs for the currently open testing type of a project"""
|
|
specs: [Spec!]!
|
|
title: String!
|
|
}
|
|
|
|
"""
|
|
A date string, such as 2007-12-03, compliant with the `full-date` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
|
|
"""
|
|
scalar Date
|
|
|
|
"""
|
|
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
|
|
"""
|
|
scalar DateTime
|
|
|
|
enum DevRelaunchAction {
|
|
dismiss
|
|
trigger
|
|
}
|
|
|
|
"""State associated/helpful for local development of Cypress"""
|
|
type DevState {
|
|
"""
|
|
When we have edited server related files, we may want to relaunch the client.
|
|
"""
|
|
needsRelaunch: Boolean
|
|
|
|
"""For debugging, the current application state"""
|
|
state: JSON
|
|
}
|
|
|
|
"""Represents an editor on the local machine"""
|
|
type Editor {
|
|
"""Binary that opens the editor"""
|
|
binary: String
|
|
id: String!
|
|
|
|
"""name of editor"""
|
|
name: String!
|
|
}
|
|
|
|
enum ErrorTypeEnum {
|
|
AUTOMATION_SERVER_DISCONNECTED
|
|
BAD_POLICY_WARNING
|
|
BAD_POLICY_WARNING_TOOLTIP
|
|
BROWSER_NOT_FOUND_BY_NAME
|
|
BROWSER_NOT_FOUND_BY_PATH
|
|
BUNDLE_ERROR
|
|
CANNOT_CONNECT_BASE_URL
|
|
CANNOT_CONNECT_BASE_URL_RETRYING
|
|
CANNOT_CONNECT_BASE_URL_WARNING
|
|
CANNOT_CREATE_PROJECT_TOKEN
|
|
CANNOT_FETCH_PROJECT_TOKEN
|
|
CANNOT_RECORD_NO_PROJECT_ID
|
|
CANNOT_REMOVE_OLD_BROWSER_PROFILES
|
|
CANNOT_TRASH_ASSETS
|
|
CDP_COULD_NOT_CONNECT
|
|
CDP_COULD_NOT_RECONNECT
|
|
CDP_RETRYING_CONNECTION
|
|
CDP_VERSION_TOO_OLD
|
|
CHROME_WEB_SECURITY_NOT_SUPPORTED
|
|
COMPONENT_FOLDER_REMOVED
|
|
CONFIG_FILES_LANGUAGE_CONFLICT
|
|
CONFIG_FILE_DEV_SERVER_INVALID_RETURN
|
|
CONFIG_FILE_DEV_SERVER_IS_NOT_VALID
|
|
CONFIG_FILE_INVALID_DEV_START_EVENT
|
|
CONFIG_FILE_INVALID_ROOT_CONFIG
|
|
CONFIG_FILE_INVALID_ROOT_CONFIG_COMPONENT
|
|
CONFIG_FILE_INVALID_ROOT_CONFIG_E2E
|
|
CONFIG_FILE_INVALID_TESTING_TYPE_CONFIG_COMPONENT
|
|
CONFIG_FILE_INVALID_TESTING_TYPE_CONFIG_E2E
|
|
CONFIG_FILE_MIGRATION_NEEDED
|
|
CONFIG_FILE_NOT_FOUND
|
|
CONFIG_FILE_REQUIRE_ERROR
|
|
CONFIG_FILE_SETUP_NODE_EVENTS_ERROR
|
|
CONFIG_FILE_UNEXPECTED_ERROR
|
|
CONFIG_VALIDATION_ERROR
|
|
CONFIG_VALIDATION_MSG_ERROR
|
|
COULD_NOT_FIND_SYSTEM_NODE
|
|
COULD_NOT_PARSE_ARGUMENTS
|
|
DASHBOARD_ALREADY_COMPLETE
|
|
DASHBOARD_API_RESPONSE_FAILED_RETRYING
|
|
DASHBOARD_CANCEL_SKIPPED_SPEC
|
|
DASHBOARD_CANNOT_CREATE_RUN_OR_INSTANCE
|
|
DASHBOARD_CANNOT_PROCEED_IN_PARALLEL
|
|
DASHBOARD_CANNOT_PROCEED_IN_SERIAL
|
|
DASHBOARD_CANNOT_UPLOAD_RESULTS
|
|
DASHBOARD_GRAPHQL_ERROR
|
|
DASHBOARD_INVALID_RUN_REQUEST
|
|
DASHBOARD_PARALLEL_DISALLOWED
|
|
DASHBOARD_PARALLEL_GROUP_PARAMS_MISMATCH
|
|
DASHBOARD_PARALLEL_REQUIRED
|
|
DASHBOARD_PROJECT_NOT_FOUND
|
|
DASHBOARD_RECORD_KEY_NOT_VALID
|
|
DASHBOARD_RUN_GROUP_NAME_NOT_UNIQUE
|
|
DASHBOARD_STALE_RUN
|
|
DASHBOARD_UNKNOWN_CREATE_RUN_WARNING
|
|
DASHBOARD_UNKNOWN_INVALID_REQUEST
|
|
DEFAULT_SUPPORT_FILE_NOT_FOUND
|
|
DEPRECATED_BEFORE_BROWSER_LAUNCH_ARGS
|
|
DUPLICATE_TASK_KEY
|
|
ERROR_READING_FILE
|
|
ERROR_WRITING_FILE
|
|
EXPERIMENTAL_COMPONENT_TESTING_REMOVED
|
|
EXPERIMENTAL_NETWORK_STUBBING_REMOVED
|
|
EXPERIMENTAL_RUN_EVENTS_REMOVED
|
|
EXPERIMENTAL_SAMESITE_REMOVED
|
|
EXPERIMENTAL_SESSION_SUPPORT_REMOVED
|
|
EXPERIMENTAL_SHADOW_DOM_REMOVED
|
|
EXPERIMENTAL_STUDIO_REMOVED
|
|
EXTENSION_NOT_LOADED
|
|
FIREFOX_COULD_NOT_CONNECT
|
|
FIREFOX_GC_INTERVAL_REMOVED
|
|
FIREFOX_MARIONETTE_FAILURE
|
|
FIXTURE_NOT_FOUND
|
|
FOLDER_NOT_WRITABLE
|
|
FREE_PLAN_EXCEEDS_MONTHLY_PRIVATE_TESTS
|
|
FREE_PLAN_EXCEEDS_MONTHLY_TESTS
|
|
FREE_PLAN_IN_GRACE_PERIOD_EXCEEDS_MONTHLY_PRIVATE_TESTS
|
|
FREE_PLAN_IN_GRACE_PERIOD_EXCEEDS_MONTHLY_TESTS
|
|
FREE_PLAN_IN_GRACE_PERIOD_PARALLEL_FEATURE
|
|
INCOMPATIBLE_PLUGIN_RETRIES
|
|
INCORRECT_CI_BUILD_ID_USAGE
|
|
INDETERMINATE_CI_BUILD_ID
|
|
INTEGRATION_FOLDER_REMOVED
|
|
INVALID_CONFIG_OPTION
|
|
INVALID_CYPRESS_INTERNAL_ENV
|
|
INVALID_REPORTER_NAME
|
|
INVOKED_BINARY_OUTSIDE_NPM_MODULE
|
|
LEGACY_CONFIG_ERROR_DURING_MIGRATION
|
|
LEGACY_CONFIG_FILE
|
|
MIGRATION_ALREADY_OCURRED
|
|
MIGRATION_CYPRESS_NOT_FOUND
|
|
MIGRATION_MISMATCHED_CYPRESS_VERSIONS
|
|
MULTIPLE_SUPPORT_FILES_FOUND
|
|
NODE_VERSION_DEPRECATION_BUNDLED
|
|
NODE_VERSION_DEPRECATION_SYSTEM
|
|
NOT_LOGGED_IN
|
|
NO_DEFAULT_CONFIG_FILE_FOUND
|
|
NO_PROJECT_FOUND_AT_PROJECT_ROOT
|
|
NO_PROJECT_ID
|
|
NO_SPECS_FOUND
|
|
PAID_PLAN_EXCEEDS_MONTHLY_PRIVATE_TESTS
|
|
PARALLEL_FEATURE_NOT_AVAILABLE_IN_PLAN
|
|
PLAN_EXCEEDS_MONTHLY_TESTS
|
|
PLAN_IN_GRACE_PERIOD_RUN_GROUPING_FEATURE_USED
|
|
PLUGINS_FILE_CONFIG_OPTION_REMOVED
|
|
PLUGINS_RUN_EVENT_ERROR
|
|
PORT_IN_USE_LONG
|
|
PORT_IN_USE_SHORT
|
|
PROJECT_ID_AND_KEY_BUT_MISSING_RECORD_OPTION
|
|
RECORDING_FROM_FORK_PR
|
|
RECORD_KEY_MISSING
|
|
RECORD_PARAMS_WITHOUT_RECORDING
|
|
RENAMED_CONFIG_OPTION
|
|
RENDERER_CRASHED
|
|
RUN_GROUPING_FEATURE_NOT_AVAILABLE_IN_PLAN
|
|
SETUP_NODE_EVENTS_DO_NOT_SUPPORT_DEV_SERVER
|
|
SETUP_NODE_EVENTS_INVALID_EVENT_NAME_ERROR
|
|
SETUP_NODE_EVENTS_IS_NOT_FUNCTION
|
|
SUPPORT_FILE_NOT_FOUND
|
|
TESTS_DID_NOT_START_FAILED
|
|
TESTS_DID_NOT_START_RETRYING
|
|
TEST_FILES_RENAMED
|
|
UNEXPECTED_BEFORE_BROWSER_LAUNCH_PROPERTIES
|
|
UNEXPECTED_INTERNAL_ERROR
|
|
UNEXPECTED_MUTATION_ERROR
|
|
UNSUPPORTED_BROWSER_VERSION
|
|
VIDEO_POST_PROCESSING_FAILED
|
|
VIDEO_RECORDING_FAILED
|
|
}
|
|
|
|
"""Base error"""
|
|
type ErrorWrapper {
|
|
"""The code frame to display in relation to the error"""
|
|
codeFrame: CodeFrame
|
|
|
|
"""The markdown formatted content associated with the ErrorTypeEnum"""
|
|
errorMessage: String!
|
|
|
|
"""Name of the error class"""
|
|
errorName: String!
|
|
|
|
"""
|
|
The error stack of either the original error from the user or from where the internal Cypress error was created
|
|
"""
|
|
errorStack: String!
|
|
errorType: ErrorTypeEnum!
|
|
|
|
"""
|
|
Whether the error came from user code, can be used to determine whether to open a stack trace by default
|
|
"""
|
|
isUserCodeError: Boolean!
|
|
|
|
"""
|
|
Optional title of the error. Used to optionally display a title above the error
|
|
"""
|
|
title: String
|
|
}
|
|
|
|
input FileDetailsInput {
|
|
column: Int
|
|
|
|
"""
|
|
When we open a file we take a filePath, either relative to the project root, or absolute on disk
|
|
"""
|
|
filePath: String!
|
|
line: Int
|
|
}
|
|
|
|
enum FileExtensionEnum {
|
|
js
|
|
ts
|
|
}
|
|
|
|
"""Represents a file on the file system"""
|
|
type FileParts implements Node {
|
|
"""
|
|
Absolute path to file (e.g. /Users/jess/my-project/src/component/MySpec.test.tsx)
|
|
"""
|
|
absolute: String!
|
|
|
|
"""Full name of the file (e.g. MySpec.test.tsx)"""
|
|
baseName: String!
|
|
|
|
"""
|
|
If provided, used to specify the column of the file to open in openFileInIDE
|
|
"""
|
|
column: Int
|
|
|
|
"""The contents of the file"""
|
|
contents: String!
|
|
|
|
"""The file's extension"""
|
|
fileExtension: String!
|
|
|
|
"""The first part of the file, without extensions (e.g. MySpec)"""
|
|
fileName: String!
|
|
|
|
"""Relay style Node ID field for the FileParts field"""
|
|
id: ID!
|
|
|
|
"""
|
|
If provided, used to specify the line of the file to open in openFileInIDE
|
|
"""
|
|
line: Int
|
|
|
|
"""Full name of spec file (e.g. MySpec.test.tsx)"""
|
|
name: String!
|
|
|
|
"""Relative path to file (e.g. src/component/MySpec.test.tsx)"""
|
|
relative: String!
|
|
}
|
|
|
|
enum FrontendFrameworkEnum {
|
|
nextjs
|
|
nuxtjs
|
|
react
|
|
reactscripts
|
|
vue2
|
|
vue3
|
|
vueclivue2
|
|
vueclivue3
|
|
}
|
|
|
|
"""Error from generated spec"""
|
|
type GenerateSpecResponse {
|
|
"""The currently opened project"""
|
|
currentProject: CurrentProject
|
|
|
|
"""The file that have just been scaffolded or the fileName that errored"""
|
|
generatedSpecResult: GeneratedSpecResult
|
|
}
|
|
|
|
"""Error from generated spec"""
|
|
type GeneratedSpecError {
|
|
erroredCodegenCandidate: String!
|
|
fileName: String!
|
|
}
|
|
|
|
union GeneratedSpecResult = GeneratedSpecError | ScaffoldedFile
|
|
|
|
"""Git information about a spec file"""
|
|
type GitInfo {
|
|
"""Last person to change the file in git"""
|
|
author: String
|
|
|
|
"""last modified as a pretty string, eg 2 days ago"""
|
|
lastModifiedHumanReadable: String
|
|
|
|
"""last modified timestamp, eg 2021-09-14 13:43:19 +1000"""
|
|
lastModifiedTimestamp: String
|
|
|
|
"""short hash for latest commit"""
|
|
shortHash: String
|
|
|
|
"""status type - created or modified"""
|
|
statusType: GitInfoStatusType
|
|
|
|
"""subject for latest commit"""
|
|
subject: String
|
|
}
|
|
|
|
enum GitInfoStatusType {
|
|
created
|
|
modified
|
|
unmodified
|
|
}
|
|
|
|
"""A project which exists on the filesystem but has not been opened"""
|
|
type GlobalProject implements Node & ProjectLike {
|
|
"""Relay style Node ID field for the GlobalProject field"""
|
|
id: ID!
|
|
|
|
"""Used to associate project with Cypress dashboard"""
|
|
projectId: String
|
|
|
|
"""Absolute path to the project on the filesystem"""
|
|
projectRoot: String!
|
|
title: String!
|
|
}
|
|
|
|
"""
|
|
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
|
|
"""
|
|
scalar JSON
|
|
|
|
"""local settings on a device-by-device basis"""
|
|
type LocalSettings {
|
|
availableEditors: [Editor!]!
|
|
preferences: LocalSettingsPreferences!
|
|
}
|
|
|
|
"""local setting preferences"""
|
|
type LocalSettingsPreferences {
|
|
autoScrollingEnabled: Boolean
|
|
isSideNavigationOpen: Boolean
|
|
isSpecsListOpen: Boolean
|
|
preferredEditorBinary: String
|
|
proxyBypass: String
|
|
proxyServer: String
|
|
reporterWidth: Int
|
|
specListWidth: Int
|
|
}
|
|
|
|
type ManualMigration implements Node {
|
|
"""is the manual migration completed (all files are moved)"""
|
|
completed: Boolean!
|
|
|
|
"""files needing manual migration"""
|
|
files: [ManualMigrationFile!]!
|
|
|
|
"""Relay style Node ID field for the ManualMigration field"""
|
|
id: ID!
|
|
}
|
|
|
|
type ManualMigrationFile implements Node {
|
|
"""Relay style Node ID field for the ManualMigrationFile field"""
|
|
id: ID!
|
|
|
|
"""has the file been moved since opening the migration helper"""
|
|
moved: Boolean!
|
|
|
|
"""name of file to migrate"""
|
|
relative: String!
|
|
}
|
|
|
|
"""Contains all data related to the 9.X to 10.0 migration UI"""
|
|
type Migration {
|
|
"""the component folder path used to store components tests"""
|
|
componentFolder: String!
|
|
|
|
"""contents of the cypress.json file after conversion"""
|
|
configAfterCode: String!
|
|
|
|
"""contents of the cypress.json file before conversion"""
|
|
configBeforeCode: String!
|
|
|
|
"""the name of the config file after the migration"""
|
|
configFileNameAfter: String!
|
|
|
|
"""the name of the config file to be migrated"""
|
|
configFileNameBefore: String!
|
|
|
|
"""Steps filtered with the current context"""
|
|
filteredSteps: [MigrationStep!]!
|
|
|
|
"""whether component testing is set up in the migrated config or not"""
|
|
hasComponentTesting: Boolean!
|
|
|
|
"""whether the component folder is custom or not"""
|
|
hasCustomComponentFolder: Boolean!
|
|
|
|
"""whether the testFiles member is custom or not in component testing"""
|
|
hasCustomComponentTestFiles: Boolean!
|
|
|
|
"""whether the integration folder is custom or not"""
|
|
hasCustomIntegrationFolder: Boolean!
|
|
|
|
"""whether the testFiles member is custom or not in integration"""
|
|
hasCustomIntegrationTestFiles: Boolean!
|
|
|
|
"""the integration folder path used to store e2e tests"""
|
|
integrationFolder: String!
|
|
|
|
"""Whether the project has Typescript"""
|
|
isUsingTypeScript: Boolean
|
|
|
|
"""List of files needing manual conversion"""
|
|
manualFiles: ManualMigration
|
|
|
|
"""whether the pre extension info should be displayed"""
|
|
shouldMigratePreExtension: Boolean
|
|
|
|
"""All spec files after conversion"""
|
|
specFiles: [MigrationFile!]!
|
|
|
|
"""Support files needing automated rename"""
|
|
supportFiles: MigrationFile
|
|
}
|
|
|
|
type MigrationFile {
|
|
after: MigrationFileData!
|
|
before: MigrationFileData!
|
|
testingType: TestingTypeEnum!
|
|
}
|
|
|
|
type MigrationFileData implements Node {
|
|
"""Relay style Node ID field for the MigrationFileData field"""
|
|
id: ID!
|
|
parts: [MigrationFilePart!]!
|
|
relative: String!
|
|
}
|
|
|
|
type MigrationFilePart implements Node {
|
|
"""is this part a folder or extension that needs migration"""
|
|
group: String
|
|
|
|
"""should highlight in migration UI"""
|
|
highlight: Boolean!
|
|
|
|
"""Relay style Node ID field for the MigrationFilePart field"""
|
|
id: ID!
|
|
|
|
"""part of filename"""
|
|
text: String!
|
|
}
|
|
|
|
type MigrationRegexp {
|
|
"""regexp to use to rename existing specs in component"""
|
|
afterComponent: String!
|
|
|
|
"""regexp to use to rename existing specs in e2e"""
|
|
afterE2E: String!
|
|
|
|
"""regexp to identify existing specs in component"""
|
|
beforeComponent: String!
|
|
|
|
"""regexp to identify existing specs in e2e"""
|
|
beforeE2E: String!
|
|
}
|
|
|
|
"""Contains all data related to the 9.X to 10.0 migration UI"""
|
|
type MigrationStep implements Node {
|
|
"""Relay style Node ID field for the MigrationStep field"""
|
|
id: ID!
|
|
|
|
"""Index of the step in the list"""
|
|
index: Int!
|
|
|
|
"""Has the current step been completed"""
|
|
isCompleted: Boolean!
|
|
|
|
"""This is the current step"""
|
|
isCurrentStep: Boolean!
|
|
|
|
"""Identifier of the step"""
|
|
name: MigrationStepEnum!
|
|
}
|
|
|
|
enum MigrationStepEnum {
|
|
configFile
|
|
renameAuto
|
|
renameManual
|
|
renameSupport
|
|
setupComponent
|
|
}
|
|
|
|
type Mutation {
|
|
"""Internal use only, clears the cloud cache"""
|
|
_clearCloudCache: Boolean
|
|
|
|
"""Used internally to update the URQL cache in the CloudDataSource"""
|
|
_cloudCacheInvalidate(args: JSON): Boolean
|
|
|
|
"""Add project to projects array and cache it"""
|
|
addProject(
|
|
"""Whether to open the project when added"""
|
|
open: Boolean
|
|
path: String
|
|
): Query
|
|
|
|
"""Clears the currently active project"""
|
|
clearCurrentProject: Query
|
|
clearCurrentTestingType: Query
|
|
|
|
"""Close active browser"""
|
|
closeBrowser: Boolean
|
|
|
|
"""Create a project in the dashboard and return its object"""
|
|
cloudProjectCreate(ciProviders: [String!], name: String!, orgId: ID!, public: Boolean!): CloudProject
|
|
|
|
"""Request access to an organization from a projectId"""
|
|
cloudProjectRequestAccess(projectSlug: String!): CloudProjectResult
|
|
completeSetup: Query
|
|
|
|
"""add the passed text to the local clipboard"""
|
|
copyTextToClipboard(text: String!): Boolean
|
|
|
|
"""
|
|
Development only: Triggers or dismisses a prompted refresh by touching the file watched by our development scripts
|
|
"""
|
|
devRelaunch(action: DevRelaunchAction!): Boolean
|
|
|
|
"""Dismisses a warning displayed by the frontend"""
|
|
dismissWarning: Query
|
|
|
|
"""user has finished migration component specs - move to next step"""
|
|
finishedRenamingComponentSpecs: Query
|
|
|
|
"""Sets focus to the active browser window"""
|
|
focusActiveBrowserWindow: Boolean!
|
|
|
|
"""Generate spec from source"""
|
|
generateSpecFromSource(codeGenCandidate: String!, erroredCodegenCandidate: String, type: CodeGenType!): GenerateSpecResponse
|
|
internal_clearAllProjectPreferencesCache: Boolean
|
|
internal_clearLatestProjectCache: Boolean
|
|
internal_clearProjectPreferencesCache(projectTitle: String!): Boolean
|
|
|
|
"""Launches project from open_project global singleton"""
|
|
launchOpenProject(specPath: String): CurrentProject
|
|
|
|
"""Sets the active browser"""
|
|
launchpadSetBrowser(
|
|
"""ID of the browser that we want to set"""
|
|
id: ID!
|
|
): CurrentProject
|
|
|
|
"""Auth with Cypress Dashboard"""
|
|
login: Query
|
|
|
|
"""Log out of Cypress Dashboard"""
|
|
logout: Query
|
|
|
|
"""Check if a give spec file will match the project spec pattern"""
|
|
matchesSpecPattern(specFile: String!): Boolean!
|
|
|
|
"""While migrating to 10+ skip manual rename step"""
|
|
migrateCloseManualRenameWatcher: Boolean
|
|
|
|
"""Merges the component testing config in cypress.config.{js,ts}"""
|
|
migrateComponentTesting: Query
|
|
|
|
"""Transforms cypress.json file into cypress.config.js file"""
|
|
migrateConfigFile: Query
|
|
|
|
"""While migrating to 10+ renames files to match the new .cy pattern"""
|
|
migrateRenameSpecs(
|
|
"""specs to move - current name"""
|
|
after: [String!]
|
|
|
|
"""specs to move - current name"""
|
|
before: [String!]
|
|
skip: Boolean
|
|
): Query
|
|
|
|
"""When the user decides to skip specs rename"""
|
|
migrateRenameSpecsFolder: Query
|
|
|
|
"""While migrating to 10+ launch renaming of support file"""
|
|
migrateRenameSupport: Query
|
|
|
|
"""While migrating to 10+ skip manual rename step"""
|
|
migrateSkipManualRename: Query
|
|
|
|
"""Open a path in preferred IDE"""
|
|
openDirectoryInIDE(path: String!): Boolean
|
|
openExternal(includeGraphqlPort: Boolean, url: String!): Boolean
|
|
|
|
"""Open a file on specified line and column in preferred IDE"""
|
|
openFileInIDE(input: FileDetailsInput!): Boolean
|
|
|
|
"""Open a path in the local file explorer"""
|
|
openInFinder(path: String!): Boolean
|
|
|
|
"""Ping configured Base URL"""
|
|
pingBaseUrl: Query
|
|
|
|
"""show the launchpad windows"""
|
|
reconfigureProject: Boolean!
|
|
|
|
"""
|
|
Signal that we are explicitly refetching remote data and should not use the server cache
|
|
"""
|
|
refetchRemote: Query
|
|
|
|
"""Clears the cloudViewer cache to refresh the organizations"""
|
|
refreshOrganizations: Query
|
|
|
|
"""Remove project from projects array and cache"""
|
|
removeProject(path: String!): Query
|
|
|
|
"""Reset the Auth State"""
|
|
resetAuthState: Query!
|
|
|
|
"""Resets errors and attempts to reload the config"""
|
|
resetErrorsAndLoadConfig: Query
|
|
|
|
"""
|
|
Resets the latest version call to capture additional telemetry for the current user
|
|
"""
|
|
resetLatestVersionTelemetry: Boolean!
|
|
|
|
"""Reset the Wizard to the starting position"""
|
|
resetWizard: Boolean!
|
|
scaffoldIntegration: [ScaffoldedFile!]!
|
|
scaffoldTestingType: Query
|
|
setAndLoadCurrentTestingType(testingType: TestingTypeEnum!): Query
|
|
|
|
"""Set active project to run tests on"""
|
|
setCurrentProject(path: String!): Query
|
|
|
|
"""
|
|
Update local preferences (also known as appData). The payload, `value`, should be a `JSON.stringified()` object of the new values you'd like to persist. Example: `setPreferences (value: JSON.stringify({ lastOpened: Date.now() }))`
|
|
"""
|
|
setPreferences(value: String!): Query
|
|
|
|
"""Set the projectId field in the config file of the current project"""
|
|
setProjectIdInConfigFile(projectId: String!): Query
|
|
|
|
"""Save the projects preferences to cache"""
|
|
setProjectPreferences(testingType: TestingTypeEnum!): Query!
|
|
|
|
"""Save the prompt-shown state for this project"""
|
|
setPromptShown(slug: String!): Boolean
|
|
|
|
"""Set the selected testing type, and reconfigure the project"""
|
|
setTestingTypeAndReconfigureProject(isApp: Boolean!, testingType: TestingTypeEnum!): Query
|
|
|
|
"""Switch Testing type and relaunch browser"""
|
|
switchTestingTypeAndRelaunch(testingType: TestingTypeEnum!): Boolean
|
|
|
|
"""Updates the different fields of the wizard data store"""
|
|
wizardUpdate(input: WizardUpdateInput!): Wizard
|
|
}
|
|
|
|
"""Implements the Relay Node spec"""
|
|
interface Node {
|
|
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
|
|
id: ID!
|
|
}
|
|
|
|
enum PackageManagerEnum {
|
|
npm
|
|
pnpm
|
|
yarn
|
|
}
|
|
|
|
"""
|
|
PageInfo cursor, as defined in https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
|
|
"""
|
|
type PageInfo {
|
|
"""
|
|
The cursor corresponding to the last nodes in edges. Null if the connection is empty.
|
|
"""
|
|
endCursor: String
|
|
|
|
"""
|
|
Used to indicate whether more edges exist following the set defined by the clients arguments.
|
|
"""
|
|
hasNextPage: Boolean!
|
|
|
|
"""
|
|
Used to indicate whether more edges exist prior to the set defined by the clients arguments.
|
|
"""
|
|
hasPreviousPage: Boolean!
|
|
|
|
"""
|
|
The cursor corresponding to the first nodes in edges. Null if the connection is empty.
|
|
"""
|
|
startCursor: String
|
|
}
|
|
|
|
enum PluginsState {
|
|
error
|
|
initialized
|
|
initializing
|
|
uninitialized
|
|
}
|
|
|
|
"""Common base fields inherited by GlobalProject / CurrentProject"""
|
|
interface ProjectLike {
|
|
"""Used to associate project with Cypress dashboard"""
|
|
projectId: String
|
|
|
|
"""Absolute path to the project on the filesystem"""
|
|
projectRoot: String!
|
|
title: String!
|
|
}
|
|
|
|
"""Preferences specific to a project"""
|
|
type ProjectPreferences {
|
|
"""The preferred testing type to start in"""
|
|
testingType: String
|
|
}
|
|
|
|
type PushFragmentPayload {
|
|
data: JSON
|
|
fragment: JSON!
|
|
target: String!
|
|
}
|
|
|
|
"""The root "Query" type containing all entry fields for our querying"""
|
|
type Query {
|
|
"""The latest state of the auth process"""
|
|
authState: AuthState!
|
|
baseError: ErrorWrapper
|
|
cachedUser: CachedUser
|
|
|
|
"""Returns an object conforming to the Relay spec"""
|
|
cloudNode(
|
|
"""An ID for a Node conforming to the Relay spec"""
|
|
id: ID!
|
|
): Node
|
|
|
|
"""Returns a list of cloud nodes, by ID. Max 100 nodes per batch"""
|
|
cloudNodesByIds(
|
|
"""A list of IDs for a Node, conforming to the Relay spec"""
|
|
ids: [ID!]!
|
|
): [Node]
|
|
|
|
"""Lookup an individual project by the slug"""
|
|
cloudProjectBySlug(slug: String!): CloudProjectResult
|
|
|
|
"""Lookup a list of projects by their slug"""
|
|
cloudProjectsBySlugs(
|
|
"""A list of Project slugs"""
|
|
slugs: [String!]!
|
|
): [CloudProjectResult]
|
|
|
|
"""A user within the Cypress Cloud"""
|
|
cloudViewer: CloudUser
|
|
|
|
"""The currently opened project"""
|
|
currentProject: CurrentProject
|
|
|
|
"""The state of any info related to local development of the runner"""
|
|
dev: DevState!
|
|
|
|
"""Whether the app is in global mode or not"""
|
|
isInGlobalMode: Boolean!
|
|
|
|
"""local settings on a device-by-device basis"""
|
|
localSettings: LocalSettings!
|
|
|
|
"""Metadata about the migration, null if we aren't showing it"""
|
|
migration: Migration
|
|
node(id: ID!): Node
|
|
|
|
"""Whether the project was specified from the --project flag"""
|
|
projectRootFromCI: Boolean!
|
|
|
|
"""All known projects for the app"""
|
|
projects: [ProjectLike!]!
|
|
|
|
"""The files that have just been scaffolded"""
|
|
scaffoldedFiles: [ScaffoldedFile!]
|
|
|
|
"""Previous versions of cypress and their release date"""
|
|
versions: VersionData
|
|
|
|
"""A list of warnings"""
|
|
warnings: [ErrorWrapper!]!
|
|
|
|
"""Metadata about the wizard"""
|
|
wizard: Wizard!
|
|
}
|
|
|
|
"""A file that we just added to the filesystem during project setup"""
|
|
type ScaffoldedFile {
|
|
"""Info about the file we just scaffolded"""
|
|
description: String!
|
|
|
|
"""Info about the file"""
|
|
file: FileParts!
|
|
|
|
"""Info about the field"""
|
|
status: WizardConfigFileStatusEnum!
|
|
}
|
|
|
|
"""Represents a spec on the file system"""
|
|
type Spec implements Node {
|
|
"""
|
|
Absolute path to spec (e.g. /Users/jess/my-project/src/component/MySpec.test.tsx)
|
|
"""
|
|
absolute: String!
|
|
|
|
"""Full name of spec file (e.g. MySpec.test.tsx)"""
|
|
baseName: String!
|
|
|
|
"""The file extension (e.g. tsx, jsx)"""
|
|
fileExtension: String!
|
|
|
|
"""The first part of the file, without extensions (e.g. MySpec)"""
|
|
fileName: String!
|
|
|
|
"""Git information about the spec file"""
|
|
gitInfo: GitInfo
|
|
|
|
"""Relay style Node ID field for the Spec field"""
|
|
id: ID!
|
|
|
|
"""Full name of spec file (e.g. MySpec.test.tsx)"""
|
|
name: String!
|
|
|
|
"""Relative path to spec (e.g. src/component/MySpec.test.tsx)"""
|
|
relative: String!
|
|
|
|
"""
|
|
The spec file's extension, including "spec" pattern (e.g. .spec.tsx, -spec.tsx, -test.tsx)
|
|
"""
|
|
specFileExtension: String!
|
|
|
|
"""Type of spec (e.g. component | integration)"""
|
|
specType: SpecType!
|
|
}
|
|
|
|
enum SpecType {
|
|
component
|
|
integration
|
|
}
|
|
|
|
type Subscription {
|
|
"""Triggered when the auth state changes"""
|
|
authChange: Query
|
|
|
|
"""Triggered when the base error state changes"""
|
|
baseErrorChange: Query
|
|
|
|
"""Issued when the current branch of a project changes"""
|
|
branchChange: CurrentProject
|
|
|
|
"""Status of the currently opened browser"""
|
|
browserStatusChange: CurrentProject
|
|
|
|
"""
|
|
Triggered when there is a change to the info associated with the cloud project (org added, project added)
|
|
"""
|
|
cloudViewerChange: Query
|
|
|
|
"""Issued when cypress.config.js is re-executed due to a change"""
|
|
configChange: CurrentProject
|
|
|
|
"""Issued for internal development changes"""
|
|
devChange: DevState
|
|
|
|
"""
|
|
When the git info has refreshed for some or all of the specs, we fire this event with the specs updated
|
|
"""
|
|
gitInfoChange: [Spec]
|
|
|
|
"""
|
|
When we have resolved a section of a query, and want to update the local normalized cache, we "push" the fragment to the frontend to merge in the client side cache
|
|
"""
|
|
pushFragment: [PushFragmentPayload]
|
|
|
|
"""Issued when the watched specs for the project changes"""
|
|
specsChange: CurrentProject
|
|
}
|
|
|
|
enum SupportStatusEnum {
|
|
alpha
|
|
beta
|
|
full
|
|
}
|
|
|
|
"""The bundlers that we can use with Cypress"""
|
|
enum SupportedBundlers {
|
|
vite
|
|
webpack
|
|
}
|
|
|
|
enum TestingTypeEnum {
|
|
component
|
|
e2e
|
|
}
|
|
|
|
type TestingTypeInfo implements Node {
|
|
description: String!
|
|
|
|
"""Relay style Node ID field for the TestingTypeInfo field"""
|
|
id: ID!
|
|
title: String!
|
|
type: TestingTypeEnum!
|
|
}
|
|
|
|
"""Version of Cypress and release date"""
|
|
type Version {
|
|
"""unique id"""
|
|
id: String!
|
|
|
|
"""Release date as an iso8601 timestamp"""
|
|
released: String!
|
|
|
|
"""Version number (follows semantic versioning)"""
|
|
version: String!
|
|
}
|
|
|
|
"""Version of Cypress and release date"""
|
|
type VersionData {
|
|
"""current version of cypress you are using"""
|
|
current: Version!
|
|
|
|
"""latest version of cypress"""
|
|
latest: Version!
|
|
}
|
|
|
|
"""
|
|
The Wizard is a container for any state associated with initial onboarding to Cypress
|
|
"""
|
|
type Wizard {
|
|
"""All of the bundlers to choose from"""
|
|
allBundlers: [WizardBundler!]!
|
|
bundler: WizardBundler
|
|
framework: WizardFrontendFramework
|
|
|
|
"""All of the component testing frameworks to choose from"""
|
|
frameworks: [WizardFrontendFramework!]!
|
|
|
|
"""Command to install required command"""
|
|
installDependenciesCommand: String
|
|
|
|
"""
|
|
A list of packages to install, null if we have not chosen both a framework and bundler
|
|
"""
|
|
packagesToInstall: [WizardNpmPackage!]!
|
|
}
|
|
|
|
"""Wizard bundler"""
|
|
type WizardBundler implements Node {
|
|
"""Relay style Node ID field for the WizardBundler field"""
|
|
id: ID!
|
|
|
|
"""Whether this is the detected bundler"""
|
|
isDetected: Boolean!
|
|
|
|
"""Display name of the bundler"""
|
|
name: String!
|
|
|
|
"""The name of the framework"""
|
|
type: SupportedBundlers!
|
|
}
|
|
|
|
enum WizardConfigFileStatusEnum {
|
|
changes
|
|
error
|
|
skipped
|
|
valid
|
|
}
|
|
|
|
"""A frontend framework that we can setup within the app"""
|
|
type WizardFrontendFramework implements Node {
|
|
"""The category (framework, like react-scripts, or library, like react"""
|
|
category: String!
|
|
|
|
"""Relay style Node ID field for the WizardFrontendFramework field"""
|
|
id: ID!
|
|
|
|
"""Whether this is the detected framework"""
|
|
isDetected: Boolean!
|
|
|
|
"""Whether this is the selected framework in the wizard"""
|
|
isSelected: Boolean!
|
|
|
|
"""The display name of the framework"""
|
|
name: String!
|
|
|
|
"""Current support status of the framework"""
|
|
supportStatus: SupportStatusEnum!
|
|
|
|
"""All of the supported bundlers for this framework"""
|
|
supportedBundlers: [WizardBundler!]!
|
|
|
|
"""The unique identifier for a framework or library"""
|
|
type: FrontendFrameworkEnum!
|
|
}
|
|
|
|
"""Details about an NPM Package listed during the wizard install"""
|
|
type WizardNpmPackage implements Node {
|
|
"""Short description about the purpose of the package"""
|
|
description: String!
|
|
|
|
"""Version of the package the user has installed"""
|
|
detectedVersion: String
|
|
|
|
"""Relay style Node ID field for the WizardNpmPackage field"""
|
|
id: ID!
|
|
|
|
"""Minimum version of the package that Cypress works with"""
|
|
minVersion: String!
|
|
|
|
"""The package name that you would npm install"""
|
|
name: String!
|
|
|
|
"""Name of the package on npm"""
|
|
package: String!
|
|
|
|
"""
|
|
If the package is installed, does the version satisfy Cypress minimum requirements
|
|
"""
|
|
satisfied: Boolean!
|
|
}
|
|
|
|
input WizardUpdateInput {
|
|
bundler: SupportedBundlers
|
|
framework: FrontendFrameworkEnum
|
|
}
|