diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index e8eacc98d7d..c077b581b64 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -15,7 +15,6 @@ #### Pull request checklist - [ ] Addresses an existing issue: #0000 -- [ ] Ran `yarn null:autoadd` - [ ] Ran `yarn fastpass` - [ ] Added/updated relevant unit test(s) (and ran `yarn test`) - [ ] Verified code coverage for the changes made. Check coverage report at: `/test-results/unit/coverage` diff --git a/tools/strict-null-checks/auto-add.js b/tools/strict-null-checks/auto-add.js index dcb4ac02d6c..c6831b5c786 100644 --- a/tools/strict-null-checks/auto-add.js +++ b/tools/strict-null-checks/auto-add.js @@ -5,10 +5,9 @@ const child_process = require('child_process'); const fs = require('fs'); const path = require('path'); -const { collapseCompletedDirectories } = require('./collapse-completed-directories'); const config = require('./config'); const { getUncheckedLeafFiles } = require('./eligible-file-finder'); -const { writeTsconfigSync } = require('./write-tsconfig'); +const { writeTsConfig } = require('./write-tsconfig'); const repoRoot = config.repoRoot; const tscPath = path.join(repoRoot, 'node_modules', 'typescript', 'bin', 'tsc'); @@ -44,9 +43,6 @@ async function main() { console.log('## Stopping tsc --watch process...'); tscWatchProcess.kill(); - - console.log('## Collapsing fully null-checked directories into "include" patterns...'); - collapseCompletedDirectories(tsconfigPath); } async function tryAutoAddStrictNulls(child, tsconfigPath, file) { @@ -54,17 +50,15 @@ async function tryAutoAddStrictNulls(child, tsconfigPath, file) { console.log(`Trying to auto add '${relativeFilePath}'`); const originalConfig = JSON.parse(fs.readFileSync(tsconfigPath).toString()); - originalConfig.files = Array.from(new Set(originalConfig.files.sort())); + originalConfig.exclude = Array.from(new Set(originalConfig.exclude.sort())); // Config on accept const newConfig = Object.assign({}, originalConfig); - newConfig.files = Array.from( - new Set(originalConfig.files.concat('./' + relativeFilePath).sort()), - ); + newConfig.exclude = originalConfig.exclude.filter(entry => entry !== relativeFilePath); const buildCompetePromise = waitForBuildComplete(child); - writeTsconfigSync(tsconfigPath, newConfig); + await writeTsConfig(tsconfigPath, newConfig); const errorCount = await buildCompetePromise; const success = errorCount === 0; @@ -72,7 +66,7 @@ async function tryAutoAddStrictNulls(child, tsconfigPath, file) { console.log(`Success`); } else { console.log(`Errors (x${errorCount}), skipped`); - writeTsconfigSync(tsconfigPath, originalConfig); + await writeTsConfig(tsconfigPath, originalConfig); } return success; diff --git a/tools/strict-null-checks/collapse-completed-directories.js b/tools/strict-null-checks/collapse-completed-directories.js deleted file mode 100644 index b2cb1ecbe7e..00000000000 --- a/tools/strict-null-checks/collapse-completed-directories.js +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -// @ts-check -const fs = require('fs'); -const path = require('path'); -const config = require('./config'); -const { writeTsconfigSync } = require('./write-tsconfig'); - -const repoRoot = config.repoRoot; - -function collapseCompletedDirectories(tsconfigPath) { - const tsconfigContent = JSON.parse(fs.readFileSync(tsconfigPath).toString()); - - const listedFiles = Array.from(new Set(tsconfigContent.files.sort())); - const listedIncludes = Array.from(new Set(tsconfigContent.include.sort())); - - const listedDirectories = listedIncludes.map(includeToDirectory); - - const completedSet = new Set([...listedFiles, ...listedDirectories]); - reduceCompletedSet(completedSet, './src'); - - const completedPaths = Array.from(completedSet).sort(); - tsconfigContent.files = completedPaths.filter(isTsFile); - tsconfigContent.include = completedPaths.filter(isSourceDirectory).map(directoryToInclude); - - writeTsconfigSync(tsconfigPath, tsconfigContent); -} - -// convert from src/common/styles/**/* to ./src/common/styles -function includeToDirectory(include) { - return './' + include.replace('/**/*', ''); -} - -// convert from ./src/common/styles to src/common/styles/**/* -function directoryToInclude(directory) { - return directory.substring(2) + '/**/*'; -} - -function reduceCompletedSet(completedSet, root) { - if (completedSet.has(root)) { - return true; - } - if (!isSourceDirectory(root)) { - return false; - } - - const children = listRelevantChildren(root); - let allChildrenReduced = true; - for (const child of children) { - const childReduced = reduceCompletedSet(completedSet, child); - allChildrenReduced = allChildrenReduced && childReduced; - } - - if (allChildrenReduced) { - for (const child of children) { - completedSet.delete(child); - } - completedSet.add(root); - } - return allChildrenReduced; -} - -function isSourceDirectory(relativePath) { - // this assumes directories don't have .s in their names, which isn't robust generally - // but happens to be true in our repo - const isDirectory = -1 === relativePath.indexOf('.', 1); - return isDirectory && !relativePath.includes('__snapshots__'); -} - -const isTsFileRegex = /\.(ts|tsx)$/; -function isTsFile(relativePath) { - return isTsFileRegex.test(relativePath); -} - -function listRelevantChildren(relativePath) { - const rawReaddir = fs.readdirSync(path.join(repoRoot, relativePath)); - const directories = rawReaddir.filter(isSourceDirectory); - const tsFiles = rawReaddir.filter(isTsFile); - return [...directories, ...tsFiles].map(name => relativePath + '/' + name); -} - -module.exports = { - collapseCompletedDirectories, -}; diff --git a/tools/strict-null-checks/convert-to-exclude.js b/tools/strict-null-checks/convert-to-exclude.js new file mode 100644 index 00000000000..192b4062526 --- /dev/null +++ b/tools/strict-null-checks/convert-to-exclude.js @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// @ts-check +const fs = require('fs'); +const path = require('path'); +const config = require('./config'); +const { getAllCheckedFiles, getAllEligibleFiles } = require('./eligible-file-finder'); +const { writeTsConfig } = require('./write-tsconfig'); + +const repoRoot = config.repoRoot; +const tsconfigPath = path.join(repoRoot, config.targetTsconfig); + +async function main() { + const excludeList = await buildExcludeList(); + const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath).toString()); + + delete tsconfig.files; + tsconfig.include = ['src/**/*.ts', 'src/**/*.tsx']; + tsconfig.exclude = ['**/*.test.ts', '**/*.test.tsx', ...excludeList]; + + await writeTsConfig(tsconfigPath, tsconfig); +} + +async function buildExcludeList() { + const checkedFiles = await getAllCheckedFiles(); + const eligibleFiles = await getAllEligibleFiles(); + + const allUncheckedFiles = eligibleFiles.filter(file => !checkedFiles.has(file)); + + allUncheckedFiles.sort(); + + return allUncheckedFiles.map(file => path.relative(repoRoot, file).replace(/\\/g, '/')); +} + +main().catch(error => { + console.error(error.stack); + process.exit(1); +}); diff --git a/tools/strict-null-checks/eligible-file-finder.js b/tools/strict-null-checks/eligible-file-finder.js index 3c2be939fdf..3ff8875cb44 100644 --- a/tools/strict-null-checks/eligible-file-finder.js +++ b/tools/strict-null-checks/eligible-file-finder.js @@ -45,10 +45,10 @@ async function getAllCheckedFiles() { const tsconfigContent = JSON.parse(fs.readFileSync(tsconfigPath).toString()); const set = new Set( - tsconfigContent.files.map(f => path.join(config.repoRoot, f).replace(/\\/g, '/')), + (tsconfigContent.files ?? []).map(f => path.join(config.repoRoot, f).replace(/\\/g, '/')), ); await Promise.all( - tsconfigContent.include.map(async include => { + (tsconfigContent.include ?? []).map(async include => { const includePath = path.join(config.repoRoot, include); const files = await globAsync(includePath); for (const file of files) { @@ -56,6 +56,15 @@ async function getAllCheckedFiles() { } }), ); + await Promise.all( + (tsconfigContent.exclude ?? []).map(async exclude => { + const excludePath = path.join(config.repoRoot, exclude); + const files = await globAsync(excludePath); + for (const file of files) { + set.delete(file); + } + }), + ); return set; } diff --git a/tools/strict-null-checks/write-tsconfig.js b/tools/strict-null-checks/write-tsconfig.js index 760e2731aac..207d66c3883 100644 --- a/tools/strict-null-checks/write-tsconfig.js +++ b/tools/strict-null-checks/write-tsconfig.js @@ -1,12 +1,20 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. const fs = require('fs'); +const path = require('path'); +const prettier = require('prettier'); module.exports = { - writeTsconfigSync: (tsconfigPath, content) => { + writeTsConfig: async (tsconfigPath, content) => { let serializedContent = JSON.stringify(content, null, ' '); - serializedContent += '\n'; - fs.writeFileSync(tsconfigPath, serializedContent); + let prettierConfigPath = path.join(__dirname, '..', '..', 'prettier.config.js'); + let prettierConfig = await prettier.resolveConfig(prettierConfigPath); + let formattedContent = prettier.format(serializedContent, { + ...prettierConfig, + filepath: tsconfigPath, + }); + + fs.writeFileSync(tsconfigPath, formattedContent); }, }; diff --git a/tsconfig.strictNullChecks.json b/tsconfig.strictNullChecks.json index 8f3940cf63b..971a2d5fc59 100644 --- a/tsconfig.strictNullChecks.json +++ b/tsconfig.strictNullChecks.json @@ -3,633 +3,298 @@ "compilerOptions": { "strictNullChecks": true }, - "files": [ - "./src/DetailsView/bundled-details-view-styles.ts", - "./src/DetailsView/components/action-and-cancel-buttons-component.tsx", - "./src/DetailsView/components/assessment-instance-details-column.tsx", - "./src/DetailsView/components/assessment-instance-selected-button.tsx", - "./src/DetailsView/components/assessment-visualization-enabled-toggle.tsx", - "./src/DetailsView/components/auto-detected-failures-dialog.tsx", - "./src/DetailsView/components/base-left-nav.tsx", - "./src/DetailsView/components/base-visual-helper-toggle.tsx", - "./src/DetailsView/components/change-assessment-dialog.tsx", - "./src/DetailsView/components/choice-group-pass-fail.tsx", - "./src/DetailsView/components/failure-instance-panel-details.tsx", - "./src/DetailsView/components/generic-dialog.tsx", - "./src/DetailsView/components/generic-panel.tsx", - "./src/DetailsView/components/generic-toggle.tsx", - "./src/DetailsView/components/iframe-warning.tsx", - "./src/DetailsView/components/inline-start-over-button.tsx", - "./src/DetailsView/components/interactive-header.tsx", - "./src/DetailsView/components/invalid-load-assessment-dialog.tsx", - "./src/DetailsView/components/issues-table-handler.ts", - "./src/DetailsView/components/left-nav/get-selected-assessment-store-data.ts", - "./src/DetailsView/components/left-nav/get-selected-details-view.ts", - "./src/DetailsView/components/left-nav/getting-started-nav-link.tsx", - "./src/DetailsView/components/left-nav/overview-left-nav-link.tsx", - "./src/DetailsView/components/left-nav/test-view-left-nav-link.tsx", - "./src/DetailsView/components/load-assessment-dialog.tsx", - "./src/DetailsView/components/narrow-mode-detector.tsx", - "./src/DetailsView/components/nav-link-button.tsx", - "./src/DetailsView/components/next-requirement-button.tsx", - "./src/DetailsView/components/no-displayable-preview-features-message.tsx", - "./src/DetailsView/components/overview-content/help-links.tsx", - "./src/DetailsView/components/overview-content/overview-heading.tsx", - "./src/DetailsView/components/overview-content/overview-help-section.tsx", - "./src/DetailsView/components/preview-features-toggle-list.tsx", - "./src/DetailsView/components/report-export-button.tsx", - "./src/DetailsView/components/requirement-instructions.tsx", - "./src/DetailsView/components/requirement-view-title.tsx", - "./src/DetailsView/components/restart-scan-visual-helper-toggle.tsx", - "./src/DetailsView/components/save-assessment-button-factory.tsx", - "./src/DetailsView/components/save-assessment-button.tsx", - "./src/DetailsView/components/scan-incomplete-warning.tsx", - "./src/DetailsView/components/should-show-report-export-button.ts", - "./src/DetailsView/components/static-content-details-view.tsx", - "./src/DetailsView/components/switcher.tsx", - "./src/DetailsView/components/tab-stops/failed-instance-panel.tsx", - "./src/DetailsView/components/tab-stops/requirements.ts", - "./src/DetailsView/components/tab-stops/tab-stops-choice-group.tsx", - "./src/DetailsView/components/tab-stops/tab-stops-failed-instance-panel.tsx", - "./src/DetailsView/components/tab-stops/tab-stops-requirements-table.tsx", - "./src/DetailsView/components/tab-stops/tab-stops-test-view-controller.ts", - "./src/DetailsView/components/tab-stops/tab-stops-view-actions.ts", - "./src/DetailsView/components/tab-stops/tab-stops-view-store-data.ts", - "./src/DetailsView/components/tab-stops/tab-stops-view-store.ts", - "./src/DetailsView/components/target-change-dialog.tsx", - "./src/DetailsView/components/target-page-changed-view.tsx", - "./src/DetailsView/components/target-page-hidden-bar.tsx", - "./src/DetailsView/components/test-status-choice-group.tsx", - "./src/DetailsView/components/warning-configuration.tsx", - "./src/DetailsView/details-view-init-with-react-devtools.ts", - "./src/DetailsView/handlers/allurls-permission-handler.ts", - "./src/DetailsView/handlers/details-view-toggle-click-handler-factory.ts", - "./src/DetailsView/handlers/get-document-title.ts", - "./src/DetailsView/handlers/master-checkbox-config-provider.ts", - "./src/DetailsView/no-content-available-view-renderer.tsx", - "./src/DetailsView/tab-stops-failed-counter.ts", - "./src/DetailsView/tab-stops-requirement-instances-collapsible-content.tsx", - "./src/DetailsView/tab-stops-requirement-result.ts", - "./src/assessments/assessment-builder.tsx", - "./src/assessments/assessment-default-message-generator.tsx", - "./src/assessments/assessments-provider.ts", - "./src/assessments/assessments-requirements-filter.ts", - "./src/assessments/auto-pass-if-no-results.ts", - "./src/assessments/automated-checks/automated-checks-visualization-enabled-toggle.tsx", - "./src/assessments/automated-checks/build-test-steps-from-rules.tsx", - "./src/assessments/custom-widgets/custom-widgets-column-renderer-factory.tsx", - "./src/assessments/custom-widgets/custom-widgets-column-renderer.tsx", - "./src/assessments/custom-widgets/design-pattern.ts", - "./src/assessments/custom-widgets/test-steps/test-steps.ts", - "./src/assessments/headings/headings-instance-details-column-renderer.tsx", - "./src/assessments/landmarks/does-result-have-main-role.ts", - "./src/assessments/landmarks/landmarks-instance-details-column-renderer.tsx", - "./src/assessments/markup.tsx", - "./src/assessments/medium-pass-requirements.ts", - "./src/assessments/page/frametitle-instance-details-column-renderer.tsx", - "./src/assessments/page/pagetitle-instance-details-column-renderer.tsx", - "./src/assessments/types/instance-table-data.ts", - "./src/assessments/types/report-instance-field.ts", - "./src/assessments/types/requirement.ts", - "./src/background/IndexedDBDataKeys.ts", - "./src/background/actions/action-hub.ts", - "./src/background/actions/action-payloads.ts", - "./src/background/actions/assessment-actions.ts", - "./src/background/actions/card-selection-action-creator.ts", - "./src/background/actions/card-selection-actions.ts", - "./src/background/actions/command-actions.ts", - "./src/background/actions/content-action-creator.ts", - "./src/background/actions/content-actions.ts", - "./src/background/actions/details-view-action-creator.ts", - "./src/background/actions/details-view-actions.ts", - "./src/background/actions/dev-tools-action-creator.ts", - "./src/background/actions/dev-tools-actions.ts", - "./src/background/actions/feature-flag-actions.ts", - "./src/background/actions/global-action-hub.ts", - "./src/background/actions/injection-action-creator.ts", - "./src/background/actions/injection-actions.ts", - "./src/background/actions/inspect-action-creator.ts", - "./src/background/actions/inspect-actions.ts", - "./src/background/actions/launch-panel-state-action.ts", - "./src/background/actions/needs-review-card-selection-action-creator.ts", - "./src/background/actions/needs-review-card-selection-actions.ts", - "./src/background/actions/needs-review-scan-result-actions.ts", - "./src/background/actions/path-snippet-action-creator.ts", - "./src/background/actions/path-snippet-actions.ts", - "./src/background/actions/permissions-state-actions.ts", - "./src/background/actions/popup-action-creator.ts", - "./src/background/actions/scoping-actions.ts", - "./src/background/actions/shortcuts-page-action-creator.ts", - "./src/background/actions/side-panel-actions.ts", - "./src/background/actions/tab-action-creator.ts", - "./src/background/actions/tab-actions.ts", - "./src/background/actions/tab-stop-requirement-action-creator.ts", - "./src/background/actions/tab-stop-requirement-actions.ts", - "./src/background/actions/unified-scan-result-actions.ts", - "./src/background/actions/user-configuration-actions.ts", - "./src/background/actions/visualization-actions.ts", - "./src/background/actions/visualization-scan-result-actions.ts", - "./src/background/application-build-generator.ts", - "./src/background/assessment-data-remover.ts", - "./src/background/browser-message-broadcaster-factory.ts", - "./src/background/browser-permissions-tracker.ts", - "./src/background/create-initial-assessment-test-data.ts", - "./src/background/details-view-controller.ts", - "./src/background/dev-tools-monitor.ts", - "./src/background/extension-details-view-controller.ts", - "./src/background/feature-flag-checker.ts", - "./src/background/get-persisted-data.ts", - "./src/background/global-action-creators/feature-flags-action-creator.ts", - "./src/background/global-action-creators/global-action-creator.ts", - "./src/background/global-action-creators/permissions-state-action-creator.ts", - "./src/background/global-action-creators/scoping-action-creator.ts", - "./src/background/global-action-creators/user-configuration-action-creator.ts", - "./src/background/install-data-generator.ts", - "./src/background/installation-data.ts", - "./src/background/instance-identifier-generator.ts", - "./src/background/interpreter.ts", - "./src/background/is-an-assessment-selected.ts", - "./src/background/issue-details-text-generator.ts", - "./src/background/local-storage-data-keys.ts", - "./src/background/post-message-content-handler.ts", - "./src/background/post-message-content-repository.ts", - "./src/background/scan-unscanned-requirement.ts", - "./src/background/shortcuts-page-controller.ts", - "./src/background/storage-data.ts", - "./src/background/stores/base-store-impl.ts", - "./src/background/stores/card-selection-store.ts", - "./src/background/stores/details-view-store.ts", - "./src/background/stores/dev-tools-store.ts", - "./src/background/stores/global/command-store.ts", - "./src/background/stores/global/launch-panel-store.ts", - "./src/background/stores/global/permissions-state-store.ts", - "./src/background/stores/global/scoping-store.ts", - "./src/background/stores/global/user-configuration-store.ts", - "./src/background/stores/inspect-store.ts", - "./src/background/stores/needs-review-card-selection-store.ts", - "./src/background/stores/needs-review-scan-result-store.ts", - "./src/background/stores/path-snippet-store.ts", - "./src/background/stores/side-panel.ts", - "./src/background/stores/store-hub.ts", - "./src/background/stores/tab-store.ts", - "./src/background/stores/unified-scan-result-store.ts", - "./src/background/telemetry/app-insights-telemetry-client.ts", - "./src/background/telemetry/application-telemetry-data-factory.ts", - "./src/background/telemetry/debug-tools-telemetry-client.ts", - "./src/background/telemetry/multiplexing-telemetry-client.ts", - "./src/background/telemetry/sending-exception-telemetry-listener.ts", - "./src/background/telemetry/telemetry-base-data.ts", - "./src/background/telemetry/telemetry-client-provider.ts", - "./src/background/telemetry/telemetry-client.ts", - "./src/background/telemetry/telemetry-event-handler.ts", - "./src/background/telemetry/telemetry-state-listener.ts", - "./src/background/usage-logger.ts", - "./src/background/user-configuration-controller.ts", - "./src/background/user-stored-data-cleaner.ts", - "./src/common/application-properties-provider.ts", - "./src/common/assessment-data-formatter.ts", - "./src/common/assessment-data-parser.ts", - "./src/common/axe-info.ts", - "./src/common/base-store.ts", - "./src/common/blob-provider.ts", - "./src/common/components/blocking-dialog.tsx", - "./src/common/components/body-class-modifier.tsx", - "./src/common/components/cards/card-interaction-support.ts", - "./src/common/components/cards/cards-view-actions.ts", - "./src/common/components/cards/cards-view-controller.ts", - "./src/common/components/cards/cards-view-store-data.ts", - "./src/common/components/cards/cards-view-store.ts", - "./src/common/components/cards/cards-visualization-modifier-buttons.tsx", - "./src/common/components/cards/collapsible-component-cards.tsx", - "./src/common/components/cards/expand-collapse-all-button.tsx", - "./src/common/components/cards/rich-resolution-content.tsx", - "./src/common/components/cards/rule-resources.tsx", - "./src/common/components/cards/simple-card-row.tsx", - "./src/common/components/cards/visual-helper-toggle.tsx", - "./src/common/components/collapsible-component.tsx", - "./src/common/components/contrast-checker-app-links.tsx", - "./src/common/components/controls/insights-command-button.tsx", - "./src/common/components/copy-issue-details-button.tsx", - "./src/common/components/enable-telemetry-setting-description.tsx", - "./src/common/components/expand-collapse-left-nav-hamburger-button.tsx", - "./src/common/components/external-link.tsx", - "./src/common/components/fix-instruction-panel.tsx", - "./src/common/components/fix-instruction-processor.tsx", - "./src/common/components/flagged-component.tsx", - "./src/common/components/focus-component.tsx", - "./src/common/components/guidance-links.tsx", - "./src/common/components/guidance-tags.tsx", - "./src/common/components/header-icon.tsx", - "./src/common/components/header.tsx", - "./src/common/components/heading-element-for-level.tsx", - "./src/common/components/heading-with-content-link.tsx", - "./src/common/components/issue-filing-needs-settings-help-text.tsx", - "./src/common/components/left-nav-hamburger-button.tsx", - "./src/common/components/new-tab-link-with-tooltip.tsx", - "./src/common/components/new-tab-link.tsx", - "./src/common/components/null-component.tsx", - "./src/common/components/privacy-statement-text.tsx", - "./src/common/components/recommend-color.tsx", - "./src/common/components/scanning-spinner/scanning-spinner.tsx", - "./src/common/components/selector-input-list.tsx", - "./src/common/components/telemetry-notice.tsx", - "./src/common/components/telemetry-permission-dialog.tsx", - "./src/common/components/theme-family-customizer.tsx", - "./src/common/components/theme.tsx", - "./src/common/components/toast.tsx", - "./src/common/components/visualization-toggle.tsx", - "./src/common/components/with-store-subscription.tsx", - "./src/common/date-provider.ts", - "./src/common/document-manipulator.ts", - "./src/common/dropdown-click-handler.ts", - "./src/common/enum-helper.ts", - "./src/common/extension-telemetry-events.ts", - "./src/common/fabric-icons.ts", - "./src/common/file-url-provider.ts", - "./src/common/filename-builder.ts", - "./src/common/get-card-selection-view-data.ts", - "./src/common/get-guidance-tags-from-guidance-links.ts", - "./src/common/get-inner-text-from-jsx-element.ts", - "./src/common/get-stack-trace.ts", - "./src/common/globalization.ts", - "./src/common/html-element-utils.ts", - "./src/common/is-result-highlight-unavailable.ts", - "./src/common/is-supported-browser.ts", - "./src/common/merge-promise-responses.ts", - "./src/common/message.ts", - "./src/common/messages.ts", - "./src/common/narrow-mode-thresholds.ts", - "./src/common/navigator-utils.ts", - "./src/common/platform.ts", - "./src/common/rule-based-view-model-provider.ts", - "./src/common/state-dispatcher.ts", - "./src/common/store-proxy.ts", - "./src/common/store-update-message-hub.ts", - "./src/common/tabbable-elements-helper.ts", - "./src/common/target-helper.ts", - "./src/common/telemetry-data-factory.ts", - "./src/common/types/store-data/adhoc-test-keys.ts", - "./src/common/types/store-data/details-view-right-content-panel-type.ts", - "./src/common/types/store-data/guidance-links.ts", - "./src/common/types/store-data/inspect-modes.ts", - "./src/common/types/store-data/itab.ts", - "./src/common/types/store-data/scoping-input-types.ts", - "./src/common/types/store-data/tab-order-property-bag.ts", - "./src/common/uid-generator.ts", - "./src/common/url-parser.ts", - "./src/common/url-validator.ts", - "./src/common/window-utils.ts", - "./src/debug-tools/action-creators/debug-tools-action-creator.ts", - "./src/debug-tools/components/stores-tree.tsx", - "./src/electron/common/application-properties-provider.ts", - "./src/electron/common/electron-telemetry-events.ts", - "./src/electron/common/get-electron-icon-path.ts", - "./src/electron/platform/android/adb-wrapper.ts", - "./src/electron/platform/android/android-friendly-device-name-provider.ts", - "./src/electron/platform/android/android-scan-results.ts", - "./src/electron/platform/android/android-service-apk-locator.ts", - "./src/electron/platform/android/android-setup-telemetry-sender.ts", - "./src/electron/platform/android/appium-adb-creator.ts", - "./src/electron/platform/android/appium-adb-wrapper-factory.ts", - "./src/electron/platform/android/appium-adb-wrapper.ts", - "./src/electron/platform/android/atfa-data-types.ts", - "./src/electron/platform/android/atfa-scan-results-to-unified-results.ts", - "./src/electron/platform/android/atfa-scan-results-to-unified-rules.ts", - "./src/electron/platform/android/axe-scan-results-to-unified-results.ts", - "./src/electron/platform/android/axe-scan-results-to-unified-rules.ts", - "./src/electron/platform/android/device-communicator.ts", - "./src/electron/platform/android/device-config.ts", - "./src/electron/platform/android/device-focus-controller.ts", - "./src/electron/platform/android/live-appium-adb-creator.ts", - "./src/electron/platform/android/rule-information-provider-type.ts", - "./src/electron/platform/android/rule-information-provider.ts", - "./src/electron/platform/android/rule-information.ts", - "./src/electron/platform/android/scan-controller.ts", - "./src/electron/platform/android/scan-results-to-platform-data.ts", - "./src/electron/platform/android/scan-results-to-unified-results.ts", - "./src/electron/platform/android/scan-results-to-unified-rules.ts", - "./src/electron/platform/android/setup/adb-wrapper-holder.ts", - "./src/electron/platform/android/setup/android-browser-close-cleanup-tasks.ts", - "./src/electron/platform/android/setup/android-device-configurator-factory.ts", - "./src/electron/platform/android/setup/android-device-configurator.ts", - "./src/electron/platform/android/setup/android-setup-deps.ts", - "./src/electron/platform/android/setup/android-setup-start-listener.ts", - "./src/electron/platform/android/setup/android-setup-step-id.ts", - "./src/electron/platform/android/setup/live-android-setup-deps.ts", - "./src/electron/platform/android/test-configs/automated-checks/results-filter.ts", - "./src/electron/platform/android/test-configs/needs-review/results-filter.ts", - "./src/electron/platform/android/testing-content.ts", - "./src/electron/platform/android/unified-result-builder.ts", - "./src/electron/types/content-page-key.ts", - "./src/electron/types/left-nav-item-key.ts", - "./src/electron/types/left-nav-item.ts", - "./src/electron/types/test-key.ts", - "./src/electron/types/visual-helper-section.ts", - "./src/electron/views/bundled-renderer-styles.ts", - "./src/electron/views/left-nav/left-nav-deps.ts", - "./src/electron/views/report/unified-header-section.tsx", - "./src/electron/views/report/unified-report-head.tsx", - "./src/electron/views/report/unified-report-name-generator.ts", - "./src/electron/views/results/components/header-section.tsx", - "./src/electron/views/results/components/maximize-restore-button.tsx", - "./src/electron/views/results/components/title-bar.tsx", - "./src/electron/views/root-container/components/platform-body-class-modifier.tsx", - "./src/injected/all-frame-runner.ts", - "./src/injected/analyzer-state-update-handler.ts", - "./src/injected/analyzers/analyzer-provider.ts", - "./src/injected/analyzers/analyzer.ts", - "./src/injected/analyzers/base-analyzer.ts", - "./src/injected/analyzers/batched-rule-analyzer.ts", - "./src/injected/analyzers/filter-results.ts", - "./src/injected/analyzers/focus-traps-handler.ts", - "./src/injected/analyzers/get-analyzer-message-types.ts", - "./src/injected/analyzers/notification-text-creator.ts", - "./src/injected/analyzers/rule-analyzer.ts", - "./src/injected/analyzers/tab-stops-analyzer.ts", - "./src/injected/analyzers/tab-stops-done-analyzing-tracker.ts", - "./src/injected/analyzers/tab-stops-handler.ts", - "./src/injected/analyzers/tab-stops-orchestrator.ts", - "./src/injected/analyzers/tab-stops-requirement-result-processor.ts", - "./src/injected/bounding-rect.ts", - "./src/injected/client-store-listener.ts", - "./src/injected/client-utils.ts", - "./src/injected/constants.ts", - "./src/injected/details-dialog-handler.ts", - "./src/injected/dialog-renderer-impl.tsx", - "./src/injected/dialog-renderer.ts", - "./src/injected/drawing-controller.ts", - "./src/injected/drawing-initiator.ts", - "./src/injected/element-based-view-model-creator.ts", - "./src/injected/element-finder-by-path.ts", - "./src/injected/element-finder-by-position.ts", - "./src/injected/extension-disabled-monitor.ts", - "./src/injected/focus-change-handler.ts", - "./src/injected/frame-url-controller.ts", - "./src/injected/frame-url-finder.ts", - "./src/injected/get-decorated-axe-node.ts", - "./src/injected/iframe-detector.ts", - "./src/injected/inspect-controller.ts", - "./src/injected/is-visualization-enabled.ts", - "./src/injected/layered-details-dialog-component.tsx", - "./src/injected/main-window-context.ts", - "./src/injected/path-snippet-controller.ts", - "./src/injected/scan-incomplete-warning-detector.ts", - "./src/injected/scanner-utils.ts", - "./src/injected/scanner.d.ts", - "./src/injected/scoping-listener.ts", - "./src/injected/selector-to-visualization-map.ts", - "./src/injected/shadow-dom-focus-tracker.ts", - "./src/injected/shadow-initializer.ts", - "./src/injected/shadow-utils.ts", - "./src/injected/single-frame-tab-stop-listener.ts", - "./src/injected/tab-stop-requirement-result.ts", - "./src/injected/tab-stops-requirement-evaluator.ts", - "./src/injected/tabbable-element-getter.ts", - "./src/injected/target-page-action-message-creator.ts", - "./src/injected/visualization-instance-processor.ts", - "./src/injected/visualization-needs-update.ts", - "./src/injected/visualization-type-drawer-registrar.ts", - "./src/issue-filing/common/create-issue-details-builder-for-unified.ts", - "./src/issue-filing/common/create-issue-details-builder.ts", - "./src/issue-filing/common/create-settings-getter.ts", - "./src/issue-filing/common/http-query-builder.ts", - "./src/issue-filing/common/issue-details-builder.ts", - "./src/issue-filing/common/issue-filing-url-string-utils.ts", - "./src/issue-filing/rule-result-to-issue-filing-data.ts", - "./src/issue-filing/services/azure-boards/azure-boards-issue-filing-settings.tsx", - "./src/issue-filing/services/azure-boards/create-azure-boards-issue-filing-url.ts", - "./src/issue-filing/services/github/create-github-issue-filing-url.ts", - "./src/issue-filing/services/github/github-issue-filing-settings.tsx", - "./src/issue-filing/services/github/github-url-rectifier.ts", - "./src/issue-filing/types/settings-form-props.ts", - "./src/issue-filing/unified-result-to-issue-filing-data.ts", - "./src/popup/components/file-url-unsupported-message-panel.tsx", - "./src/popup/components/header.tsx", - "./src/popup/components/launch-pad-item-row.tsx", - "./src/popup/components/launch-pad.tsx", - "./src/popup/handlers/diagnostic-view-toggle-click-handler.ts", - "./src/popup/incompatible-browser-renderer.tsx", - "./src/popup/popup-init-with-react-devtools.ts", - "./src/popup/target-tab-finder.ts", - "./src/reports/assessment-report.styles.ts", - "./src/reports/automated-checks-report.styles.ts", - "./src/reports/bundled-reporter-styles.ts", - "./src/reports/components/assessment-report-body-header.tsx", - "./src/reports/components/assessment-report-footer.tsx", - "./src/reports/components/formatted-date.tsx", - "./src/reports/components/head.tsx", - "./src/reports/components/header-bar.tsx", - "./src/reports/components/inline-image.tsx", - "./src/reports/components/instance-outcome-type.ts", - "./src/reports/components/new-tab-link-confirmation-dialog.tsx", - "./src/reports/components/outcome-counter.ts", - "./src/reports/components/report-sections/automated-checks-header-section.tsx", - "./src/reports/components/report-sections/automated-checks-title-section.tsx", - "./src/reports/components/report-sections/base-summary-report-section-props.ts", - "./src/reports/components/report-sections/body-section.tsx", - "./src/reports/components/report-sections/collapsible-script-provider.tsx", - "./src/reports/components/report-sections/collapsible-url-result-section.tsx", - "./src/reports/components/report-sections/combined-report-failed-section.tsx", - "./src/reports/components/report-sections/content-container.tsx", - "./src/reports/components/report-sections/failed-urls-section.tsx", - "./src/reports/components/report-sections/fast-pass-results-title-section.tsx", - "./src/reports/components/report-sections/fast-pass-title-section.tsx", - "./src/reports/components/report-sections/footer-section.tsx", - "./src/reports/components/report-sections/footer-text-for-unified.tsx", - "./src/reports/components/report-sections/footer-text-props.ts", - "./src/reports/components/report-sections/footer-text.tsx", - "./src/reports/components/report-sections/header-section.tsx", - "./src/reports/components/report-sections/no-failed-instances-congrats.tsx", - "./src/reports/components/report-sections/not-scanned-urls-section.tsx", - "./src/reports/components/report-sections/passed-urls-section.tsx", - "./src/reports/components/report-sections/report-collapsible-container.tsx", - "./src/reports/components/report-sections/report-footer.tsx", - "./src/reports/components/report-sections/reporter-header-section.tsx", - "./src/reports/components/report-sections/summary-report-details-section.tsx", - "./src/reports/components/report-sections/summary-report-header-section.tsx", - "./src/reports/components/report-sections/summary-results-table.tsx", - "./src/reports/components/report-sections/tool-link.tsx", - "./src/reports/components/report-sections/url-errors-table.tsx", - "./src/reports/components/report-sections/url-scan-results-table.tsx", - "./src/reports/components/reporter-automated-check-head.tsx", - "./src/reports/components/summary-report-head.tsx", - "./src/reports/components/url-outcome-type.ts", - "./src/reports/components/web-report-head.tsx", - "./src/reports/package/accessibilityInsightsReport.d.ts", - "./src/reports/package/footer-text-for-service.tsx", - "./src/reports/react-static-renderer.ts", - "./src/reports/report-name-generator.ts", - "./src/tests/electron/common/element-identifiers/common-selectors.ts", - "./src/tests/electron/common/element-identifiers/screenshot-view-selectors.ts", - "./src/tests/electron/common/element-identifiers/tab-stops-view-selectors.ts", - "./src/tests/electron/common/view-controllers/android-setup-view-controller.ts", - "./src/tests/electron/common/view-controllers/codecs-test-view-controller.ts", - "./src/tests/electron/common/view-controllers/device-connection-dialog-controller.ts", - "./src/tests/electron/common/view-controllers/log-controller.ts", - "./src/tests/electron/common/view-controllers/tab-stops-view-controller.ts", - "./src/tests/electron/common/view-controllers/view-controller.ts", - "./src/tests/electron/common/view-controllers/virtual-keyboard-view-controller.ts", - "./src/tests/end-to-end/common/element-identifiers/common-selectors.ts", - "./src/tests/end-to-end/common/element-identifiers/popup-page-element-identifiers.ts", - "./src/tests/end-to-end/common/element-identifiers/target-page-selectors.ts", - "./src/tests/end-to-end/common/extension-paths.ts", - "./src/tests/end-to-end/common/force-test-failure.ts", - "./src/tests/end-to-end/common/manifest-instance.ts", - "./src/tests/end-to-end/common/page-controllers/background-context.ts", - "./src/tests/end-to-end/common/page-controllers/content-page.ts", - "./src/tests/end-to-end/common/page-controllers/context.ts", - "./src/tests/end-to-end/common/page-controllers/html-report-page.ts", - "./src/tests/end-to-end/common/page-controllers/nested-iframe-target-page.ts", - "./src/tests/end-to-end/common/page-controllers/page.ts", - "./src/tests/end-to-end/common/page-controllers/popup-page.ts", - "./src/tests/end-to-end/common/page-controllers/service-worker.ts", - "./src/tests/end-to-end/common/page-controllers/target-page.ts", - "./src/tests/end-to-end/common/playwright-option-types.ts", - "./src/tests/end-to-end/common/prepare-test-result-file-path.ts", - "./src/tests/end-to-end/common/pretty-print-axe-violations.ts", - "./src/tests/end-to-end/common/scan-for-accessibility-issues.ts", - "./src/tests/end-to-end/common/screenshot-on-error.ts", - "./src/tests/end-to-end/common/test-resources.ts", - "./src/tests/end-to-end/common/timeouts.ts", - "./src/tests/end-to-end/common/window-message-recorder.ts", - "./src/tests/miscellaneous/test-resource-server/resource-server-config.ts", - "./src/tests/miscellaneous/test-resource-server/resource-server.ts", - "./src/tests/unit/common/android-setup-step-props-builder.tsx", - "./src/tests/unit/common/assessment-data-builder.ts", - "./src/tests/unit/common/assessment-store-tester.ts", - "./src/tests/unit/common/base-data-builder.ts", - "./src/tests/unit/common/debounce-faker.ts", - "./src/tests/unit/common/details-view-store-data-builder.ts", - "./src/tests/unit/common/event-stub-factory.ts", - "./src/tests/unit/common/fail-test-on-error-logger.ts", - "./src/tests/unit/common/html-collection-of-builder.ts", - "./src/tests/unit/common/it-is-function.ts", - "./src/tests/unit/common/linked-frame-messenger.ts", - "./src/tests/unit/common/linked-respondable-communicator.ts", - "./src/tests/unit/common/linked-window-message-poster.ts", - "./src/tests/unit/common/recording-logger.ts", - "./src/tests/unit/common/sample-test-data.ts", - "./src/tests/unit/common/scoping-store-data-builder.ts", - "./src/tests/unit/common/simulated-browser-adapter.ts", - "./src/tests/unit/common/simulated-browser-event.ts", - "./src/tests/unit/common/simulated-window.ts", - "./src/tests/unit/common/store-tester.ts", - "./src/tests/unit/common/tab-store-data-builder.ts", - "./src/tests/unit/common/test-document-creator.ts", - "./src/tests/unit/common/time-simulating-promise-factory.ts", - "./src/tests/unit/common/typemoq-helper.ts", - "./src/tests/unit/common/visualization-toggle-props-builder.ts", - "./src/tests/unit/common/webextension-polyfill-setup.ts", - "./src/tests/unit/jest-setup.ts", - "./src/tests/unit/tests/assessments/common/renderer-wrapper.tsx", - "./src/tests/unit/tests/background/global-action-creators/action-creator-test-helpers.ts", - "./src/tests/unit/tests/background/global-action-creators/mock-interpreter.ts", - "./src/tests/unit/tests/common/components/cards/sample-view-model-data.ts", - "./src/tests/unit/tests/electron/platform/android/scan-results-helpers.ts", - "./src/tests/unit/tests/electron/platform/android/setup/steps/actions-tester.ts", - "./src/tests/unit/tests/injected/visualization/drawer-utils-mock-builder.ts", - "./src/tests/unit/tests/scanner/custom-rules-configuration-stub.ts", - "./src/tests/unit/tests/scanner/helpers.ts", - "./src/views/insights/insights-router.tsx", - "./src/views/insights/renderer.tsx" - ], - "include": [ - "src/DetailsView/Styles/**/*", - "src/DetailsView/actions/**/*", - "src/DetailsView/components/details-view-overlay/scoping-panel/**/*", - "src/DetailsView/components/details-view-overlay/settings-panel/**/*", - "src/DetailsView/components/no-content-available/**/*", - "src/Devtools/**/*", - "src/ad-hoc-visualizations/**/*", - "src/ad-hoc-visualizations/calculated-tab-stops/**/*", - "src/assessments/adaptable-content/test-steps/**/*", - "src/assessments/audio-video-only/**/*", - "src/assessments/color/test-steps/**/*", - "src/assessments/common/**/*", - "src/assessments/contrast/test-steps/**/*", - "src/assessments/custom-widgets/test-steps/**/*", - "src/assessments/errors/**/*", - "src/assessments/headings/test-steps/**/*", - "src/assessments/images/test-steps/**/*", - "src/assessments/keyboard-interaction/test-steps/**/*", - "src/assessments/landmarks/test-steps/**/*", - "src/assessments/language/**/*", - "src/assessments/links/**/*", - "src/assessments/live-multimedia/**/*", - "src/assessments/native-widgets/test-steps/**/*", - "src/assessments/page/test-steps/**/*", - "src/assessments/parsing/**/*", - "src/assessments/pointer-motion/test-steps/**/*", - "src/assessments/prerecorded-multimedia/**/*", - "src/assessments/repetitive-content/**/*", - "src/assessments/semantics/**/*", - "src/assessments/sequence/test-steps/**/*", - "src/assessments/timed-events/test-steps/**/*", - "src/assessments/visible-focus-order/test-steps/**/*", - "src/background/global-action-creators/registrar/**/*", - "src/background/injector/**/*", - "src/common/action/**/*", - "src/common/browser-adapters/**/*", - "src/common/components/**/*", - "src/common/configs/**/*", - "src/common/configuration/**/*", - "src/common/constants/**/*", - "src/common/flux/**/*", - "src/common/icons/**/*", - "src/common/indexedDB/**/*", - "src/common/logging/**/*", - "src/common/message-creators/**/*", - "src/common/promises/**/*", - "src/common/react/**/*", - "src/common/stores/**/*", - "src/common/styles/**/*", - "src/common/telemetry/**/*", - "src/common/types/**/*", - "src/content/**/*", - "src/debug-tools/components/telemetry-viewer/**/*", - "src/debug-tools/controllers/**/*", - "src/electron/adapters/**/*", - "src/electron/auto-update/**/*", - "src/electron/electron-builder/**/*", - "src/electron/flux/**/*", - "src/electron/ipc/**/*", - "src/electron/main/**/*", - "src/electron/platform/android/setup/state-machine/**/*", - "src/electron/resources/**/*", - "src/electron/settings/**/*", - "src/electron/views/automated-checks/**/*", - "src/electron/views/common/**/*", - "src/electron/views/device-connect-view/**/*", - "src/electron/views/device-disconnected-popup/**/*", - "src/electron/views/screenshot/**/*", - "src/electron/views/tab-stops/**/*", - "src/electron/window-management/**/*", - "src/fast-pass/**/*", - "src/icons/**/*", - "src/injected/adapters/**/*", - "src/injected/components/**/*", - "src/injected/frameCommunicators/**/*", - "src/injected/styles/**/*", - "src/injected/visualization/**/*", - "src/issue-filing/common/markup/**/*", - "src/packages/accessibility-insights-ui/**/*", - "src/popup/Styles/**/*", - "src/popup/actions/**/*", - "src/report-export/**/*", - "src/reports/package/root/**/*", - "src/scanner/**/*", - "src/tests/common/**/*", - "src/tests/electron/setup/**/*", - "src/tests/end-to-end/setup/**/*", - "src/tests/end-to-end/test-resources/**/*", - "src/tests/miscellaneous/**/*", - "src/tests/unit/mock-helpers/**/*", - "src/tests/unit/stubs/**/*", - "src/tests/unit/tests/common/icons/**/*", - "src/tests/unit/tests/reports/package/scans/**/*", - "src/tests/unit/tests/test-resources/**/*", - "src/types/**/*", - "src/views/content/**/*", - "src/views/page/**/*" + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": [ + "**/*.test.ts", + "**/*.test.tsx", + "src/DetailsView/assessment-functionality-switcher.ts", + "src/DetailsView/components/adhoc-issues-test-view.tsx", + "src/DetailsView/components/adhoc-static-test-view.tsx", + "src/DetailsView/components/adhoc-tab-stops-test-view.tsx", + "src/DetailsView/components/assessment-command-bar.tsx", + "src/DetailsView/components/assessment-instance-edit-and-remove-control.tsx", + "src/DetailsView/components/assessment-instance-table.tsx", + "src/DetailsView/components/assessment-table-column-config-handler.tsx", + "src/DetailsView/components/assessment-test-view.tsx", + "src/DetailsView/components/assessment-view-update-handler.ts", + "src/DetailsView/components/automated-checks-command-bar.tsx", + "src/DetailsView/components/command-bar-buttons-menu.tsx", + "src/DetailsView/components/details-list-issues-view.tsx", + "src/DetailsView/components/details-view-command-bar.tsx", + "src/DetailsView/components/details-view-content-with-local-state.tsx", + "src/DetailsView/components/details-view-content.tsx", + "src/DetailsView/components/details-view-overlay/details-view-overlay.tsx", + "src/DetailsView/components/details-view-overlay/preview-features-panel/preview-features-container.tsx", + "src/DetailsView/components/details-view-overlay/preview-features-panel/preview-features-panel.tsx", + "src/DetailsView/components/details-view-right-panel.ts", + "src/DetailsView/components/details-view-switcher-nav.ts", + "src/DetailsView/components/export-dialog.tsx", + "src/DetailsView/components/export-dropdown.tsx", + "src/DetailsView/components/failure-instance-panel-control.tsx", + "src/DetailsView/components/getting-started-view.tsx", + "src/DetailsView/components/issue-filing-dialog.tsx", + "src/DetailsView/components/issues-table.tsx", + "src/DetailsView/components/left-nav/assessment-left-nav.tsx", + "src/DetailsView/components/left-nav/details-view-left-nav.tsx", + "src/DetailsView/components/left-nav/fast-pass-left-nav.tsx", + "src/DetailsView/components/left-nav/fluent-side-nav.tsx", + "src/DetailsView/components/left-nav/get-left-nav-selected-key.ts", + "src/DetailsView/components/left-nav/get-status-for-test.ts", + "src/DetailsView/components/left-nav/left-nav-icon.tsx", + "src/DetailsView/components/left-nav/left-nav-link-builder.tsx", + "src/DetailsView/components/left-nav/medium-pass-left-nav.tsx", + "src/DetailsView/components/left-nav/nav-link-handler.ts", + "src/DetailsView/components/left-nav/nav-link-renderer.tsx", + "src/DetailsView/components/left-nav/requirement-table-section.tsx", + "src/DetailsView/components/left-nav/visualization-based-left-nav.tsx", + "src/DetailsView/components/load-assessment-button-factory.tsx", + "src/DetailsView/components/load-assessment-button.tsx", + "src/DetailsView/components/load-assessment-data-schema-provider.ts", + "src/DetailsView/components/load-assessment-data-validator.ts", + "src/DetailsView/components/load-assessment-helper.ts", + "src/DetailsView/components/manual-test-step-view.tsx", + "src/DetailsView/components/medium-pass-command-bar.tsx", + "src/DetailsView/components/overview-content/overview-content-container.tsx", + "src/DetailsView/components/report-export-component.tsx", + "src/DetailsView/components/report-export-dialog-factory.tsx", + "src/DetailsView/components/requirement-view.tsx", + "src/DetailsView/components/start-over-component-factory.tsx", + "src/DetailsView/components/start-over-dialog.tsx", + "src/DetailsView/components/start-over-dropdown.tsx", + "src/DetailsView/components/status-icon.tsx", + "src/DetailsView/components/tab-stops-failed-instance-section.tsx", + "src/DetailsView/components/tab-stops/tab-stops-instance-section-props-factory.tsx", + "src/DetailsView/components/test-view-container.tsx", + "src/DetailsView/components/test-view.ts", + "src/DetailsView/details-view-body.tsx", + "src/DetailsView/details-view-container.tsx", + "src/DetailsView/details-view-initializer.ts", + "src/DetailsView/details-view-renderer.tsx", + "src/DetailsView/document-title-updater.ts", + "src/DetailsView/extensions/assessment-report-extension-point.ts", + "src/DetailsView/extensions/exclude-passing-instances-from-assessment-report.ts", + "src/DetailsView/handlers/assessment-instance-table-handler.tsx", + "src/DetailsView/handlers/preview-feature-flags-handler.ts", + "src/DetailsView/tab-stops-minimal-requirement-header.tsx", + "src/DetailsView/tab-stops-requirements-with-instances.tsx", + "src/assessments/adaptable-content/assessment.tsx", + "src/assessments/assessments-feature-flag-filter.ts", + "src/assessments/assessments.ts", + "src/assessments/automated-checks/assessment.tsx", + "src/assessments/color/assessment.tsx", + "src/assessments/contrast/assessment.tsx", + "src/assessments/custom-widgets/assessment.tsx", + "src/assessments/headings/assessment.tsx", + "src/assessments/images/assessment.tsx", + "src/assessments/keyboard-interaction/assessment.tsx", + "src/assessments/landmarks/assessment.tsx", + "src/assessments/native-widgets/assessment.tsx", + "src/assessments/page/assessment.tsx", + "src/assessments/pointer-motion/assessment.tsx", + "src/assessments/sequence/assessment.tsx", + "src/assessments/timed-events/assessment.tsx", + "src/assessments/types/assessments-provider.ts", + "src/assessments/types/iassessment.ts", + "src/assessments/visible-focus-order/assessment.tsx", + "src/background/actions/action-creator.ts", + "src/background/actions/assessment-action-creator.ts", + "src/background/actions/needs-review-scan-result-action-creator.ts", + "src/background/actions/quick-assess-action-creator.ts", + "src/background/actions/unified-scan-result-action-creator.ts", + "src/background/assessment-data-converter.ts", + "src/background/background-message-distributor.ts", + "src/background/completed-test-step-telemetry-creator.ts", + "src/background/feature-flags-controller.ts", + "src/background/global-action-creators/issue-filing-action-creator.ts", + "src/background/global-context-factory.ts", + "src/background/global-context.ts", + "src/background/initial-assessment-store-data-generator.ts", + "src/background/initial-visualization-store-data-generator.ts", + "src/background/injector-controller.ts", + "src/background/keyboard-shortcut-handler.ts", + "src/background/service-worker-init.ts", + "src/background/stores/assessment-store.ts", + "src/background/stores/global/feature-flag-store.ts", + "src/background/stores/global/global-store-hub.ts", + "src/background/stores/tab-context-store-hub.ts", + "src/background/stores/visualization-scan-result-store.ts", + "src/background/stores/visualization-store.ts", + "src/background/tab-context-factory.ts", + "src/background/tab-context-manager.ts", + "src/background/tab-context.ts", + "src/background/tab-event-distributor.ts", + "src/background/target-page-controller.ts", + "src/background/target-tab-controller.ts", + "src/background/telemetry/console-telemetry-client.ts", + "src/background/telemetry/telemetry-logger.ts", + "src/common/extensibility/extension-point.ts", + "src/common/extensibility/react-extension-point.tsx", + "src/common/feature-flag-defaults-helper.ts", + "src/common/feature-flags.ts", + "src/common/insights-window-extensions.ts", + "src/common/notification-creator.ts", + "src/common/self-fast-pass.ts", + "src/debug-tools/action-creators/debug-tools-nav-action-creator.ts", + "src/debug-tools/actions/debug-tools-nav-actions.ts", + "src/debug-tools/components/current-view/current-view.tsx", + "src/debug-tools/components/debug-tools-nav.tsx", + "src/debug-tools/components/debug-tools-view.tsx", + "src/debug-tools/initializer/debug-tools-init.tsx", + "src/debug-tools/stores/debug-tools-nav-store.ts", + "src/electron/common/content-page-info-factory.ts", + "src/electron/common/left-nav-item-factory.ts", + "src/electron/common/unified-feature-flags.ts", + "src/electron/platform/android/setup/android-setup-state-machine-factory.ts", + "src/electron/platform/android/setup/android-setup-steps-configs.ts", + "src/electron/platform/android/setup/steps/detect-adb.ts", + "src/electron/platform/android/setup/steps/detect-devices.ts", + "src/electron/platform/android/setup/steps/detect-permissions.ts", + "src/electron/platform/android/setup/steps/detect-service.ts", + "src/electron/platform/android/setup/steps/establishing-connection.ts", + "src/electron/platform/android/setup/steps/grant-overlay-permission.ts", + "src/electron/platform/android/setup/steps/installing-service.ts", + "src/electron/platform/android/setup/steps/prompt-choose-device.ts", + "src/electron/platform/android/setup/steps/prompt-connect-to-device.ts", + "src/electron/platform/android/setup/steps/prompt-connected-start-testing.ts", + "src/electron/platform/android/setup/steps/prompt-establishing-connection-failed.ts", + "src/electron/platform/android/setup/steps/prompt-grant-permissions.ts", + "src/electron/platform/android/setup/steps/prompt-install-service.ts", + "src/electron/platform/android/setup/steps/prompt-locate-adb.ts", + "src/electron/platform/android/setup/steps/wait-to-start.ts", + "src/electron/platform/android/test-configs/android-test-configs.ts", + "src/electron/platform/android/test-configs/automated-checks/test-config.tsx", + "src/electron/platform/android/test-configs/needs-review/test-config.tsx", + "src/electron/platform/android/test-configs/shared-scan-results/start-over-button-settings.ts", + "src/electron/platform/android/test-configs/tab-stops/start-over-button-settings.ts", + "src/electron/platform/android/test-configs/tab-stops/test-config.tsx", + "src/electron/types/content-page-info.ts", + "src/electron/types/test-config.ts", + "src/electron/views/left-nav/content-panel-deps.ts", + "src/electron/views/left-nav/fluent-left-nav.tsx", + "src/electron/views/left-nav/left-nav.tsx", + "src/electron/views/renderer-initializer.ts", + "src/electron/views/report/unified-details-section.tsx", + "src/electron/views/report/unified-report-section-factory.ts", + "src/electron/views/results/components/reflow-command-bar.tsx", + "src/electron/views/results/results-view.tsx", + "src/electron/views/results/test-view.tsx", + "src/electron/views/root-container/components/root-container.tsx", + "src/electron/views/root-container/root-container-renderer.tsx", + "src/injected/analyzer-controller.ts", + "src/injected/analyzers/filter-results-by-rules.ts", + "src/injected/analyzers/unified-result-sender.ts", + "src/injected/client-init.ts", + "src/injected/main-window-initializer.ts", + "src/injected/selector-map-helper.ts", + "src/injected/target-page-visualization-updater.ts", + "src/injected/visualization-state-change-handler.ts", + "src/injected/window-initializer.ts", + "src/issue-filing/common/create-file-issue-handler.ts", + "src/issue-filing/common/issue-filing-controller-impl.ts", + "src/issue-filing/components/issue-filing-choice-group.tsx", + "src/issue-filing/components/issue-filing-settings-container.tsx", + "src/issue-filing/issue-filing-service-provider-for-unified-impl.ts", + "src/issue-filing/issue-filing-service-provider-impl.ts", + "src/issue-filing/issue-filing-service-provider.ts", + "src/issue-filing/services/azure-boards/azure-boards-issue-filing-service.tsx", + "src/issue-filing/services/azure-boards/azure-boards-settings-form.tsx", + "src/issue-filing/services/github/github-issue-filing-service.tsx", + "src/issue-filing/services/null-issue-filing-service/null-issue-filing-service.tsx", + "src/issue-filing/types/issue-filing-service.ts", + "src/packages/assessment-validator/index.ts", + "src/popup/components/ad-hoc-tools-panel.tsx", + "src/popup/components/diagnostic-view-toggle-factory.tsx", + "src/popup/components/diagnostic-view-toggle.tsx", + "src/popup/components/launch-panel-header.tsx", + "src/popup/components/popup-view.tsx", + "src/popup/handlers/launch-panel-header-click-handler.ts", + "src/popup/handlers/popup-handlers.ts", + "src/popup/handlers/popup-view-controller-handler.ts", + "src/popup/launch-pad-row-configuration-factory.ts", + "src/popup/main-renderer.tsx", + "src/popup/popup-init.ts", + "src/popup/popup-initializer.ts", + "src/reports/assessment-json-export-generator.ts", + "src/reports/assessment-json-export-json-builder.ts", + "src/reports/assessment-report-html-generator.tsx", + "src/reports/assessment-report-model-builder-factory.ts", + "src/reports/assessment-report-model-builder.ts", + "src/reports/assessment-report-model.ts", + "src/reports/combined-report-html-generator.tsx", + "src/reports/components/assessment-report-assessment-list.tsx", + "src/reports/components/assessment-report-body.tsx", + "src/reports/components/assessment-report-step-header.tsx", + "src/reports/components/assessment-report-step-list.tsx", + "src/reports/components/assessment-report-summary.tsx", + "src/reports/components/assessment-report.tsx", + "src/reports/components/assessment-scan-details.tsx", + "src/reports/components/assessment-summary-details.tsx", + "src/reports/components/fast-pass-report-summary.tsx", + "src/reports/components/fast-pass-report.tsx", + "src/reports/components/outcome-chip-set.tsx", + "src/reports/components/outcome-chip.tsx", + "src/reports/components/outcome-icon-set.tsx", + "src/reports/components/outcome-icon.tsx", + "src/reports/components/outcome-math.ts", + "src/reports/components/outcome-summary-bar.tsx", + "src/reports/components/outcome-type.tsx", + "src/reports/components/report-instance-list.tsx", + "src/reports/components/report-sections/axe-results-report-section-factory.tsx", + "src/reports/components/report-sections/collapsible-result-section.tsx", + "src/reports/components/report-sections/combined-report-rules-only-sections.tsx", + "src/reports/components/report-sections/combined-report-section-factory.ts", + "src/reports/components/report-sections/combined-report-summary-section.tsx", + "src/reports/components/report-sections/details-section.tsx", + "src/reports/components/report-sections/fast-pass-report-automated-checks-results.tsx", + "src/reports/components/report-sections/full-rule-header.tsx", + "src/reports/components/report-sections/incomplete-checks-section.tsx", + "src/reports/components/report-sections/make-details-section-fc.tsx", + "src/reports/components/report-sections/minimal-rule-header.tsx", + "src/reports/components/report-sections/not-applicable-checks-section.tsx", + "src/reports/components/report-sections/passed-checks-section.tsx", + "src/reports/components/report-sections/report-body.tsx", + "src/reports/components/report-sections/report-section-factory.tsx", + "src/reports/components/report-sections/results-by-url-container.tsx", + "src/reports/components/report-sections/results-container.tsx", + "src/reports/components/report-sections/rules-only.tsx", + "src/reports/components/report-sections/rules-results-container.tsx", + "src/reports/components/report-sections/summary-report-section-factory.tsx", + "src/reports/components/report-sections/summary-report-summary-section.tsx", + "src/reports/components/report-sections/summary-section.tsx", + "src/reports/components/report-sections/tab-stops-checks-section-wrapper.tsx", + "src/reports/components/report-sections/tab-stops-report-instance-list.tsx", + "src/reports/components/report-sections/urls-summary-section.tsx", + "src/reports/components/requirement-outcome-type.ts", + "src/reports/fast-pass-report-html-generator.tsx", + "src/reports/get-assessment-summary-model.ts", + "src/reports/package/axe-results-report.ts", + "src/reports/package/combined-results-report.ts", + "src/reports/package/combined-results-to-cards-model-converter.ts", + "src/reports/package/reporter-factory.ts", + "src/reports/package/reporter.ts", + "src/reports/package/summary-results-report.ts", + "src/reports/report-generator.ts", + "src/reports/report-html-generator.tsx", + "src/reports/summary-report-html-generator.tsx", + "src/tests/electron/common/create-application.ts", + "src/tests/electron/common/element-identifiers/automated-checks-view-selectors.ts", + "src/tests/electron/common/element-identifiers/results-view-selectors.ts", + "src/tests/electron/common/scan-for-accessibility-issues.ts", + "src/tests/electron/common/view-controllers/app-controller.ts", + "src/tests/electron/common/view-controllers/cards-view-controller.ts", + "src/tests/electron/common/view-controllers/results-view-controller.ts", + "src/tests/end-to-end/common/browser-factory.ts", + "src/tests/end-to-end/common/browser.ts", + "src/tests/end-to-end/common/element-identifiers/details-view-selectors.ts", + "src/tests/end-to-end/common/page-controllers/details-view-page.ts", + "src/tests/unit/common/assessment-store-data-builder.ts", + "src/tests/unit/common/test-assessment-provider.tsx", + "src/tests/unit/common/visual-helper-toggle-config-builder.ts", + "src/tests/unit/common/visualization-scan-result-store-data-builder.ts", + "src/tests/unit/common/visualization-store-data-builder.ts", + "src/tests/unit/tests/DetailsView/assessment-report-builder-test-helper.ts", + "src/tests/unit/tests/DetailsView/details-view-container-props-builder.ts", + "src/tests/unit/tests/DetailsView/store-mocks.ts", + "src/views/insights/initializer.ts" ] }