Replace Rose::CodeEditor with Hds::CodeEditor (#2679)

* chore: 🤖 replace Rose::CodeEditor with Hds::CodeEditor

- Remove CodeEditor 5 dependency

* chore: 🤖 Replace CodeMirror5 dep

remove CodeMirror5 and replace existing editors with HDS::CodeEditor

* chore: 🤖 deleting old codeeditor styles

* feat: 🎸 changing code editor

changing code editor

✅ Closes: 0

* removed unused export

* pr cleanup

* updating tests for new code editor

* responding to PR feedback

* added whitespace

* fixing linting violations

* chore: 🤖 self-review PR

self-review PR in the course of switching to new HDS code editor

* fix: 🐛 fix linting bug

* fix: 🐛 unneeded dependency

remove jslint dependency as this is handled in the new code editor from
HDS

* fix: 🐛 Fixing import bug

Fix import bug caused by importing scss modules that no longer exist

* Fix and refactor code editor acceptance test

* Fix and refactor code editor acceptance test

* chore: 🤖 remove codemirror dependency

* refactor: 💡 fix merge conflict issues

* test: 💍 update e2e test selectors

* test: 💍 fix target spec click event

* refactor: 💡 clean up test selectors for code editor

* refactor: 💡 clean up storage bucket test selectors

* chore: 🤖 remove code mirror modifiers

---------

Co-authored-by: calcaide <ccorvo@hashicorp.com>
Co-authored-by: cameronperera <cameron.perera@hashicorp.com>
This commit is contained in:
authored and Zhihe Li committed 2026-05-14 15:21:27 -04:00
1 parent fd1eba617b
commit d469f305de
41 files changed
+354 -744

No files matched your search

@@ -5,9 +5,10 @@
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render, click } from '@ember/test-helpers';
import { render, click, waitFor } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars';
import { setupIntl } from 'ember-intl/test-support';
import * as commonSelectors from 'admin/tests/helpers/selectors';
module('Integration | Component | form/field/json-secret', function (hooks) {
setupRenderingTest(hooks);
@@ -30,8 +31,10 @@ module('Integration | Component | form/field/json-secret', function (hooks) {
assert.dom('.secret-editor').isVisible();
assert.dom('.secret-editor-json').isVisible();
await waitFor(commonSelectors.CODE_EDITOR_CM);
assert
.dom('.secret-editor-json .CodeMirror-line')
.dom(commonSelectors.CODE_EDITOR_CONTENT)
.hasText(this.model.json_object);
});
@@ -5,9 +5,10 @@
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render, click, fillIn, select } from '@ember/test-helpers';
import { render, click, fillIn, select, waitFor } from '@ember/test-helpers';
import { hbs } from 'ember-cli-htmlbars';
import { setupIntl } from 'ember-intl/test-support';
import * as commonSelectors from 'admin/tests/helpers/selectors';
module(
'Integration | Component | worker-filter-generator/index',
@@ -15,9 +16,6 @@ module(
setupRenderingTest(hooks);
setupIntl(hooks, 'en-us');
const CODE_EDITOR = '[data-test-code-editor-field-editor]';
const CODE_EDITOR_LINE =
'[data-test-code-editor-field-editor] .CodeMirror-line';
const FILTER_GENERATOR = '[name="filter_generator"]';
const SHOW_FILTER_GENERATOR = '[name="show_filter_generator"]';
const TAG_TYPE_OPTION = '[value="tag"]';
@@ -32,9 +30,12 @@ module(
await render(
hbs`<WorkerFilterGenerator @name='egress_worker_filter' @model={{this.model}} />`,
);
await waitFor(commonSelectors.CODE_EDITOR_CM);
assert.dom(CODE_EDITOR).isVisible();
assert.dom(CODE_EDITOR_LINE).hasText(this.model.egress_worker_filter);
assert.dom(commonSelectors.CODE_EDITOR_CODE).isVisible();
assert
.dom(commonSelectors.CODE_EDITOR_CONTENT)
.hasText(this.model.egress_worker_filter);
});
test('it renders correct content when ingress_worker_filter is passed in', async function (assert) {
@@ -42,9 +43,12 @@ module(
await render(
hbs`<WorkerFilterGenerator @name='ingress_worker_filter' @model={{this.model}} />`,
);
await waitFor(commonSelectors.CODE_EDITOR_CM);
assert.dom(CODE_EDITOR).isVisible();
assert.dom(CODE_EDITOR_LINE).hasText(this.model.ingress_worker_filter);
assert.dom(commonSelectors.CODE_EDITOR_CODE).isVisible();
assert
.dom(commonSelectors.CODE_EDITOR_CONTENT)
.hasText(this.model.ingress_worker_filter);
});
test('toggleFilterGenerator shows filter generator when toggled on', async function (assert) {