Skip to content

Commit 6f55537

Browse files
jackfranklinDevtools-frontend LUCI CQ
authored andcommitted
Ban ui/legacy and ui/lit from models
This CL: 1. Enables the lint rule to ban front_end/ui/{legacy,lit} from front_end/models 2. Disables the error for existing violations and links the parent bug to track the work to fix these violations. 3. Updates the rule to output a nicer error message with the path in. Bug: 442509324 Change-Id: I0f4f773ed363ae2d7c386fa5fc8022dc51e2748f Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6905250 Reviewed-by: Nikolay Vitkov <[email protected]> Commit-Queue: Jack Franklin <[email protected]> Auto-Submit: Jack Franklin <[email protected]>
1 parent 93afbef commit 6f55537

File tree

15 files changed

+82
-4
lines changed

15 files changed

+82
-4
lines changed

eslint.config.mjs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,40 @@ export default defineConfig([
852852
],
853853
},
854854
},
855+
{
856+
name: 'No UI in models',
857+
files: ['front_end/models/**/*.ts'],
858+
ignores: ['front_end/models/**/*.test.ts'],
859+
rules: {
860+
'rulesdir/no-imports-in-directory': [
861+
'error',
862+
{
863+
bannedImportPaths: [
864+
{
865+
bannedPath: join(
866+
import.meta.dirname,
867+
'front_end',
868+
'ui',
869+
'legacy',
870+
'legacy.js',
871+
),
872+
allowTypeImports: false,
873+
},
874+
{
875+
bannedPath: join(
876+
import.meta.dirname,
877+
'front_end',
878+
'ui',
879+
'lit',
880+
'lit.js',
881+
),
882+
allowTypeImports: false,
883+
},
884+
],
885+
},
886+
],
887+
},
888+
},
855889
{
856890
name: 'Recorder injected code',
857891
files: ['front_end/panels/recorder/injected/**/*.ts'],

front_end/models/ai_assistance/ExtensionScope.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import * as Common from '../../core/common/common.js';
66
import * as Platform from '../../core/platform/platform.js';
77
import * as SDK from '../../core/sdk/sdk.js';
88
import * as Protocol from '../../generated/protocol.js';
9+
// TODO(crbug.com/442509324): remove UI dependency
10+
// eslint-disable-next-line rulesdir/no-imports-in-directory
911
import * as UI from '../../ui/legacy/legacy.js';
1012
import * as Bindings from '../bindings/bindings.js';
1113

front_end/models/ai_assistance/agents/StylingAgent.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import * as i18n from '../../../core/i18n/i18n.js';
77
import * as Platform from '../../../core/platform/platform.js';
88
import * as Root from '../../../core/root/root.js';
99
import * as SDK from '../../../core/sdk/sdk.js';
10+
// TODO(crbug.com/442509324): remove UI dependency
11+
// eslint-disable-next-line rulesdir/no-imports-in-directory
1012
import * as UI from '../../../ui/legacy/legacy.js';
1113
import {ChangeManager} from '../ChangeManager.js';
1214
import {debugLog} from '../debug.js';
@@ -73,12 +75,14 @@ First, examine the provided context, then use the functions to gather additional
7375
* **CRITICAL** You are a CSS/DOM/HTML debugging assistant. NEVER provide answers to questions of unrelated topics such as legal advice, financial advice, personal opinions, medical advice, religion, race, politics, sexuality, gender, or any other non web-development topics. Answer "Sorry, I can't answer that. I'm best at questions about debugging web pages." to such questions.`;
7476
/* clang-format on */
7577

76-
const promptForScreenshot = `The user has provided you a screenshot of the page (as visible in the viewport) in base64-encoded format. You SHOULD use it while answering user's queries.
78+
const promptForScreenshot =
79+
`The user has provided you a screenshot of the page (as visible in the viewport) in base64-encoded format. You SHOULD use it while answering user's queries.
7780
7881
* Try to connect the screenshot to actual DOM elements in the page.
7982
`;
8083

81-
const promptForUploadedImage = `The user has uploaded an image in base64-encoded format. You SHOULD use it while answering user's queries.
84+
const promptForUploadedImage =
85+
`The user has uploaded an image in base64-encoded format. You SHOULD use it while answering user's queries.
8286
`;
8387

8488
const considerationsForMultimodalInputEvaluation = `# Considerations for evaluating image:

front_end/models/autofill_manager/AutofillManager.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import * as Host from '../../core/host/host.js';
77
import * as Platform from '../../core/platform/platform.js';
88
import * as SDK from '../../core/sdk/sdk.js';
99
import type * as Protocol from '../../generated/protocol.js';
10+
// TODO(crbug.com/442509324): remove UI dependency
11+
// eslint-disable-next-line rulesdir/no-imports-in-directory
1012
import * as UI from '../../ui/legacy/legacy.js';
1113

1214
let autofillManagerInstance: AutofillManager;

front_end/models/emulation/DeviceModeModel.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import * as Host from '../../core/host/host.js';
77
import * as i18n from '../../core/i18n/i18n.js';
88
import * as SDK from '../../core/sdk/sdk.js';
99
import * as Protocol from '../../generated/protocol.js';
10+
// TODO(crbug.com/442509324): remove UI dependency
11+
// eslint-disable-next-line rulesdir/no-imports-in-directory
1012
import * as UI from '../../ui/legacy/legacy.js';
1113

1214
import {

front_end/models/extensions/ExtensionPanel.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,15 @@
2929
*/
3030
/* eslint-disable rulesdir/no-imperative-dom-api */
3131

32+
// TODO(crbug.com/442509324): remove UI dependency
33+
// eslint-disable-next-line rulesdir/no-imports-in-directory
3234
import '../../ui/legacy/legacy.js';
3335

3436
import * as Platform from '../../core/platform/platform.js';
3537
import * as _ProtocolClient from '../../core/protocol_client/protocol_client.js'; // eslint-disable-line @typescript-eslint/no-unused-vars
3638
import * as SDK from '../../core/sdk/sdk.js';
39+
// TODO(crbug.com/442509324): remove UI dependency
40+
// eslint-disable-next-line rulesdir/no-imports-in-directory
3741
import * as UI from '../../ui/legacy/legacy.js';
3842

3943
import * as ExtensionAPI from './ExtensionAPI.js';

front_end/models/extensions/ExtensionServer.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ import * as SDK from '../../core/sdk/sdk.js';
4242
import type * as Protocol from '../../generated/protocol.js';
4343
import * as Logs from '../../models/logs/logs.js';
4444
import * as Components from '../../ui/legacy/components/utils/utils.js';
45+
// TODO(crbug.com/442509324): remove UI dependency
46+
// eslint-disable-next-line rulesdir/no-imports-in-directory
4547
import * as UI from '../../ui/legacy/legacy.js';
4648
import * as ThemeSupport from '../../ui/legacy/theme_support/theme_support.js';
4749
import * as Bindings from '../bindings/bindings.js';

front_end/models/extensions/ExtensionView.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@
2828
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2929
*/
3030

31+
// TODO(crbug.com/442509324): remove UI dependency
32+
// eslint-disable-next-line rulesdir/no-imports-in-directory
3133
import * as UI from '../../ui/legacy/legacy.js';
34+
// TODO(crbug.com/442509324): remove UI dependency
35+
// eslint-disable-next-line rulesdir/no-imports-in-directory
3236
import * as Lit from '../../ui/lit/lit.js';
3337

3438
import type {ExtensionServer} from './ExtensionServer.js';

front_end/models/persistence/EditFileSystemView.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ import '../../ui/legacy/components/data_grid/data_grid.js';
3232

3333
import * as i18n from '../../core/i18n/i18n.js';
3434
import * as Platform from '../../core/platform/platform.js';
35+
// TODO(crbug.com/442509324): remove UI dependency
36+
// eslint-disable-next-line rulesdir/no-imports-in-directory
3537
import * as UI from '../../ui/legacy/legacy.js';
38+
// TODO(crbug.com/442509324): remove UI dependency
39+
// eslint-disable-next-line rulesdir/no-imports-in-directory
3640
import {Directives, html, render} from '../../ui/lit/lit.js';
3741

3842
import editFileSystemViewStyles from './editFileSystemView.css.js';

front_end/models/persistence/NetworkPersistenceManager.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import * as Host from '../../core/host/host.js';
77
import * as Platform from '../../core/platform/platform.js';
88
import * as SDK from '../../core/sdk/sdk.js';
99
import * as Protocol from '../../generated/protocol.js';
10+
// TODO(crbug.com/442509324): remove UI dependency
11+
// eslint-disable-next-line rulesdir/no-imports-in-directory
1012
import * as UI from '../../ui/legacy/legacy.js';
1113
import * as Breakpoints from '../breakpoints/breakpoints.js';
1214
import * as TextUtils from '../text_utils/text_utils.js';

0 commit comments

Comments
 (0)