From f6e7af954bf220cc83ffd545ee827cc722c36824 Mon Sep 17 00:00:00 2001 From: Bill Glesias Date: Wed, 28 Aug 2024 16:59:45 -0400 Subject: [PATCH] fix: adds a description for the JIT experiment which was overlooked on initial implementation [run ci] (#30128) --- cli/CHANGELOG.md | 8 ++++++++ packages/app/cypress/e2e/settings.cy.ts | 7 +++++++ packages/app/src/settings/project/ExperimentRow.vue | 2 ++ packages/frontend-shared/src/locales/en-US.json | 4 ++++ packages/server/lib/experiments.ts | 2 ++ 5 files changed, 23 insertions(+) diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 373e3da5b26f..20308045df2d 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -1,4 +1,12 @@ +## 13.14.1 + +_Released 8/29/2024 (PENDING)_ + +**Bugfixes:** + +- Fixed an issue where no description was available for the `experimentalJustInTimeCompile` feature inside the Cypress application settings page. Addresses [#30126](https://github.com/cypress-io/cypress/issues/30126). + ## 13.14.0 _Released 8/27/2024_ diff --git a/packages/app/cypress/e2e/settings.cy.ts b/packages/app/cypress/e2e/settings.cy.ts index 78f213ebe8ec..df69f27d2576 100644 --- a/packages/app/cypress/e2e/settings.cy.ts +++ b/packages/app/cypress/e2e/settings.cy.ts @@ -219,6 +219,13 @@ describe('App: Settings', () => { }) }) }) + + // makes sure all experiments have an i18n header and description available. + // @see https://github.com/cypress-io/cypress/issues/30126. + cy.get('[data-cy="settings-experiments"] [role="row"][data-cy^="experiment-"]').each((experimentRow) => { + cy.wrap(experimentRow[0]).get('[data-cy="experimentName"]').should('not.contain.text', 'settingsPage.') + cy.wrap(experimentRow[0]).get('[data-cy="experimentDescription"]').should('not.contain.text', 'settingsPage.') + }) }) it('shows the Resolved Configuration section', () => { diff --git a/packages/app/src/settings/project/ExperimentRow.vue b/packages/app/src/settings/project/ExperimentRow.vue index 304105c07c7f..38bfc3cc2e77 100644 --- a/packages/app/src/settings/project/ExperimentRow.vue +++ b/packages/app/src/settings/project/ExperimentRow.vue @@ -7,6 +7,7 @@

{{ experiment.name }}

@@ -22,6 +23,7 @@ diff --git a/packages/frontend-shared/src/locales/en-US.json b/packages/frontend-shared/src/locales/en-US.json index 7b57e47d4290..9436a8769730 100644 --- a/packages/frontend-shared/src/locales/en-US.json +++ b/packages/frontend-shared/src/locales/en-US.json @@ -609,6 +609,10 @@ "name": "Single tab run mode", "description": "Runs all component specs in a single tab, trading spec isolation for faster run mode execution." }, + "experimentalJustInTimeCompile": { + "name": "Just-In-Time compiling", + "description": "Enables Just-In-Time (JIT) compiling for component testing, which will only compile assets related to the spec before the spec is run. Currently supported for Vite and Webpack." + }, "experimentalSourceRewriting": { "name": "Source rewriting", "description": "Enables AST-based JS/HTML rewriting. This may fix issues caused by the existing regex-based JS/HTML replacement algorithm. See [#5273](https://github.com/cypress-io/cypress/issues/5273) for details." diff --git a/packages/server/lib/experiments.ts b/packages/server/lib/experiments.ts index 078877a0f3ea..6f115e307c23 100644 --- a/packages/server/lib/experiments.ts +++ b/packages/server/lib/experiments.ts @@ -53,6 +53,7 @@ interface StringValues { const _summaries: StringValues = { experimentalFetchPolyfill: 'Polyfills `window.fetch` to enable Network spying and stubbing.', experimentalInteractiveRunEvents: 'Allows listening to the `before:run`, `after:run`, `before:spec`, and `after:spec` events in the plugins file during interactive mode.', + experimentalJustInTimeCompile: 'Just-In-Time compiling', experimentalModifyObstructiveThirdPartyCode: 'Applies `modifyObstructiveCode` to third party `.html` and `.js`, removes subresource integrity, and modifies the user agent in Electron.', experimentalSkipDomainInjection: 'Disables setting document.domain to the document\'s super domain on injection.', experimentalSourceRewriting: 'Enables AST-based JS/HTML rewriting. This may fix issues caused by the existing regex-based JS/HTML replacement algorithm.', @@ -77,6 +78,7 @@ const _summaries: StringValues = { const _names: StringValues = { experimentalFetchPolyfill: 'Fetch Polyfill', experimentalInteractiveRunEvents: 'Interactive Mode Run Events', + experimentalJustInTimeCompile: 'Enables Just-In-Time (JIT) compiling for component testing, which will only compile assets related to the spec before the spec is run. Currently supported for Vite and Webpack.', experimentalModifyObstructiveThirdPartyCode: 'Modify Obstructive Third Party Code', experimentalSkipDomainInjection: 'Use Default document.domain', experimentalSingleTabRunMode: 'Single Tab Run Mode',