Mattermost is the open-source collaboration platform; this study covers its webapp — a decade-old React frontend in a monorepo, built by webpack and guarded by 1,108 jest test files. It is the opposite testbed to a young starter: a huge trusted suite, dependency versions pinned by years of history, and a team-scale codebase where a broken build costs real money. That makes it the study of what a big suite buys — and of what an old tree looks like under a verdict system.
Day one
The cold scorer read the webapp install in about two minutes:
$ chainstrip score --dir webapp querying OSV: 42 advisories across 29 packages... 1634 packages — A 1527 · B 76 · C 20 · D 10 · F 1 29 with known CVEs · 10 with install scripts · 15 with native code F marked@0.3.6 5 CVEs: 3 HIGH, 2 MODERATE surface: bin D minimatch@9.0.3 3 CVEs: 3 HIGH surface: none D shell-quote@1.8.3 2 CVEs: 1 CRITICAL, 1 HIGH surface: none D webpack-dev-server@5.2.2 4 CVEs: 4 MODERATE surface: eval · child_process · dynamic-require · network · dynamic-import · fs-write · bin D sharp@0.34.5 1 CVEs: 1 HIGH surface: install-script · native · child_process · dynamic-require · network · fs-write D websocket-driver@0.7.4 2 CVEs: 1 CRITICAL, 1 MODERATE surface: network D fast-uri@3.1.2 2 CVEs: 2 HIGH surface: network D brace-expansion@2.1.0 2 CVEs: 2 HIGH surface: none D brace-expansion@1.1.14 2 CVEs: 2 HIGH surface: none D brace-expansion@5.0.6 2 CVEs: 2 HIGH surface: none D immutable@4.3.8 2 CVEs: 2 HIGH surface: none C svgo@2.8.2 1 CVEs: 1 HIGH surface: dynamic-require · network · dynamic-import · fs-write · bin C js-yaml@4.1.1 2 CVEs: 1 HIGH, 1 MODERATE surface: bin C webpack@5.106.2 no known CVEs surface: obfuscation · eval · child_process · dynamic-require · network · dynamic-import · fs-write · bin C lmdb@2.8.5 no known CVEs surface: install-script · native · child_process · fs-write · bin C prettier@2.3.2 no known CVEs surface: eval · process.binding · child_process · dynamic-require · network · dynamic-import · fs-write · bin C @parcel/watcher@2.5.6 no known CVEs surface: install-script · native · child_process · dynamic-require C msgpackr-extract@3.0.3 no known CVEs surface: install-script · native · child_process · bin C monaco-editor@0.52.2 no known CVEs surface: obfuscation · eval · dynamic-require · network · dynamic-import · fs-write C @parcel/reporter-dev-server@2.16.4 no known CVEs surface: eval · process.binding · child_process · dynamic-require · network C @swc/core@1.15.33 no known CVEs surface: install-script · child_process · dynamic-require · fs-write C eslint@8.57.0 no known CVEs surface: eval · child_process · dynamic-require · network · dynamic-import · fs-write · bin C form-data@4.0.5 1 CVEs: 1 HIGH surface: network C rollup@2.80.0 no known CVEs surface: eval · child_process · dynamic-require · network · dynamic-import · fs-write · bin C ws@8.20.1 1 CVEs: 1 HIGH surface: network C tmp@0.2.5 1 CVEs: 1 HIGH surface: fs-write C blessed@0.1.81 no known CVEs surface: eval · child_process · dynamic-require · network · fs-write · bin C bootstrap@3.4.1 2 CVEs: 2 MODERATE surface: dynamic-require · fs-write C unrs-resolver@1.11.1 no known CVEs surface: install-script · child_process · dynamic-require C js-cookie@2.2.1 1 CVEs: 1 HIGH surface: none C postcss@8.5.13 1 CVEs: 1 HIGH surface: none B @parcel/source-map@2.1.1 no known CVEs surface: native · child_process · dynamic-require · network B @parcel/utils@2.16.4 no known CVEs surface: eval · child_process · dynamic-require · network · fs-write B pdfjs-dist@4.10.38 no known CVEs surface: obfuscation · eval · network · dynamic-import B core-js@3.49.0 no known CVEs surface: install-script · network · fs-write B core-js-pure@3.49.0 no known CVEs surface: install-script · network · fs-write B flexsearch@0.6.32 no known CVEs surface: eval · child_process · dynamic-import · fs-write · bin B html-minifier-terser@7.2.0 no known CVEs surface: eval · dynamic-require · network · fs-write · bin B core-js@2.6.12 no known CVEs surface: install-script · fs-write B napi-postinstall@0.3.4 no known CVEs surface: child_process · dynamic-require · network · fs-write · bin B webpack-cli@6.0.1 no known CVEs surface: eval · dynamic-require · dynamic-import · fs-write · bin B @mixmark-io/domino@2.2.0 no known CVEs surface: eval · dynamic-require · network · fs-write B @statsig/js-client@3.33.0 no known CVEs surface: obfuscation · eval B ajv@6.15.0 no known CVEs surface: eval · dynamic-require · network · fs-write B file-type@16.5.4 1 CVEs: 1 MODERATE surface: eval B envinfo@7.21.0 no known CVEs surface: process.binding · child_process · bin B launch-editor@2.13.2 1 CVEs: 1 MODERATE surface: child_process B react-bootstrap@0.32.4 no known CVEs surface: install-script B terser@5.47.1 no known CVEs surface: eval · network · fs-write · bin B @parcel/package-manager@2.16.4 no known CVEs surface: child_process · dynamic-require · dynamic-import · fs-write B @parcel/runtime-js@2.16.4 no known CVEs surface: eval · dynamic-require · network B browserslist@4.20.2 no known CVEs surface: child_process · dynamic-require · fs-write · bin B typescript@5.6.3 no known CVEs surface: child_process · network · fs-write · bin B @napi-rs/canvas@0.1.100 no known CVEs surface: child_process · dynamic-require · network B ajv@8.20.0 no known CVEs surface: eval · dynamic-require · dynamic-import B crypto-browserify@3.12.0 no known CVEs surface: obfuscation · dynamic-require B http-proxy-middleware@2.0.9 1 CVEs: 1 MODERATE surface: network B loader-runner@4.3.2 no known CVEs surface: eval · dynamic-require · dynamic-import B meow@13.2.0 no known CVEs surface: child_process · dynamic-require · network B phin@2.9.3 1 CVEs: 1 MODERATE surface: network B qs@6.15.1 1 CVEs: 1 MODERATE surface: dynamic-require B tsconfig-paths@3.15.0 no known CVEs surface: child_process · dynamic-require · network B @parcel/workers@2.16.4 no known CVEs surface: child_process · dynamic-require · fs-write B es-module-lexer@2.1.0 no known CVEs surface: obfuscation · dynamic-import B flat@5.0.2 no known CVEs surface: child_process · dynamic-require · bin B node-addon-api@7.1.1 no known CVEs surface: child_process · dynamic-require · fs-write B node-addon-api@6.1.0 no known CVEs surface: child_process · dynamic-require · fs-write B node-gyp-build-optional-packages@5.1.1 no known CVEs surface: child_process · dynamic-require · bin B node-gyp-build-optional-packages@5.2.2 no known CVEs surface: child_process · dynamic-require · bin B resolve@1.22.12 no known CVEs surface: dynamic-require · network · fs-write · bin B uuid@9.0.1 1 CVEs: 1 MODERATE surface: bin B uuid@8.3.2 1 CVEs: 1 MODERATE surface: bin B @parcel/codeframe@2.16.4 no known CVEs surface: eval · network B debug@2.6.9 no known CVEs surface: process.binding · network B handle-thing@2.0.1 no known CVEs surface: process.binding · network B highlight.js@11.6.0 no known CVEs surface: eval · network B http-deceiver@1.2.7 no known CVEs surface: process.binding · network B lz-string@1.5.0 no known CVEs surface: obfuscation · bin B msgpackr@1.11.12 no known CVEs surface: eval · dynamic-require B source-map-support@0.5.21 no known CVEs surface: eval · dynamic-require B update-browserslist-db@1.2.3 no known CVEs surface: child_process · fs-write · bin B whatwg-url@14.2.0 no known CVEs surface: eval · network B @img/sharp-darwin-arm64@0.34.5 no known CVEs surface: native B @jest/snapshot-utils@30.1.2 no known CVEs surface: eval · fs-write B @lmdb/lmdb-darwin-arm64@2.8.5 no known CVEs surface: native B @msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3 no known CVEs surface: native B @napi-rs/canvas-darwin-arm64@0.1.100 no known CVEs surface: native B @parcel/node-resolver-core@3.7.4 no known CVEs surface: child_process · network B @parcel/rust@2.16.4 no known CVEs surface: child_process · network B @parcel/rust-darwin-arm64@2.16.4 no known CVEs surface: native B @parcel/watcher-darwin-arm64@2.5.6 no known CVEs surface: native B @swc/core-darwin-arm64@1.15.33 no known CVEs surface: native B @unrs/resolver-binding-darwin-arm64@1.11.1 no known CVEs surface: native B cjs-module-lexer@2.2.0 no known CVEs surface: obfuscation B cosmiconfig@9.0.1 no known CVEs surface: eval · dynamic-import B decimal.js@10.6.0 no known CVEs surface: obfuscation B fb-watchman@2.0.2 no known CVEs surface: child_process · network B fsevents@2.3.3 no known CVEs surface: native B jest-cli@30.1.3 no known CVEs surface: process.binding · bin B jest-haste-map@30.1.0 no known CVEs surface: child_process · dynamic-require B jest-worker@30.1.0 no known CVEs surface: child_process · dynamic-require B jest-worker@27.5.1 no known CVEs surface: child_process · dynamic-require B lightningcss-darwin-arm64@1.32.0 no known CVEs surface: native B loader-utils@2.0.4 no known CVEs surface: obfuscation B lodash@4.18.1 no known CVEs surface: process.binding · fs-write B lodash-es@4.18.1 no known CVEs surface: process.binding · fs-write B moment-timezone@0.5.38 no known CVEs surface: obfuscation A concurrently@9.0.1 no known CVEs surface: child_process · bin A detect-libc@1.0.3 no known CVEs surface: child_process · bin A html-minifier-terser@6.1.0 no known CVEs surface: dynamic-require · fs-write · bin A katex@0.16.21 no known CVEs surface: network · fs-write · bin A material-colors@1.2.6 no known CVEs surface: child_process · fs-write A patch-package@8.0.1 no known CVEs surface: dynamic-require · fs-write · bin A resolve@2.0.0-next.6 no known CVEs surface: dynamic-require · fs-write · bin A rollup-plugin-ts@2.0.7 no known CVEs surface: dynamic-require · dynamic-import · fs-write A selfsigned@2.4.1 no known CVEs surface: child_process · fs-write A tree-kill@1.2.2 no known CVEs surface: child_process · bin A @emnapi/runtime@1.10.0 no known CVEs surface: eval A @formatjs/ts-transformer@3.13.14 no known CVEs surface: eval A @formatjs/ts-transformer@3.13.1 no known CVEs surface: eval A @jsonjoy.com/codegen@1.0.0 no known CVEs surface: eval A @jsonjoy.com/codegen@17.67.0 no known CVEs surface: eval A @parcel/transformer-postcss@2.16.4 no known CVEs surface: dynamic-require · network A @parcel/transformer-react-refresh-wrap@2.16.4 no known CVEs surface: dynamic-require · network A @sinonjs/commons@3.0.1 no known CVEs surface: eval A @typescript-eslint/eslint-plugin@7.18.0 no known CVEs surface: eval A axe-core@4.11.4 no known CVEs surface: eval A builtin-modules@3.3.0 no known CVEs surface: process.binding A depd@2.0.0 no known CVEs surface: eval A depd@1.1.2 no known CVEs surface: eval A eslint-scope@7.2.2 no known CVEs surface: eval A eslint-scope@5.1.1 no known CVEs surface: eval A express@4.22.2 no known CVEs surface: dynamic-require · network A glob-to-regex.js@1.2.0 no known CVEs surface: eval A globalthis@1.0.4 no known CVEs surface: eval A is-core-module@2.16.2 no known CVEs surface: dynamic-require · network A istanbul-lib-instrument@6.0.3 no known CVEs surface: eval A lodash.merge@4.6.2 no known CVEs surface: process.binding A node-forge@1.4.0 no known CVEs surface: eval A ordered-binary@1.6.1 no known CVEs surface: eval A safer-buffer@2.1.2 no known CVEs surface: process.binding A source-map-js@1.2.1 no known CVEs surface: eval A source-map-support@0.5.13 no known CVEs surface: eval A stacktrace-gps@3.1.2 no known CVEs surface: eval A stacktrace-js@2.0.2 no known CVEs surface: eval A tapable@2.3.3 no known CVEs surface: eval A terser-webpack-plugin@5.5.0 no known CVEs surface: eval A tmpl@1.0.5 no known CVEs surface: eval A @atlaskit/feature-gate-js-client@5.5.11 no known CVEs surface: network · fs-write A @atlaskit/tokens@11.4.3 no known CVEs surface: dynamic-require · dynamic-import A @istanbuljs/load-nyc-config@1.1.0 no known CVEs surface: dynamic-require · dynamic-import A @jest/core@30.1.3 no known CVEs surface: dynamic-require · fs-write A @jsonjoy.com/json-pack@1.21.0 no known CVEs surface: network · fs-write A @jsonjoy.com/json-pack@17.67.0 no known CVEs surface: network · fs-write A @parcel/core@2.16.4 no known CVEs surface: dynamic-require · fs-write A @parcel/fs@2.16.4 no known CVEs surface: dynamic-require · fs-write A @parcel/packager-js@2.16.4 no known CVEs surface: dynamic-require · dynamic-import A @parcel/types-internal@2.16.4 no known CVEs surface: dynamic-require · fs-write A babel-loader@9.1.2 no known CVEs surface: dynamic-require · fs-write A babel-plugin-istanbul@7.0.1 no known CVEs surface: child_process A browserslist@4.28.2 no known CVEs surface: dynamic-require · bin A commander@10.0.1 no known CVEs surface: child_process A commander@12.1.0 no known CVEs surface: child_process A commander@2.20.3 no known CVEs surface: child_process A commander@7.2.0 no known CVEs surface: child_process A commander@8.3.0 no known CVEs surface: child_process A cross-spawn@7.0.6 no known CVEs surface: child_process A css-loader@6.7.3 no known CVEs surface: dynamic-require · dynamic-import A default-browser@5.5.0 no known CVEs surface: child_process A default-browser-id@5.0.1 no known CVEs surface: child_process A detect-libc@2.1.2 no known CVEs surface: child_process A execa@5.1.1 no known CVEs surface: child_process A exit-x@0.2.2 no known CVEs surface: child_process A foreground-child@3.3.1 no known CVEs surface: child_process A get-css-data@2.1.1 no known CVEs surface: child_process A image-minimizer-webpack-plugin@5.0.0 no known CVEs surface: dynamic-require · dynamic-import A import-local@3.2.0 no known CVEs surface: dynamic-require · bin A inline-style-prefixer@7.0.1 no known CVEs surface: dynamic-require · fs-write A istanbul-reports@3.2.0 no known CVEs surface: dynamic-require · fs-write A jest-config@30.1.3 no known CVEs surface: dynamic-require · dynamic-import A jest-snapshot@30.1.2 no known CVEs surface: dynamic-require · fs-write A jest-util@30.0.5 no known CVEs surface: dynamic-require · dynamic-import A jest-util@30.4.1 no known CVEs surface: dynamic-require · dynamic-import A jimp@0.16.1 no known CVEs surface: network · fs-write A multicast-dns@7.2.5 no known CVEs surface: network · bin A nock@13.2.8 no known CVEs surface: network · fs-write A open@7.4.2 no known CVEs surface: child_process A open@10.2.0 no known CVEs surface: child_process A parcel@2.16.4 no known CVEs surface: network · bin A run-applescript@7.1.0 no known CVEs surface: child_process A term-size@2.2.1 no known CVEs surface: child_process A tldts@6.1.86 no known CVEs surface: network · bin A webpack-dev-middleware@7.4.5 no known CVEs surface: network · fs-write A zen-observable@0.10.0 no known CVEs surface: child_process A zen-observable@0.2.1 no known CVEs surface: child_process A @babel/core@7.28.5 1 CVEs: 1 LOW surface: dynamic-import A @babel/parser@7.29.3 no known CVEs surface: dynamic-import · bin A json5@2.2.3 no known CVEs surface: fs-write · bin A json5@1.0.2 no known CVEs surface: fs-write · bin A mime@1.6.0 no known CVEs surface: fs-write · bin A rimraf@3.0.2 no known CVEs surface: fs-write · bin A stylelint@16.10.0 no known CVEs surface: dynamic-import · bin A yaml@2.8.4 no known CVEs surface: dynamic-import · bin A @asamuzakjp/css-color@3.2.0 no known CVEs surface: network A @babel/helper-define-polyfill-provider@0.6.8 no known CVEs surface: dynamic-require A @babel/plugin-transform-modules-commonjs@7.28.6 no known CVEs surface: dynamic-require A @babel/plugin-transform-typescript@7.28.6 no known CVEs surface: dynamic-require A @eslint/eslintrc@2.1.4 no known CVEs surface: dynamic-require A @giphy/js-analytics@5.0.0 no known CVEs surface: network A @giphy/js-fetch-api@5.7.0 no known CVEs surface: network A @parcel/error-overlay@2.16.4 no known CVEs surface: network A @parcel/reporter-cli@2.16.4 no known CVEs surface: network A @parcel/runtime-browser-hmr@2.16.4 no known CVEs surface: network A @parcel/transformer-js@2.16.4 no known CVEs surface: dynamic-require A @parcel/transformer-posthtml@2.16.4 no known CVEs surface: dynamic-require A @rollup/plugin-commonjs@21.1.0 no known CVEs surface: dynamic-require A @types/ws@8.18.1 no known CVEs surface: network A @typescript-eslint/scope-manager@6.21.0 no known CVEs surface: network A @typescript-eslint/scope-manager@7.18.0 no known CVEs surface: network A @typescript-eslint/scope-manager@8.60.0 no known CVEs surface: network A @webpack-cli/serve@3.0.1 no known CVEs surface: dynamic-require A agent-base@7.1.4 no known CVEs surface: network A centra@2.7.0 no known CVEs surface: network A clean-css@5.3.3 no known CVEs surface: network A domutils@3.2.2 no known CVEs surface: network A domutils@2.8.0 no known CVEs surface: network A eslint-import-resolver-webpack@0.13.8 no known CVEs surface: dynamic-require A eslint-module-utils@2.12.1 no known CVEs surface: dynamic-require A eslint-plugin-jsx-a11y@6.10.2 no known CVEs surface: dynamic-require A eslint-plugin-react@7.34.0 no known CVEs surface: dynamic-require A fast-json-stable-stringify@2.1.0 no known CVEs surface: dynamic-require A fastest-stable-stringify@2.0.2 no known CVEs surface: dynamic-require A faye-websocket@0.11.4 no known CVEs surface: network A find-root@1.1.0 no known CVEs surface: dynamic-require A follow-redirects@1.16.0 no known CVEs surface: network A get-port@4.2.0 no known CVEs surface: network A hpack.js@2.1.6 no known CVEs surface: network A html-loader@5.1.0 no known CVEs surface: dynamic-require A htmlparser2@6.1.0 no known CVEs surface: network A http-proxy@1.18.1 no known CVEs surface: network A http-proxy-agent@7.0.2 no known CVEs surface: network A import-fresh@3.3.1 no known CVEs surface: dynamic-require A is-network-error@1.3.2 no known CVEs surface: network A isarray@0.0.1 no known CVEs surface: dynamic-require A isbot@3.4.5 no known CVEs surface: network A jest-pnp-resolver@1.2.3 no known CVEs surface: dynamic-require A jest-resolve@30.1.3 no known CVEs surface: dynamic-require A jest-runner@30.1.3 no known CVEs surface: dynamic-require A jest-runtime@30.1.3 no known CVEs surface: dynamic-require A jsx-ast-utils@3.3.5 no known CVEs surface: dynamic-require A keycode@2.2.1 no known CVEs surface: dynamic-require A keyv@4.5.4 no known CVEs surface: dynamic-require A lightningcss@1.32.0 no known CVEs surface: dynamic-require A load-bmfont@1.4.2 no known CVEs surface: network A lru-cache@10.4.3 no known CVEs surface: network A methods@1.1.2 no known CVEs surface: network A mini-css-extract-plugin@2.7.5 no known CVEs surface: dynamic-require A monaco-editor-webpack-plugin@7.1.0 no known CVEs surface: dynamic-require A node-fetch@2.7.0 no known CVEs surface: network A on-headers@1.1.0 no known CVEs surface: network A prop-types@15.8.1 no known CVEs surface: dynamic-require A rechoir@0.8.0 no known CVEs surface: dynamic-require A regexpu-core@6.4.0 no known CVEs surface: dynamic-require A require-directory@2.1.1 no known CVEs surface: dynamic-require A requires-port@1.0.0 no known CVEs surface: network A retry@0.13.1 no known CVEs surface: network A rollup-plugin-scss@4.0.0 no known CVEs surface: network A rxjs@7.8.2 no known CVEs surface: network A sass-loader@16.0.2 no known CVEs surface: dynamic-require A select-hose@2.0.0 no known CVEs surface: network A sockjs@0.3.24 no known CVEs surface: network A spdy@4.0.2 no known CVEs surface: network A spdy-transport@3.0.0 no known CVEs surface: network A style-loader@4.0.0 no known CVEs surface: dynamic-require A stylelint-config-idiomatic-order@10.0.0 no known CVEs surface: dynamic-require A tldts-core@6.1.86 no known CVEs surface: network A tough-cookie@5.1.2 no known CVEs surface: network A unicode-emoji-utils@1.3.1 no known CVEs surface: network A uri-js@4.4.1 no known CVEs surface: network A websocket-extensions@0.1.4 no known CVEs surface: network A whatwg-url@5.0.0 no known CVEs surface: network A yargs@17.7.2 no known CVEs surface: dynamic-require A yargs-parser@21.1.1 no known CVEs surface: dynamic-require A @adobe/css-tools@4.4.4 no known CVEs surface: dynamic-import A @formatjs/cli@6.7.4 no known CVEs surface: bin A @humanwhocodes/module-importer@1.0.1 no known CVEs surface: dynamic-import A @icons/material@0.2.4 no known CVEs surface: fs-write A @jest/test-sequencer@30.1.3 no known CVEs surface: fs-write A @jest/transform@30.1.2 no known CVEs surface: fs-write A @jimp/core@0.16.13 no known CVEs surface: fs-write A @jsonjoy.com/fs-core@4.57.2 no known CVEs surface: fs-write A @jsonjoy.com/fs-fsa@4.57.2 no known CVEs surface: fs-write A @jsonjoy.com/fs-node@4.57.2 no known CVEs surface: fs-write A @jsonjoy.com/fs-node-to-fsa@4.57.2 no known CVEs surface: fs-write A @jsonjoy.com/fs-snapshot@4.57.2 no known CVEs surface: fs-write A @parcel/cache@2.16.4 no known CVEs surface: fs-write A @parcel/profiler@2.16.4 no known CVEs surface: fs-write A @parcel/reporter-tracer@2.16.4 no known CVEs surface: fs-write A @parcel/ts-utils@2.16.4 no known CVEs surface: fs-write A @rollup/plugin-typescript@11.1.6 no known CVEs surface: fs-write A @stylistic/stylelint-plugin@3.1.2 no known CVEs surface: dynamic-import A @swc/helpers@0.5.21 no known CVEs surface: fs-write A @typescript-eslint/typescript-estree@6.21.0 no known CVEs surface: fs-write A @typescript-eslint/typescript-estree@7.18.0 no known CVEs surface: fs-write A @typescript-eslint/typescript-estree@8.60.0 no known CVEs surface: fs-write A @yarnpkg/lockfile@1.1.0 no known CVEs surface: fs-write A acorn@8.16.0 no known CVEs surface: bin A ansi-html-community@0.0.8 no known CVEs surface: bin A argparse@2.0.1 no known CVEs surface: fs-write A baseline-browser-mapping@2.10.29 no known CVEs surface: bin A bmp-js@0.1.0 no known CVEs surface: fs-write A body-parser@1.20.5 1 CVEs: 1 LOW surface: none A cross-env@7.0.3 no known CVEs surface: bin A cssesc@3.0.0 no known CVEs surface: bin A elliptic@6.6.1 1 CVEs: 1 LOW surface: none A eslint-plugin-import@2.32.0 no known CVEs surface: dynamic-import A exif-parser@0.1.12 no known CVEs surface: fs-write A fastest-levenshtein@1.0.16 no known CVEs surface: fs-write A flat-cache@3.2.0 no known CVEs surface: fs-write A flat-cache@5.0.0 no known CVEs surface: fs-write A fs-extra@10.1.0 no known CVEs surface: fs-write A gifwrap@0.9.4 no known CVEs surface: fs-write A glob@10.5.0 no known CVEs surface: bin A graceful-fs@4.2.11 no known CVEs surface: fs-write A he@1.2.0 no known CVEs surface: bin A is-docker@2.2.1 no known CVEs surface: bin A is-docker@3.0.0 no known CVEs surface: bin A is-inside-container@1.0.0 no known CVEs surface: bin A isexe@2.0.0 no known CVEs surface: fs-write A istanbul-lib-report@3.0.1 no known CVEs surface: fs-write A jest@30.1.3 no known CVEs surface: bin A jsesc@3.1.0 no known CVEs surface: bin A jsonfile@6.2.1 no known CVEs surface: fs-write A loose-envify@1.4.0 no known CVEs surface: bin A memfs@4.57.2 no known CVEs surface: fs-write A memory-fs@0.2.0 no known CVEs surface: fs-write A miller-rabin@4.0.1 no known CVEs surface: bin A mime@2.4.6 no known CVEs surface: bin A mkdirp@0.5.6 no known CVEs surface: bin A nanoid@3.3.12 no known CVEs surface: bin A node-localstorage@1.3.1 no known CVEs surface: fs-write A omggif@1.0.10 no known CVEs surface: fs-write A pixelmatch@4.0.2 no known CVEs surface: bin A postcss-modules-values@4.0.0 no known CVEs surface: dynamic-import A regjsparser@0.13.1 no known CVEs surface: bin A sass@1.80.5 no known CVEs surface: bin A semver@7.6.3 no known CVEs surface: bin A semver@7.8.0 no known CVEs surface: bin A semver@6.3.1 no known CVEs surface: bin A semver@5.7.2 no known CVEs surface: bin A semver@7.8.1 no known CVEs surface: bin A sha.js@2.4.12 no known CVEs surface: bin A strtok3@6.3.0 no known CVEs surface: fs-write A styled-components@5.3.7 no known CVEs surface: fs-write A synckit@0.11.12 no known CVEs surface: fs-write A ts-api-utils@1.4.3 no known CVEs surface: dynamic-import A typescript-eslint-language-service@5.0.5 no known CVEs surface: fs-write A ua-parser-js@1.0.41 no known CVEs surface: bin A which@2.0.2 no known CVEs surface: bin A which@1.3.1 no known CVEs surface: bin A write-file-atomic@5.0.1 no known CVEs surface: fs-write A write-file-atomic@1.3.4 no known CVEs surface: fs-write A y18n@5.0.8 no known CVEs surface: fs-write A @atlaskit/atlassian-context@0.8.0 no known CVEs surface: none A @atlaskit/ds-lib@6.0.0 no known CVEs surface: none A @atlaskit/platform-feature-flags@1.1.3 no known CVEs surface: none A @atlaskit/pragmatic-drag-and-drop@1.7.7 no known CVEs surface: none A @atlaskit/pragmatic-drag-and-drop-hitbox@1.1.0 no known CVEs surface: none A @atlaskit/pragmatic-drag-and-drop-react-drop-indicator@3.2.12 no known CVEs surface: none A @babel/code-frame@7.29.0 no known CVEs surface: none A @babel/compat-data@7.29.3 no known CVEs surface: none A @babel/generator@7.29.1 no known CVEs surface: none A @babel/helper-annotate-as-pure@7.27.3 no known CVEs surface: none A @babel/helper-compilation-targets@7.28.6 no known CVEs surface: none A @babel/helper-create-class-features-plugin@7.29.3 no known CVEs surface: none A @babel/helper-create-regexp-features-plugin@7.28.5 no known CVEs surface: none A @babel/helper-globals@7.28.0 no known CVEs surface: none A @babel/helper-member-expression-to-functions@7.28.5 no known CVEs surface: none A @babel/helper-module-imports@7.28.6 no known CVEs surface: none A @babel/helper-module-transforms@7.28.6 no known CVEs surface: none A @babel/helper-optimise-call-expression@7.27.1 no known CVEs surface: none A @babel/helper-plugin-utils@7.28.6 no known CVEs surface: none A @babel/helper-remap-async-to-generator@7.27.1 no known CVEs surface: none A @babel/helper-replace-supers@7.28.6 no known CVEs surface: none A @babel/helper-skip-transparent-expression-wrappers@7.27.1 no known CVEs surface: none A @babel/helper-string-parser@7.27.1 no known CVEs surface: none A @babel/helper-validator-identifier@7.28.5 no known CVEs surface: none A @babel/helper-validator-option@7.27.1 no known CVEs surface: none A @babel/helper-wrap-function@7.28.6 no known CVEs surface: none A @babel/helpers@7.29.2 no known CVEs surface: none A @babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5 no known CVEs surface: none A @babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1 no known CVEs surface: none A @babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1 no known CVEs surface: none A @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1 no known CVEs surface: none A @babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6 no known CVEs surface: none A @babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2 no known CVEs surface: none A @babel/plugin-syntax-async-generators@7.8.4 no known CVEs surface: none A @babel/plugin-syntax-bigint@7.8.3 no known CVEs surface: none A @babel/plugin-syntax-class-properties@7.12.13 no known CVEs surface: none A @babel/plugin-syntax-class-static-block@7.14.5 no known CVEs surface: none A @babel/plugin-syntax-import-assertions@7.28.6 no known CVEs surface: none A @babel/plugin-syntax-import-attributes@7.28.6 no known CVEs surface: none A @babel/plugin-syntax-import-meta@7.10.4 no known CVEs surface: none A @babel/plugin-syntax-json-strings@7.8.3 no known CVEs surface: none A @babel/plugin-syntax-jsx@7.28.6 no known CVEs surface: none A @babel/plugin-syntax-logical-assignment-operators@7.10.4 no known CVEs surface: none A @babel/plugin-syntax-nullish-coalescing-operator@7.8.3 no known CVEs surface: none A @babel/plugin-syntax-numeric-separator@7.10.4 no known CVEs surface: none A @babel/plugin-syntax-object-rest-spread@7.8.3 no known CVEs surface: none A @babel/plugin-syntax-optional-catch-binding@7.8.3 no known CVEs surface: none A @babel/plugin-syntax-optional-chaining@7.8.3 no known CVEs surface: none A @babel/plugin-syntax-private-property-in-object@7.14.5 no known CVEs surface: none A @babel/plugin-syntax-top-level-await@7.14.5 no known CVEs surface: none A @babel/plugin-syntax-typescript@7.28.6 no known CVEs surface: none A @babel/plugin-syntax-unicode-sets-regex@7.18.6 no known CVEs surface: none A @babel/plugin-transform-arrow-functions@7.27.1 no known CVEs surface: none A @babel/plugin-transform-async-generator-functions@7.29.0 no known CVEs surface: none A @babel/plugin-transform-async-to-generator@7.28.6 no known CVEs surface: none A @babel/plugin-transform-block-scoped-functions@7.27.1 no known CVEs surface: none A @babel/plugin-transform-block-scoping@7.28.6 no known CVEs surface: none A @babel/plugin-transform-class-properties@7.28.6 no known CVEs surface: none A @babel/plugin-transform-class-static-block@7.28.6 no known CVEs surface: none A @babel/plugin-transform-classes@7.28.6 no known CVEs surface: none A @babel/plugin-transform-computed-properties@7.28.6 no known CVEs surface: none A @babel/plugin-transform-destructuring@7.28.5 no known CVEs surface: none A @babel/plugin-transform-dotall-regex@7.28.6 no known CVEs surface: none A @babel/plugin-transform-duplicate-keys@7.27.1 no known CVEs surface: none A @babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0 no known CVEs surface: none A @babel/plugin-transform-dynamic-import@7.27.1 no known CVEs surface: none A @babel/plugin-transform-explicit-resource-management@7.28.6 no known CVEs surface: none A @babel/plugin-transform-exponentiation-operator@7.28.6 no known CVEs surface: none A @babel/plugin-transform-export-namespace-from@7.27.1 no known CVEs surface: none A @babel/plugin-transform-for-of@7.27.1 no known CVEs surface: none A @babel/plugin-transform-function-name@7.27.1 no known CVEs surface: none A @babel/plugin-transform-json-strings@7.28.6 no known CVEs surface: none A @babel/plugin-transform-literals@7.27.1 no known CVEs surface: none A @babel/plugin-transform-logical-assignment-operators@7.28.6 no known CVEs surface: none A @babel/plugin-transform-member-expression-literals@7.27.1 no known CVEs surface: none A @babel/plugin-transform-modules-amd@7.27.1 no known CVEs surface: none A @babel/plugin-transform-modules-systemjs@7.29.4 no known CVEs surface: none A @babel/plugin-transform-modules-umd@7.27.1 no known CVEs surface: none A @babel/plugin-transform-named-capturing-groups-regex@7.29.0 no known CVEs surface: none A @babel/plugin-transform-new-target@7.27.1 no known CVEs surface: none A @babel/plugin-transform-nullish-coalescing-operator@7.28.6 no known CVEs surface: none A @babel/plugin-transform-numeric-separator@7.28.6 no known CVEs surface: none A @babel/plugin-transform-object-rest-spread@7.28.6 no known CVEs surface: none A @babel/plugin-transform-object-super@7.27.1 no known CVEs surface: none A @babel/plugin-transform-optional-catch-binding@7.28.6 no known CVEs surface: none A @babel/plugin-transform-optional-chaining@7.28.6 no known CVEs surface: none A @babel/plugin-transform-parameters@7.27.7 no known CVEs surface: none A @babel/plugin-transform-private-methods@7.28.6 no known CVEs surface: none A @babel/plugin-transform-private-property-in-object@7.28.6 no known CVEs surface: none A @babel/plugin-transform-property-literals@7.27.1 no known CVEs surface: none A @babel/plugin-transform-react-display-name@7.28.0 no known CVEs surface: none A @babel/plugin-transform-react-jsx@7.28.6 no known CVEs surface: none A @babel/plugin-transform-react-jsx-development@7.27.1 no known CVEs surface: none A @babel/plugin-transform-react-pure-annotations@7.27.1 no known CVEs surface: none A @babel/plugin-transform-regenerator@7.29.0 no known CVEs surface: none A @babel/plugin-transform-regexp-modifiers@7.28.6 no known CVEs surface: none A @babel/plugin-transform-reserved-words@7.27.1 no known CVEs surface: none A @babel/plugin-transform-runtime@7.29.0 no known CVEs surface: none A @babel/plugin-transform-shorthand-properties@7.27.1 no known CVEs surface: none A @babel/plugin-transform-spread@7.28.6 no known CVEs surface: none A @babel/plugin-transform-sticky-regex@7.27.1 no known CVEs surface: none A @babel/plugin-transform-template-literals@7.27.1 no known CVEs surface: none A @babel/plugin-transform-typeof-symbol@7.27.1 no known CVEs surface: none A @babel/plugin-transform-unicode-escapes@7.27.1 no known CVEs surface: none A @babel/plugin-transform-unicode-property-regex@7.28.6 no known CVEs surface: none A @babel/plugin-transform-unicode-regex@7.27.1 no known CVEs surface: none A @babel/plugin-transform-unicode-sets-regex@7.28.6 no known CVEs surface: none A @babel/preset-env@7.29.2 no known CVEs surface: none A @babel/preset-modules@0.1.6-no-external-plugins no known CVEs surface: none A @babel/preset-react@7.28.5 no known CVEs surface: none A @babel/preset-typescript@7.28.5 no known CVEs surface: none A @babel/runtime@7.29.2 no known CVEs surface: none A @babel/runtime-corejs2@7.29.2 no known CVEs surface: none A @babel/runtime-corejs3@7.29.2 no known CVEs surface: none A @babel/template@7.28.6 no known CVEs surface: none A @babel/traverse@7.29.0 no known CVEs surface: none A @babel/types@7.29.0 no known CVEs surface: none A @bcoe/v8-coverage@0.2.3 no known CVEs surface: none A @compiled/react@0.18.6 no known CVEs surface: none A @csstools/color-helpers@5.1.0 no known CVEs surface: none A @csstools/css-calc@2.1.4 no known CVEs surface: none A @csstools/css-color-parser@3.1.0 no known CVEs surface: none A @csstools/css-parser-algorithms@3.0.5 no known CVEs surface: none A @csstools/css-tokenizer@3.0.4 no known CVEs surface: none A @csstools/media-query-list-parser@3.0.1 no known CVEs surface: none A @csstools/selector-specificity@4.0.0 no known CVEs surface: none A @deanwhillier/jest-matchmedia-mock@1.2.0 no known CVEs surface: none A @discoveryjs/json-ext@0.6.3 no known CVEs surface: none A @dual-bundle/import-meta-resolve@4.2.1 no known CVEs surface: none A @emotion/babel-plugin@11.13.5 no known CVEs surface: none A @emotion/cache@11.14.0 no known CVEs surface: none A @emotion/hash@0.9.2 no known CVEs surface: none A @emotion/is-prop-valid@1.4.0 no known CVEs surface: none A @emotion/memoize@0.9.0 no known CVEs surface: none A @emotion/react@11.14.0 no known CVEs surface: none A @emotion/serialize@1.3.3 no known CVEs surface: none A @emotion/sheet@1.4.0 no known CVEs surface: none A @emotion/stylis@0.8.5 no known CVEs surface: none A @emotion/unitless@0.7.5 no known CVEs surface: none A @emotion/unitless@0.10.0 no known CVEs surface: none A @emotion/use-insertion-effect-with-fallbacks@1.2.0 no known CVEs surface: none A @emotion/utils@1.4.2 no known CVEs surface: none A @emotion/weak-memoize@0.4.0 no known CVEs surface: none A @eslint-community/eslint-utils@4.9.1 no known CVEs surface: none A @eslint-community/regexpp@4.12.2 no known CVEs surface: none A @eslint/js@8.57.0 no known CVEs surface: none A @floating-ui/core@1.7.5 no known CVEs surface: none A @floating-ui/dom@1.7.6 no known CVEs surface: none A @floating-ui/react@0.26.6 no known CVEs surface: none A @floating-ui/react-dom@2.1.8 no known CVEs surface: none A @floating-ui/utils@0.2.11 no known CVEs surface: none A @formatjs/ecma402-abstract@2.3.6 no known CVEs surface: none A @formatjs/ecma402-abstract@2.0.0 no known CVEs surface: none A @formatjs/ecma402-abstract@1.15.0 no known CVEs surface: none A @formatjs/fast-memoize@2.2.7 no known CVEs surface: none A @formatjs/icu-messageformat-parser@2.11.4 no known CVEs surface: none A @formatjs/icu-messageformat-parser@2.7.8 no known CVEs surface: none A @formatjs/icu-messageformat-parser@2.4.0 no known CVEs surface: none A @formatjs/icu-skeleton-parser@1.8.16 no known CVEs surface: none A @formatjs/icu-skeleton-parser@1.8.2 no known CVEs surface: none A @formatjs/icu-skeleton-parser@1.4.0 no known CVEs surface: none A @formatjs/intl@3.1.8 no known CVEs surface: none A @formatjs/intl-localematcher@0.6.2 no known CVEs surface: none A @formatjs/intl-localematcher@0.5.4 no known CVEs surface: none A @formatjs/intl-localematcher@0.2.32 no known CVEs surface: none A @giphy/colors@1.0.1 no known CVEs surface: none A @giphy/js-types@5.1.0 no known CVEs surface: none A @giphy/js-util@5.2.0 no known CVEs surface: none A @giphy/react-components@10.1.0 no known CVEs surface: none A @guyplusplus/turndown-plugin-gfm@1.0.7 no known CVEs surface: none A @humanwhocodes/config-array@0.11.14 no known CVEs surface: none A @humanwhocodes/object-schema@2.0.3 no known CVEs surface: none A @img/colour@1.1.0 no known CVEs surface: none A @img/sharp-libvips-darwin-arm64@1.2.4 no known CVEs surface: none A @isaacs/cliui@8.0.2 no known CVEs surface: none A @istanbuljs/schema@0.1.6 no known CVEs surface: none A @jest/console@30.1.2 no known CVEs surface: none A @jest/create-cache-key-function@30.4.1 no known CVEs surface: none A @jest/diff-sequences@30.0.1 no known CVEs surface: none A @jest/diff-sequences@30.4.0 no known CVEs surface: none A @jest/environment@30.1.2 no known CVEs surface: none A @jest/environment@30.1.0 no known CVEs surface: none A @jest/expect@30.1.2 no known CVEs surface: none A @jest/expect-utils@30.1.2 no known CVEs surface: none A @jest/expect-utils@30.4.1 no known CVEs surface: none A @jest/fake-timers@30.1.2 no known CVEs surface: none A @jest/fake-timers@30.1.0 no known CVEs surface: none A @jest/get-type@30.1.0 no known CVEs surface: none A @jest/globals@30.1.2 no known CVEs surface: none A @jest/pattern@30.0.1 no known CVEs surface: none A @jest/pattern@30.4.0 no known CVEs surface: none A @jest/reporters@30.1.3 no known CVEs surface: none A @jest/schemas@30.4.1 no known CVEs surface: none A @jest/schemas@30.0.5 no known CVEs surface: none A @jest/source-map@30.0.1 no known CVEs surface: none A @jest/test-result@30.1.3 no known CVEs surface: none A @jest/types@30.0.5 no known CVEs surface: none A @jest/types@30.4.1 no known CVEs surface: none A @jimp/bmp@0.16.13 no known CVEs surface: none A @jimp/custom@0.16.13 no known CVEs surface: none A @jimp/gif@0.16.13 no known CVEs surface: none A @jimp/jpeg@0.16.13 no known CVEs surface: none A @jimp/plugin-blit@0.16.13 no known CVEs surface: none A @jimp/plugin-blur@0.16.13 no known CVEs surface: none A @jimp/plugin-circle@0.16.13 no known CVEs surface: none A @jimp/plugin-color@0.16.13 no known CVEs surface: none A @jimp/plugin-contain@0.16.13 no known CVEs surface: none A @jimp/plugin-cover@0.16.13 no known CVEs surface: none A @jimp/plugin-crop@0.16.13 no known CVEs surface: none A @jimp/plugin-displace@0.16.13 no known CVEs surface: none A @jimp/plugin-dither@0.16.13 no known CVEs surface: none A @jimp/plugin-fisheye@0.16.13 no known CVEs surface: none A @jimp/plugin-flip@0.16.13 no known CVEs surface: none A @jimp/plugin-gaussian@0.16.13 no known CVEs surface: none A @jimp/plugin-invert@0.16.13 no known CVEs surface: none A @jimp/plugin-mask@0.16.13 no known CVEs surface: none A @jimp/plugin-normalize@0.16.13 no known CVEs surface: none A @jimp/plugin-print@0.16.13 no known CVEs surface: none A @jimp/plugin-resize@0.16.13 no known CVEs surface: none A @jimp/plugin-rotate@0.16.13 no known CVEs surface: none A @jimp/plugin-scale@0.16.13 no known CVEs surface: none A @jimp/plugin-shadow@0.16.13 no known CVEs surface: none A @jimp/plugin-threshold@0.16.13 no known CVEs surface: none A @jimp/plugins@0.16.13 no known CVEs surface: none A @jimp/png@0.16.13 no known CVEs surface: none A @jimp/tiff@0.16.13 no known CVEs surface: none A @jimp/types@0.16.13 no known CVEs surface: none A @jimp/utils@0.16.13 no known CVEs surface: none A @jridgewell/gen-mapping@0.3.13 no known CVEs surface: none A @jridgewell/remapping@2.3.5 no known CVEs surface: none A @jridgewell/resolve-uri@3.1.2 no known CVEs surface: none A @jridgewell/source-map@0.3.11 no known CVEs surface: none A @jridgewell/sourcemap-codec@1.5.5 no known CVEs surface: none A @jridgewell/trace-mapping@0.3.31 no known CVEs surface: none A @jsonjoy.com/base64@1.1.2 no known CVEs surface: none A @jsonjoy.com/base64@17.67.0 no known CVEs surface: none A @jsonjoy.com/buffers@17.67.0 no known CVEs surface: none A @jsonjoy.com/buffers@1.2.1 no known CVEs surface: none A @jsonjoy.com/fs-node-builtins@4.57.2 no known CVEs surface: none A @jsonjoy.com/fs-node-utils@4.57.2 no known CVEs surface: none A @jsonjoy.com/fs-print@4.57.2 no known CVEs surface: none A @jsonjoy.com/json-pointer@1.0.2 no known CVEs surface: none A @jsonjoy.com/json-pointer@17.67.0 no known CVEs surface: none A @jsonjoy.com/util@1.9.0 no known CVEs surface: none A @jsonjoy.com/util@17.67.0 no known CVEs surface: none A @leichtgewicht/ip-codec@2.0.5 no known CVEs surface: none A @lezer/common@1.5.2 no known CVEs surface: none A @lezer/lr@1.4.10 no known CVEs surface: none A @mattermost/calls-common@0.27.0 no known CVEs surface: none A @mattermost/compass-icons@0.1.61 no known CVEs surface: none A @mattermost/desktop-api@6.3.0-1 no known CVEs surface: none A @mdn/browser-compat-data@4.2.1 no known CVEs surface: none A @mischnic/json-sourcemap@0.1.1 no known CVEs surface: none A @mui/base@5.0.0-alpha.127 no known CVEs surface: none A @mui/base@5.0.0-alpha.124 no known CVEs surface: none A @mui/core-downloads-tracker@5.18.0 no known CVEs surface: none A @mui/material@5.11.16 no known CVEs surface: none A @mui/private-theming@5.17.1 no known CVEs surface: none A @mui/styled-engine@5.18.0 no known CVEs surface: none A @mui/styled-engine-sc@5.11.11 no known CVEs surface: none A @mui/system@5.18.0 no known CVEs surface: none A @mui/types@7.4.12 no known CVEs surface: none A @mui/types@7.2.24 no known CVEs surface: none A @mui/utils@5.17.1 no known CVEs surface: none A @nodelib/fs.scandir@2.1.5 no known CVEs surface: none A @nodelib/fs.stat@2.0.5 no known CVEs surface: none A @nodelib/fs.walk@1.2.8 no known CVEs surface: none A @parcel/bundler-default@2.16.4 no known CVEs surface: none A @parcel/bundler-library@2.16.4 no known CVEs surface: none A @parcel/compressor-raw@2.16.4 no known CVEs surface: none A @parcel/config-default@2.16.4 no known CVEs surface: none A @parcel/diagnostic@2.16.4 no known CVEs surface: none A @parcel/events@2.16.4 no known CVEs surface: none A @parcel/feature-flags@2.16.4 no known CVEs surface: none A @parcel/graph@3.6.4 no known CVEs surface: none A @parcel/logger@2.16.4 no known CVEs surface: none A @parcel/markdown-ansi@2.16.4 no known CVEs surface: none A @parcel/namer-default@2.16.4 no known CVEs surface: none A @parcel/optimizer-css@2.16.4 no known CVEs surface: none A @parcel/optimizer-html@2.16.4 no known CVEs surface: none A @parcel/optimizer-image@2.16.4 no known CVEs surface: none A @parcel/optimizer-svg@2.16.4 no known CVEs surface: none A @parcel/optimizer-swc@2.16.4 no known CVEs surface: none A @parcel/packager-css@2.16.4 no known CVEs surface: none A @parcel/packager-html@2.16.4 no known CVEs surface: none A @parcel/packager-raw@2.16.4 no known CVEs surface: none A @parcel/packager-svg@2.16.4 no known CVEs surface: none A @parcel/packager-ts@2.16.4 no known CVEs surface: none A @parcel/packager-wasm@2.16.4 no known CVEs surface: none A @parcel/plugin@2.16.4 no known CVEs surface: none A @parcel/resolver-default@2.16.4 no known CVEs surface: none A @parcel/runtime-rsc@2.16.4 no known CVEs surface: none A @parcel/runtime-service-worker@2.16.4 no known CVEs surface: none A @parcel/transformer-babel@2.16.4 no known CVEs surface: none A @parcel/transformer-css@2.16.4 no known CVEs surface: none A @parcel/transformer-html@2.16.4 no known CVEs surface: none A @parcel/transformer-image@2.16.4 no known CVEs surface: none A @parcel/transformer-json@2.16.4 no known CVEs surface: none A @parcel/transformer-node@2.16.4 no known CVEs surface: none A @parcel/transformer-raw@2.16.4 no known CVEs surface: none A @parcel/transformer-svg@2.16.4 no known CVEs surface: none A @parcel/transformer-typescript-types@2.16.4 no known CVEs surface: none A @parcel/types@2.16.4 no known CVEs surface: none A @pkgjs/parseargs@0.11.0 no known CVEs surface: none A @pkgr/core@0.2.9 no known CVEs surface: none A @popperjs/core@2.11.8 no known CVEs surface: none A @redux-devtools/extension@3.3.0 no known CVEs surface: none A @rollup/plugin-babel@5.3.1 no known CVEs surface: none A @rollup/plugin-node-resolve@13.3.0 no known CVEs surface: none A @rollup/pluginutils@4.2.1 no known CVEs surface: none A @rollup/pluginutils@3.1.0 no known CVEs surface: none A @rollup/pluginutils@5.3.0 no known CVEs surface: none A @rtsao/scc@1.1.0 no known CVEs surface: none A @sinclair/typebox@0.34.49 no known CVEs surface: none A @sinonjs/fake-timers@13.0.5 no known CVEs surface: none A @statsig/client-core@3.33.0 no known CVEs surface: none A @stylistic/eslint-plugin@3.1.0 no known CVEs surface: none A @swc/counter@0.1.3 no known CVEs surface: none A @swc/jest@0.2.39 no known CVEs surface: none A @swc/types@0.1.26 no known CVEs surface: none A @tanstack/react-table@8.10.7 no known CVEs surface: none A @tanstack/table-core@8.10.7 no known CVEs surface: none A @testing-library/dom@10.4.1 no known CVEs surface: none A @testing-library/jest-dom@6.8.0 no known CVEs surface: none A @testing-library/react@16.3.0 no known CVEs surface: none A @testing-library/user-event@14.6.1 no known CVEs surface: none A @tippyjs/react@4.2.6 no known CVEs surface: none A @tokenizer/token@0.3.0 no known CVEs surface: none A @types/aria-query@5.0.4 no known CVEs surface: none A @types/babel__core@7.20.5 no known CVEs surface: none A @types/babel__generator@7.27.0 no known CVEs surface: none A @types/babel__helper-plugin-utils@7.10.3 no known CVEs surface: none A @types/babel__template@7.4.4 no known CVEs surface: none A @types/babel__traverse@7.28.0 no known CVEs surface: none A @types/body-parser@1.19.6 no known CVEs surface: none A @types/bonjour@3.5.13 no known CVEs surface: none A @types/color-hash@1.0.2 no known CVEs surface: none A @types/connect@3.4.38 no known CVEs surface: none A @types/connect-history-api-fallback@1.5.4 no known CVEs surface: none A @types/country-list@2.1.0 no known CVEs surface: none A @types/eslint@8.56.12 no known CVEs surface: none A @types/eslint-scope@3.7.7 no known CVEs surface: none A @types/estree@0.0.51 no known CVEs surface: none A @types/express@4.17.25 no known CVEs surface: none A @types/express-serve-static-core@4.19.8 no known CVEs surface: none A @types/history@4.7.11 no known CVEs surface: none A @types/hoist-non-react-statics@3.3.7 no known CVEs surface: none A @types/html-minifier-terser@6.1.0 no known CVEs surface: none A @types/http-errors@2.0.5 no known CVEs surface: none A @types/http-proxy@1.17.17 no known CVEs surface: none A @types/istanbul-lib-coverage@2.0.6 no known CVEs surface: none A @types/istanbul-lib-report@3.0.3 no known CVEs surface: none A @types/istanbul-reports@3.0.4 no known CVEs surface: none A @types/jest@30.0.0 no known CVEs surface: none A @types/jquery@4.0.0 no known CVEs surface: none A @types/js-cookie@2.2.7 no known CVEs surface: none A @types/jsdom@21.1.7 no known CVEs surface: none A @types/json-schema@7.0.15 no known CVEs surface: none A @types/json-stable-stringify@1.1.0 no known CVEs surface: none A @types/json5@0.0.29 no known CVEs surface: none A @types/katex@0.11.0 no known CVEs surface: none A @types/lodash@4.14.202 no known CVEs surface: none A @types/luxon@3.0.2 no known CVEs surface: none A @types/mark.js@8.11.6 no known CVEs surface: none A @types/marked@0.7.4 no known CVEs surface: none A @types/mime@1.3.5 no known CVEs surface: none A @types/node@16.9.1 no known CVEs surface: none A @types/node@17.0.45 no known CVEs surface: none A @types/node@16.18.126 no known CVEs surface: none A @types/node@24.10.4 no known CVEs surface: none A @types/node-fetch@2.6.13 no known CVEs surface: none A @types/node-forge@1.3.14 no known CVEs surface: none A @types/object-path@0.11.4 no known CVEs surface: none A @types/parse-json@4.0.2 no known CVEs surface: none A @types/picomatch@2.3.4 no known CVEs surface: none A @types/prop-types@15.7.15 no known CVEs surface: none A @types/qs@6.15.1 no known CVEs surface: none A @types/range-parser@1.2.7 no known CVEs surface: none A @types/react@18.2.64 no known CVEs surface: none A @types/react-beautiful-dnd@13.1.2 no known CVEs surface: none A @types/react-bootstrap@0.32.35 no known CVEs surface: none A @types/react-color@3.0.6 no known CVEs surface: none A @types/react-dom@18.2.25 no known CVEs surface: none A @types/react-is@18.2.1 no known CVEs surface: none A @types/react-overlays@1.1.3 no known CVEs surface: none A @types/react-router@5.1.20 no known CVEs surface: none A @types/react-router-dom@5.3.3 no known CVEs surface: none A @types/react-transition-group@4.4.5 no known CVEs surface: none A @types/react-virtualized-auto-sizer@1.0.1 no known CVEs surface: none A @types/react-window@1.8.5 no known CVEs surface: none A @types/react-window-infinite-loader@1.0.6 no known CVEs surface: none A @types/reactcss@1.2.13 no known CVEs surface: none A @types/redux-mock-store@1.5.0 no known CVEs surface: none A @types/regenerator-runtime@0.13.8 no known CVEs surface: none A @types/resolve@1.17.1 no known CVEs surface: none A @types/retry@0.12.2 no known CVEs surface: none A @types/scheduler@0.16.8 no known CVEs surface: none A @types/semver@7.5.8 no known CVEs surface: none A @types/send@1.2.1 no known CVEs surface: none A @types/send@0.17.6 no known CVEs surface: none A @types/serve-index@1.9.4 no known CVEs surface: none A @types/serve-static@1.15.10 no known CVEs surface: none A @types/shallow-equals@1.0.3 no known CVEs surface: none A @types/sockjs@0.3.36 no known CVEs surface: none A @types/stack-utils@2.0.3 no known CVEs surface: none A @types/styled-components@5.1.32 no known CVEs surface: none A @types/tinycolor2@1.4.6 no known CVEs surface: none A @types/tough-cookie@4.0.5 no known CVEs surface: none A @types/turndown@5.0.5 no known CVEs surface: none A @types/ua-parser-js@0.7.39 no known CVEs surface: none A @types/use-sync-external-store@0.0.6 no known CVEs surface: none A @types/yargs@17.0.35 no known CVEs surface: none A @types/yargs-parser@21.0.3 no known CVEs surface: none A @types/zen-observable@0.8.7 no known CVEs surface: none A @typescript-eslint/parser@7.18.0 no known CVEs surface: none A @typescript-eslint/project-service@8.60.0 no known CVEs surface: none A @typescript-eslint/tsconfig-utils@8.60.0 no known CVEs surface: none A @typescript-eslint/type-utils@7.18.0 no known CVEs surface: none A @typescript-eslint/types@6.21.0 no known CVEs surface: none A @typescript-eslint/types@7.18.0 no known CVEs surface: none A @typescript-eslint/types@8.60.0 no known CVEs surface: none A @typescript-eslint/utils@6.21.0 no known CVEs surface: none A @typescript-eslint/utils@7.18.0 no known CVEs surface: none A @typescript-eslint/utils@8.60.0 no known CVEs surface: none A @typescript-eslint/visitor-keys@6.21.0 no known CVEs surface: none A @typescript-eslint/visitor-keys@7.18.0 no known CVEs surface: none A @typescript-eslint/visitor-keys@8.60.0 no known CVEs surface: none A @ungap/structured-clone@1.3.1 no known CVEs surface: none A @webassemblyjs/ast@1.14.1 no known CVEs surface: none A @webassemblyjs/floating-point-hex-parser@1.13.2 no known CVEs surface: none A @webassemblyjs/helper-api-error@1.13.2 no known CVEs surface: none A @webassemblyjs/helper-buffer@1.14.1 no known CVEs surface: none A @webassemblyjs/helper-numbers@1.13.2 no known CVEs surface: none A @webassemblyjs/helper-wasm-bytecode@1.13.2 no known CVEs surface: none A @webassemblyjs/helper-wasm-section@1.14.1 no known CVEs surface: none A @webassemblyjs/ieee754@1.13.2 no known CVEs surface: none A @webassemblyjs/leb128@1.13.2 no known CVEs surface: none A @webassemblyjs/utf8@1.13.2 no known CVEs surface: none A @webassemblyjs/wasm-edit@1.14.1 no known CVEs surface: none A @webassemblyjs/wasm-gen@1.14.1 no known CVEs surface: none A @webassemblyjs/wasm-opt@1.14.1 no known CVEs surface: none A @webassemblyjs/wasm-parser@1.14.1 no known CVEs surface: none A @webassemblyjs/wast-printer@1.14.1 no known CVEs surface: none A @webpack-cli/configtest@3.0.1 no known CVEs surface: none A @webpack-cli/info@3.0.1 no known CVEs surface: none A @wessberg/stringutil@1.0.19 no known CVEs surface: none A @xobotyi/scrollbar-width@1.9.5 no known CVEs surface: none A @xtuc/ieee754@1.2.0 no known CVEs surface: none A @xtuc/long@4.2.2 no known CVEs surface: none A abort-controller@3.0.0 no known CVEs surface: none A accepts@1.3.8 no known CVEs surface: none A acorn-import-phases@1.0.4 no known CVEs surface: none A acorn-jsx@5.3.2 no known CVEs surface: none A ajv-formats@2.1.1 no known CVEs surface: none A ajv-keywords@5.1.0 no known CVEs surface: none A ansi-escapes@4.3.2 no known CVEs surface: none A ansi-escapes@7.3.0 no known CVEs surface: none A ansi-regex@5.0.1 no known CVEs surface: none A ansi-regex@6.2.2 no known CVEs surface: none A ansi-styles@4.3.0 no known CVEs surface: none A ansi-styles@5.2.0 no known CVEs surface: none A ansi-styles@6.2.3 no known CVEs surface: none A any-base@1.1.0 no known CVEs surface: none A anymatch@3.1.3 no known CVEs surface: none A append-query@2.1.1 no known CVEs surface: none A aria-query@5.3.0 no known CVEs surface: none A aria-query@5.3.2 no known CVEs surface: none A array-buffer-byte-length@1.0.2 no known CVEs surface: none A array-flatten@1.1.1 no known CVEs surface: none A array-includes@3.1.9 no known CVEs surface: none A array-union@2.1.0 no known CVEs surface: none A array.prototype.find@2.2.3 no known CVEs surface: none A array.prototype.findlast@1.2.5 no known CVEs surface: none A array.prototype.findlastindex@1.2.6 no known CVEs surface: none A array.prototype.flat@1.3.3 no known CVEs surface: none A array.prototype.flatmap@1.3.3 no known CVEs surface: none A array.prototype.toreversed@1.1.2 no known CVEs surface: none A array.prototype.tosorted@1.1.4 no known CVEs surface: none A arraybuffer.prototype.slice@1.0.4 no known CVEs surface: none A asn1.js@5.4.1 no known CVEs surface: none A ast-types-flow@0.0.8 no known CVEs surface: none A astral-regex@2.0.0 no known CVEs surface: none A async-function@1.0.0 no known CVEs surface: none A asynckit@0.4.0 no known CVEs surface: none A available-typed-arrays@1.0.7 no known CVEs surface: none A axobject-query@4.1.0 no known CVEs surface: none A babel-jest@30.1.2 no known CVEs surface: none A babel-plugin-formatjs@10.5.1 no known CVEs surface: none A babel-plugin-jest-hoist@30.0.1 no known CVEs surface: none A babel-plugin-macros@3.1.0 no known CVEs surface: none A babel-plugin-polyfill-corejs2@0.4.17 no known CVEs surface: none A babel-plugin-polyfill-corejs3@0.13.0 no known CVEs surface: none A babel-plugin-polyfill-corejs3@0.14.2 no known CVEs surface: none A babel-plugin-polyfill-regenerator@0.6.8 no known CVEs surface: none A babel-plugin-styled-components@2.1.4 no known CVEs surface: none A babel-preset-current-node-syntax@1.2.0 no known CVEs surface: none A babel-preset-jest@30.0.1 no known CVEs surface: none A balanced-match@1.0.2 no known CVEs surface: none A balanced-match@2.0.0 no known CVEs surface: none A balanced-match@4.0.4 no known CVEs surface: none A base-x@3.0.11 no known CVEs surface: none A base64-js@1.5.1 no known CVEs surface: none A batch@0.6.1 no known CVEs surface: none A big.js@5.2.2 no known CVEs surface: none A binary-extensions@2.3.0 no known CVEs surface: none A bind-event-listener@3.0.0 no known CVEs surface: none A bn.js@5.2.3 no known CVEs surface: none A bn.js@4.12.3 no known CVEs surface: none A bonjour-service@1.3.0 no known CVEs surface: none A boolbase@1.0.0 no known CVEs surface: none A braces@3.0.3 no known CVEs surface: none A brorand@1.1.0 no known CVEs surface: none A browserify-aes@1.2.0 no known CVEs surface: none A browserify-cipher@1.0.1 no known CVEs surface: none A browserify-des@1.0.2 no known CVEs surface: none A browserify-rsa@4.1.1 no known CVEs surface: none A browserify-sign@4.2.5 no known CVEs surface: none A browserslist-generator@1.0.66 no known CVEs surface: none A bser@2.1.1 no known CVEs surface: none A buffer@6.0.3 no known CVEs surface: none A buffer@5.7.1 no known CVEs surface: none A buffer-equal@0.0.1 no known CVEs surface: none A buffer-from@1.1.2 no known CVEs surface: none A buffer-xor@1.0.3 no known CVEs surface: none A bundle-name@4.1.0 no known CVEs surface: none A bytes@3.1.2 no known CVEs surface: none A call-bind@1.0.9 no known CVEs surface: none A call-bind-apply-helpers@1.0.2 no known CVEs surface: none A call-bound@1.0.4 no known CVEs surface: none A callsites@3.1.0 no known CVEs surface: none A camel-case@4.1.2 no known CVEs surface: none A camelcase@5.3.1 no known CVEs surface: none A camelcase@6.3.0 no known CVEs surface: none A camelize@1.0.1 no known CVEs surface: none A caniuse-lite@1.0.30001792 no known CVEs surface: none A chalk@5.3.0 no known CVEs surface: none A chalk@4.1.2 no known CVEs surface: none A char-regex@1.0.2 no known CVEs surface: none A chart.js@3.8.2 no known CVEs surface: none A chokidar@4.0.3 no known CVEs surface: none A chokidar@3.6.0 no known CVEs surface: none A chrome-trace-event@1.0.4 no known CVEs surface: none A ci-info@4.4.0 no known CVEs surface: none A ci-info@3.9.0 no known CVEs surface: none A cipher-base@1.0.7 no known CVEs surface: none A classnames@2.3.2 no known CVEs surface: none A cliui@8.0.1 no known CVEs surface: none A clone@2.1.2 no known CVEs surface: none A clone-deep@4.0.1 no known CVEs surface: none A clsx@1.2.1 no known CVEs surface: none A clsx@2.1.1 no known CVEs surface: none A co@4.6.0 no known CVEs surface: none A collect-v8-coverage@1.0.3 no known CVEs surface: none A color-contrast-checker@2.1.0 no known CVEs surface: none A color-convert@2.0.1 no known CVEs surface: none A color-hash@2.0.1 no known CVEs surface: none A color-name@1.1.4 no known CVEs surface: none A colord@2.9.3 no known CVEs surface: none A colorette@2.0.20 no known CVEs surface: none A combined-stream@1.0.8 no known CVEs surface: none A commondir@1.0.1 no known CVEs surface: none A compatfactory@0.0.13 no known CVEs surface: none A compressible@2.0.18 no known CVEs surface: none A compression@1.8.1 no known CVEs surface: none A compute-scroll-into-view@3.1.1 no known CVEs surface: none A concat-map@0.0.1 no known CVEs surface: none A connect-history-api-fallback@2.0.0 no known CVEs surface: none A content-disposition@0.5.4 no known CVEs surface: none A content-type@1.0.5 no known CVEs surface: none A convert-source-map@2.0.0 no known CVEs surface: none A convert-source-map@1.9.0 no known CVEs surface: none A cookie@0.7.2 no known CVEs surface: none A cookie-signature@1.0.7 no known CVEs surface: none A copy-to-clipboard@3.3.3 no known CVEs surface: none A copy-webpack-plugin@14.0.0 no known CVEs surface: none A core-js-compat@3.49.0 no known CVEs surface: none A core-util-is@1.0.3 no known CVEs surface: none A cosmiconfig@7.1.0 no known CVEs surface: none A country-list@2.2.0 no known CVEs surface: none A create-ecdh@4.0.4 no known CVEs surface: none A create-hash@1.2.0 no known CVEs surface: none A create-hmac@1.1.7 no known CVEs surface: none A crosspath@1.0.0 no known CVEs surface: none A css-box-model@1.2.1 no known CVEs surface: none A css-color-keywords@1.0.0 no known CVEs surface: none A css-color-names@1.0.1 no known CVEs surface: none A css-functions-list@3.3.3 no known CVEs surface: none A css-in-js-utils@3.1.0 no known CVEs surface: none A css-select@4.3.0 no known CVEs surface: none A css-to-react-native@3.2.0 no known CVEs surface: none A css-tree@1.1.3 no known CVEs surface: none A css-tree@3.2.1 no known CVEs surface: none A css-vars-ponyfill@2.4.8 no known CVEs surface: none A css-what@6.2.2 no known CVEs surface: none A css.escape@1.5.1 no known CVEs surface: none A cssfontparser@1.2.1 no known CVEs surface: none A csso@4.2.0 no known CVEs surface: none A cssstyle@4.6.0 no known CVEs surface: none A csstype@3.2.3 no known CVEs surface: none A damerau-levenshtein@1.0.8 no known CVEs surface: none A data-urls@5.0.0 no known CVEs surface: none A data-view-buffer@1.0.2 no known CVEs surface: none A data-view-byte-length@1.0.2 no known CVEs surface: none A data-view-byte-offset@1.0.1 no known CVEs surface: none A date-fns@2.29.3 no known CVEs surface: none A debug@4.4.3 no known CVEs surface: none A debug@3.2.7 no known CVEs surface: none A dedent@1.7.2 no known CVEs surface: none A deep-is@0.1.4 no known CVEs surface: none A deepmerge@4.3.1 no known CVEs surface: none A define-data-property@1.1.4 no known CVEs surface: none A define-lazy-prop@3.0.0 no known CVEs surface: none A define-properties@1.2.1 no known CVEs surface: none A delayed-stream@1.0.0 no known CVEs surface: none A dequal@2.0.3 no known CVEs surface: none A des.js@1.1.0 no known CVEs surface: none A destroy@1.2.0 no known CVEs surface: none A detect-newline@3.1.0 no known CVEs surface: none A detect-node@2.1.0 no known CVEs surface: none A diffie-hellman@5.0.3 no known CVEs surface: none A dir-glob@3.0.1 no known CVEs surface: none A dns-packet@5.6.1 no known CVEs surface: none A doctrine@3.0.0 no known CVEs surface: none A doctrine@2.1.0 no known CVEs surface: none A dom-accessibility-api@0.6.3 no known CVEs surface: none A dom-converter@0.2.0 no known CVEs surface: none A dom-helpers@3.4.0 no known CVEs surface: none A dom-helpers@5.2.1 no known CVEs surface: none A dom-serializer@2.0.0 no known CVEs surface: none A dom-serializer@1.4.1 no known CVEs surface: none A dom-walk@0.1.2 no known CVEs surface: none A domelementtype@2.3.0 no known CVEs surface: none A domhandler@5.0.3 no known CVEs surface: none A domhandler@4.3.1 no known CVEs surface: none A dot-case@3.0.4 no known CVEs surface: none A dotenv@16.6.1 no known CVEs surface: none A dotenv-expand@11.0.7 no known CVEs surface: none A dunder-proto@1.0.1 no known CVEs surface: none A eastasianwidth@0.2.0 no known CVEs surface: none A ee-first@1.1.1 no known CVEs surface: none A electron-to-chromium@1.5.354 no known CVEs surface: none A emittery@0.13.1 no known CVEs surface: none A emoji-datasource@6.1.1 no known CVEs surface: none A emoji-datasource-apple@6.1.1 no known CVEs surface: none A emoji-datasource-google@6.1.1 no known CVEs surface: none A emoji-regex@10.2.1 no known CVEs surface: none A emoji-regex@8.0.0 no known CVEs surface: none A emoji-regex@9.2.2 no known CVEs surface: none A emoji-regex-xs@2.0.1 no known CVEs surface: none A emojis-list@3.0.0 no known CVEs surface: none A encodeurl@2.0.0 no known CVEs surface: none A enhanced-resolve@0.9.1 no known CVEs surface: none A enhanced-resolve@5.21.3 no known CVEs surface: none A entities@4.5.0 no known CVEs surface: none A entities@2.2.0 no known CVEs surface: none A entities@6.0.1 no known CVEs surface: none A env-paths@2.2.1 no known CVEs surface: none A environment@1.1.0 no known CVEs surface: none A error-ex@1.3.4 no known CVEs surface: none A error-stack-parser@2.1.4 no known CVEs surface: none A es-abstract@1.24.2 no known CVEs surface: none A es-define-property@1.0.1 no known CVEs surface: none A es-errors@1.3.0 no known CVEs surface: none A es-iterator-helpers@1.3.2 no known CVEs surface: none A es-object-atoms@1.1.1 no known CVEs surface: none A es-set-tostringtag@2.1.0 no known CVEs surface: none A es-shim-unscopables@1.1.0 no known CVEs surface: none A es-to-primitive@1.3.0 no known CVEs surface: none A escalade@3.2.0 no known CVEs surface: none A escape-html@1.0.3 no known CVEs surface: none A escape-string-regexp@4.0.0 no known CVEs surface: none A escape-string-regexp@2.0.0 no known CVEs surface: none A eslint-import-resolver-node@0.3.10 no known CVEs surface: none A eslint-plugin-formatjs@4.13.3 no known CVEs surface: none A eslint-plugin-headers@1.3.4 no known CVEs surface: none A eslint-plugin-no-only-tests@3.1.0 no known CVEs surface: none A eslint-plugin-react-hooks@4.6.0 no known CVEs surface: none A eslint-visitor-keys@3.4.3 no known CVEs surface: none A eslint-visitor-keys@4.2.1 no known CVEs surface: none A eslint-visitor-keys@5.0.1 no known CVEs surface: none A espree@9.6.1 no known CVEs surface: none A espree@10.4.0 no known CVEs surface: none A esquery@1.7.0 no known CVEs surface: none A esrecurse@4.3.0 no known CVEs surface: none A estraverse@5.3.0 no known CVEs surface: none A estraverse@4.3.0 no known CVEs surface: none A estree-walker@2.0.2 no known CVEs surface: none A estree-walker@0.6.1 no known CVEs surface: none A estree-walker@1.0.1 no known CVEs surface: none A esutils@2.0.3 no known CVEs surface: none A etag@1.8.1 no known CVEs surface: none A event-target-shim@5.0.1 no known CVEs surface: none A eventemitter3@4.0.7 no known CVEs surface: none A events@3.3.0 no known CVEs surface: none A evp_bytestokey@1.0.3 no known CVEs surface: none A exif2css@1.3.0 no known CVEs surface: none A expect@30.4.1 no known CVEs surface: none A expect@30.1.2 no known CVEs surface: none A extend@3.0.2 no known CVEs surface: none A external-remotes-plugin@1.0.0 no known CVEs surface: none A fast-deep-equal@3.1.3 no known CVEs surface: none A fast-glob@3.3.3 no known CVEs surface: none A fast-levenshtein@2.0.6 no known CVEs surface: none A fast-shallow-equal@1.0.0 no known CVEs surface: none A fastq@1.20.1 no known CVEs surface: none A fdir@6.5.0 no known CVEs surface: none A file-entry-cache@6.0.1 no known CVEs surface: none A file-entry-cache@9.1.0 no known CVEs surface: none A fill-range@7.1.1 no known CVEs surface: none A finalhandler@1.3.2 no known CVEs surface: none A find-cache-dir@3.3.2 no known CVEs surface: none A find-up@5.0.0 no known CVEs surface: none A find-up@4.1.0 no known CVEs surface: none A find-yarn-workspace-root@2.0.0 no known CVEs surface: none A flatted@3.4.2 no known CVEs surface: none A font-awesome@4.7.0 no known CVEs surface: none A for-each@0.3.5 no known CVEs surface: none A forwarded@0.2.0 no known CVEs surface: none A fresh@0.5.2 no known CVEs surface: none A fs.realpath@1.0.0 no known CVEs surface: none A function-bind@1.1.2 no known CVEs surface: none A function.prototype.name@1.1.8 no known CVEs surface: none A functions-have-names@1.2.3 no known CVEs surface: none A generator-function@2.0.1 no known CVEs surface: none A gensync@1.0.0-beta.2 no known CVEs surface: none A get-caller-file@2.0.5 no known CVEs surface: none A get-intrinsic@1.3.0 no known CVEs surface: none A get-package-type@0.1.0 no known CVEs surface: none A get-proto@1.0.1 no known CVEs surface: none A get-stream@6.0.1 no known CVEs surface: none A get-symbol-description@1.1.0 no known CVEs surface: none A glob@7.2.3 no known CVEs surface: none A glob-parent@6.0.2 no known CVEs surface: none A glob-parent@5.1.2 no known CVEs surface: none A glob-to-regexp@0.4.1 no known CVEs surface: none A global@4.4.0 no known CVEs surface: none A global-modules@2.0.0 no known CVEs surface: none A global-prefix@3.0.0 no known CVEs surface: none A globals@13.24.0 no known CVEs surface: none A globby@11.1.0 no known CVEs surface: none A globjoin@0.1.4 no known CVEs surface: none A gopd@1.2.0 no known CVEs surface: none A graphemer@1.4.0 no known CVEs surface: none A harmony-reflect@1.6.2 no known CVEs surface: none A has-bigints@1.1.0 no known CVEs surface: none A has-flag@4.0.0 no known CVEs surface: none A has-flag@3.0.0 no known CVEs surface: none A has-property-descriptors@1.0.2 no known CVEs surface: none A has-proto@1.2.0 no known CVEs surface: none A has-symbols@1.1.0 no known CVEs surface: none A has-tostringtag@1.0.2 no known CVEs surface: none A hash-base@3.1.2 no known CVEs surface: none A hash.js@1.1.7 no known CVEs surface: none A hasown@2.0.3 no known CVEs surface: none A helpertypes@0.0.18 no known CVEs surface: none A history@4.10.1 no known CVEs surface: none A hmac-drbg@1.0.1 no known CVEs surface: none A hoist-non-react-statics@3.3.2 no known CVEs surface: none A html-encoding-sniffer@4.0.0 no known CVEs surface: none A html-escaper@2.0.2 no known CVEs surface: none A html-tags@3.3.1 no known CVEs surface: none A html-to-react@1.6.0 no known CVEs surface: none A html-webpack-plugin@5.5.0 no known CVEs surface: none A htmlparser2@8.0.2 no known CVEs surface: none A http-errors@2.0.1 no known CVEs surface: none A http-errors@1.8.1 no known CVEs surface: none A http-parser-js@0.5.10 no known CVEs surface: none A human-signals@2.1.0 no known CVEs surface: none A hyperdyperid@1.2.0 no known CVEs surface: none A hyphenate-style-name@1.1.0 no known CVEs surface: none A iconv-lite@0.4.24 no known CVEs surface: none A iconv-lite@0.6.3 no known CVEs surface: none A icss-utils@5.1.0 no known CVEs surface: none A identity-obj-proxy@3.0.0 no known CVEs surface: none A ieee754@1.2.1 no known CVEs surface: none A ignore@5.3.2 no known CVEs surface: none A ignore@6.0.2 no known CVEs surface: none A image-q@4.0.0 no known CVEs surface: none A immediate@3.0.6 no known CVEs surface: none A imurmurhash@0.1.4 no known CVEs surface: none A indent-string@4.0.0 no known CVEs surface: none A inflight@1.0.6 no known CVEs surface: none A inherits@2.0.4 no known CVEs surface: none A ini@1.3.8 no known CVEs surface: none A internal-slot@1.1.0 no known CVEs surface: none A interpret@1.4.0 no known CVEs surface: none A interpret@3.1.1 no known CVEs surface: none A intersection-observer@0.12.2 no known CVEs surface: none A intl-messageformat@10.7.18 no known CVEs surface: none A invariant@2.2.4 no known CVEs surface: none A ipaddr.js@2.1.0 no known CVEs surface: none A ipaddr.js@1.9.1 no known CVEs surface: none A is-array-buffer@3.0.5 no known CVEs surface: none A is-arrayish@0.2.1 no known CVEs surface: none A is-async-function@2.1.1 no known CVEs surface: none A is-bigint@1.1.0 no known CVEs surface: none A is-binary-path@2.1.0 no known CVEs surface: none A is-boolean-object@1.2.2 no known CVEs surface: none A is-builtin-module@3.2.1 no known CVEs surface: none A is-callable@1.2.7 no known CVEs surface: none A is-data-view@1.0.2 no known CVEs surface: none A is-date-object@1.1.0 no known CVEs surface: none A is-extglob@2.1.1 no known CVEs surface: none A is-finalizationregistry@1.1.1 no known CVEs surface: none A is-fullwidth-code-point@3.0.0 no known CVEs surface: none A is-function@1.0.2 no known CVEs surface: none A is-generator-fn@2.1.0 no known CVEs surface: none A is-generator-function@1.1.2 no known CVEs surface: none A is-glob@4.0.3 no known CVEs surface: none A is-map@2.0.3 no known CVEs surface: none A is-module@1.0.0 no known CVEs surface: none A is-negative-zero@2.0.3 no known CVEs surface: none A is-number@7.0.0 no known CVEs surface: none A is-number-object@1.1.1 no known CVEs surface: none A is-path-inside@3.0.3 no known CVEs surface: none A is-plain-obj@3.0.0 no known CVEs surface: none A is-plain-object@5.0.0 no known CVEs surface: none A is-plain-object@2.0.4 no known CVEs surface: none A is-potential-custom-element-name@1.0.1 no known CVEs surface: none A is-reference@1.2.1 no known CVEs surface: none A is-regex@1.2.1 no known CVEs surface: none A is-set@2.0.3 no known CVEs surface: none A is-shared-array-buffer@1.0.4 no known CVEs surface: none A is-stream@2.0.1 no known CVEs surface: none A is-string@1.1.1 no known CVEs surface: none A is-symbol@1.1.1 no known CVEs surface: none A is-typed-array@1.1.15 no known CVEs surface: none A is-weakmap@2.0.2 no known CVEs surface: none A is-weakref@1.1.1 no known CVEs surface: none A is-weakset@2.0.4 no known CVEs surface: none A is-wsl@2.2.0 no known CVEs surface: none A is-wsl@3.1.1 no known CVEs surface: none A isarray@2.0.5 no known CVEs surface: none A isarray@1.0.0 no known CVEs surface: none A isobject@3.0.1 no known CVEs surface: none A istanbul-lib-coverage@3.2.2 no known CVEs surface: none A istanbul-lib-source-maps@5.0.6 no known CVEs surface: none A iterator.prototype@1.1.5 no known CVEs surface: none A jackspeak@3.4.3 no known CVEs surface: none A jest-canvas-mock@2.5.0 no known CVEs surface: none A jest-changed-files@30.0.5 no known CVEs surface: none A jest-circus@30.1.3 no known CVEs surface: none A jest-diff@30.4.1 no known CVEs surface: none A jest-diff@30.1.2 no known CVEs surface: none A jest-docblock@30.0.1 no known CVEs surface: none A jest-each@30.1.0 no known CVEs surface: none A jest-environment-node@30.1.2 no known CVEs surface: none A jest-leak-detector@30.1.0 no known CVEs surface: none A jest-matcher-utils@30.4.1 no known CVEs surface: none A jest-matcher-utils@30.1.2 no known CVEs surface: none A jest-message-util@30.1.0 no known CVEs surface: none A jest-message-util@30.4.1 no known CVEs surface: none A jest-mock@30.0.5 no known CVEs surface: none A jest-mock@30.4.1 no known CVEs surface: none A jest-regex-util@30.0.1 no known CVEs surface: none A jest-regex-util@30.4.0 no known CVEs surface: none A jest-resolve-dependencies@30.1.3 no known CVEs surface: none A jest-validate@30.1.0 no known CVEs surface: none A jest-watch-typeahead@3.0.1 no known CVEs surface: none A jest-watcher@30.1.3 no known CVEs surface: none A jpeg-js@0.4.4 no known CVEs surface: none A js-tokens@4.0.0 no known CVEs surface: none A json-buffer@3.0.1 no known CVEs surface: none A json-parse-even-better-errors@2.3.1 no known CVEs surface: none A json-schema-traverse@0.4.1 no known CVEs surface: none A json-schema-traverse@1.0.0 no known CVEs surface: none A json-stable-stringify@1.3.0 no known CVEs surface: none A json-stable-stringify-without-jsonify@1.0.1 no known CVEs surface: none A json-stringify-safe@5.0.1 no known CVEs surface: none A jsonc-parser@3.3.1 no known CVEs surface: none A jsonify@0.0.1 no known CVEs surface: none A kind-of@6.0.3 no known CVEs surface: none A klaw-sync@6.0.0 no known CVEs surface: none A known-css-properties@0.34.0 no known CVEs surface: none A language-subtag-registry@0.3.23 no known CVEs surface: none A language-tags@1.0.9 no known CVEs surface: none A leven@3.1.0 no known CVEs surface: none A levn@0.4.1 no known CVEs surface: none A lie@3.1.1 no known CVEs surface: none A lines-and-columns@1.2.4 no known CVEs surface: none A localforage@1.10.0 no known CVEs surface: none A localforage-observable@2.1.1 no known CVEs surface: none A locate-path@6.0.0 no known CVEs surface: none A locate-path@5.0.0 no known CVEs surface: none A lodash.camelcase@4.3.0 no known CVEs surface: none A lodash.debounce@4.0.8 no known CVEs surface: none A lodash.isplainobject@4.0.6 no known CVEs surface: none A lodash.truncate@4.4.2 no known CVEs surface: none A lower-case@2.0.2 no known CVEs surface: none A lru-cache@5.1.1 no known CVEs surface: none A luxon@3.6.1 no known CVEs surface: none A magic-string@0.25.9 no known CVEs surface: none A magic-string@0.26.7 no known CVEs surface: none A magic-string@0.30.21 no known CVEs surface: none A make-dir@3.1.0 no known CVEs surface: none A make-dir@4.0.0 no known CVEs surface: none A makeerror@1.0.12 no known CVEs surface: none A mark.js@8.11.1 no known CVEs surface: none A math-intrinsics@1.1.0 no known CVEs surface: none A mathml-tag-names@2.1.3 no known CVEs surface: none A md5.js@1.3.5 no known CVEs surface: none A mdn-data@2.0.14 no known CVEs surface: none A mdn-data@2.28.1 no known CVEs surface: none A mdn-data@2.27.1 no known CVEs surface: none A media-typer@0.3.0 no known CVEs surface: none A memoize-one@6.0.0 no known CVEs surface: none A memoize-one@5.2.1 no known CVEs surface: none A merge-descriptors@1.0.3 no known CVEs surface: none A merge-stream@2.0.0 no known CVEs surface: none A merge2@1.4.1 no known CVEs surface: none A micromatch@4.0.8 no known CVEs surface: none A mime-db@1.54.0 no known CVEs surface: none A mime-db@1.52.0 no known CVEs surface: none A mime-types@2.1.35 no known CVEs surface: none A mime-types@3.0.2 no known CVEs surface: none A mimic-fn@2.1.0 no known CVEs surface: none A min-document@2.19.2 no known CVEs surface: none A min-indent@1.0.1 no known CVEs surface: none A minimalistic-assert@1.0.1 no known CVEs surface: none A minimalistic-crypto-utils@1.0.1 no known CVEs surface: none A minimatch@9.0.9 no known CVEs surface: none A minimatch@3.1.5 no known CVEs surface: none A minimatch@10.2.5 no known CVEs surface: none A minimist@1.2.8 no known CVEs surface: none A minipass@7.1.3 no known CVEs surface: none A moment@2.30.1 no known CVEs surface: none A moo-color@1.0.3 no known CVEs surface: none A ms@2.1.3 no known CVEs surface: none A ms@2.0.0 no known CVEs surface: none A nano-css@5.6.2 no known CVEs surface: none A natural-compare@1.4.0 no known CVEs surface: none A negotiator@0.6.4 no known CVEs surface: none A negotiator@0.6.3 no known CVEs surface: none A neo-async@2.6.2 no known CVEs surface: none A no-case@3.0.4 no known CVEs surface: none A node-exports-info@1.6.0 no known CVEs surface: none A node-int64@0.4.0 no known CVEs surface: none A node-releases@2.0.44 no known CVEs surface: none A normalize-path@3.0.0 no known CVEs surface: none A npm-run-path@4.0.1 no known CVEs surface: none A nth-check@2.1.1 no known CVEs surface: none A nullthrows@1.1.1 no known CVEs surface: none A nwsapi@2.2.23 no known CVEs surface: none A object-assign@4.1.1 no known CVEs surface: none A object-inspect@1.13.4 no known CVEs surface: none A object-keys@1.1.1 no known CVEs surface: none A object-path@0.11.8 no known CVEs surface: none A object.assign@4.1.7 no known CVEs surface: none A object.entries@1.1.9 no known CVEs surface: none A object.fromentries@2.0.8 no known CVEs surface: none A object.groupby@1.0.3 no known CVEs surface: none A object.hasown@1.1.4 no known CVEs surface: none A object.values@1.2.1 no known CVEs surface: none A obuf@1.1.2 no known CVEs surface: none A on-finished@2.4.1 no known CVEs surface: none A once@1.4.0 no known CVEs surface: none A onetime@5.1.2 no known CVEs surface: none A optionator@0.9.4 no known CVEs surface: none A own-keys@1.0.1 no known CVEs surface: none A p-limit@3.1.0 no known CVEs surface: none A p-limit@2.3.0 no known CVEs surface: none A p-locate@5.0.0 no known CVEs surface: none A p-locate@4.1.0 no known CVEs surface: none A p-queue@7.3.0 no known CVEs surface: none A p-retry@6.2.1 no known CVEs surface: none A p-timeout@5.1.0 no known CVEs surface: none A p-try@2.2.0 no known CVEs surface: none A package-json-from-dist@1.0.1 no known CVEs surface: none A pako@1.0.11 no known CVEs surface: none A param-case@3.0.4 no known CVEs surface: none A parent-module@1.0.1 no known CVEs surface: none A parse-asn1@5.1.9 no known CVEs surface: none A parse-bmfont-ascii@1.0.6 no known CVEs surface: none A parse-bmfont-binary@1.0.6 no known CVEs surface: none A parse-bmfont-xml@1.1.6 no known CVEs surface: none A parse-headers@2.0.6 no known CVEs surface: none A parse-json@5.2.0 no known CVEs surface: none A parse5@7.3.0 no known CVEs surface: none A parseurl@1.3.3 no known CVEs surface: none A pascal-case@3.1.2 no known CVEs surface: none A path-exists@4.0.0 no known CVEs surface: none A path-is-absolute@1.0.1 no known CVEs surface: none A path-key@3.1.1 no known CVEs surface: none A path-parse@1.0.7 no known CVEs surface: none A path-scurry@1.11.1 no known CVEs surface: none A path-to-regexp@1.9.0 no known CVEs surface: none A path-to-regexp@0.1.13 no known CVEs surface: none A path-type@4.0.0 no known CVEs surface: none A pbkdf2@3.1.5 no known CVEs surface: none A peek-readable@4.1.0 no known CVEs surface: none A phin@3.7.1 no known CVEs surface: none A picocolors@1.1.1 no known CVEs surface: none A picomatch@4.0.4 no known CVEs surface: none A picomatch@2.3.2 no known CVEs surface: none A pirates@4.0.7 no known CVEs surface: none A pkg-dir@4.2.0 no known CVEs surface: none A pngjs@3.4.0 no known CVEs surface: none A possible-typed-array-names@1.1.0 no known CVEs surface: none A postcss-media-query-parser@0.2.3 no known CVEs surface: none A postcss-modules-extract-imports@3.1.0 no known CVEs surface: none A postcss-modules-local-by-default@4.2.0 no known CVEs surface: none A postcss-modules-scope@3.2.1 no known CVEs surface: none A postcss-resolve-nested-selector@0.1.6 no known CVEs surface: none A postcss-safe-parser@7.0.1 no known CVEs surface: none A postcss-scss@4.0.9 no known CVEs surface: none A postcss-selector-parser@6.1.2 no known CVEs surface: none A postcss-selector-parser@7.1.1 no known CVEs surface: none A postcss-sorting@8.0.2 no known CVEs surface: none A postcss-value-parser@4.2.0 no known CVEs surface: none A prelude-ls@1.2.1 no known CVEs surface: none A pretty-error@4.0.0 no known CVEs surface: none A pretty-format@27.5.1 no known CVEs surface: none A pretty-format@30.0.5 no known CVEs surface: none A pretty-format@30.4.1 no known CVEs surface: none A process@0.11.10 no known CVEs surface: none A process-nextick-args@2.0.1 no known CVEs surface: none A prop-types-extra@1.1.1 no known CVEs surface: none A propagate@2.0.1 no known CVEs surface: none A proxy-addr@2.0.7 no known CVEs surface: none A public-encrypt@4.0.3 no known CVEs surface: none A punycode@2.3.1 no known CVEs surface: none A pure-rand@7.0.1 no known CVEs surface: none A queue-microtask@1.2.3 no known CVEs surface: none A raf-schd@4.0.3 no known CVEs surface: none A randombytes@2.1.0 no known CVEs surface: none A randomfill@1.0.4 no known CVEs surface: none A range-parser@1.2.1 no known CVEs surface: none A raw-body@2.5.3 no known CVEs surface: none A react@18.2.0 no known CVEs surface: none A react-beautiful-dnd@13.1.1 no known CVEs surface: none A react-color@2.19.3 no known CVEs surface: none A react-day-picker@8.3.6 no known CVEs surface: none A react-dom@18.2.0 no known CVEs surface: none A react-intl@7.1.14 no known CVEs surface: none A react-is@18.2.0 no known CVEs surface: none A react-is@18.3.1 no known CVEs surface: none A react-is@19.2.6 no known CVEs surface: none A react-is@16.13.1 no known CVEs surface: none A react-is@17.0.2 no known CVEs surface: none A react-lifecycles-compat@3.0.4 no known CVEs surface: none A react-overlays@0.9.3 no known CVEs surface: none A react-prop-types@0.4.0 no known CVEs surface: none A react-redux@9.2.0 no known CVEs surface: none A react-refresh@0.16.0 no known CVEs surface: none A react-router@5.3.4 no known CVEs surface: none A react-router-dom@5.3.4 no known CVEs surface: none A react-select@5.9.0 no known CVEs surface: none A react-transition-group@4.4.5 no known CVEs surface: none A react-transition-group@2.9.0 no known CVEs surface: none A react-universal-interface@0.6.2 no known CVEs surface: none A react-use@17.6.0 no known CVEs surface: none A react-virtualized-auto-sizer@1.0.25 no known CVEs surface: none A react-window@1.8.11 no known CVEs surface: none A react-window-infinite-loader@1.0.10 no known CVEs surface: none A reactcss@1.2.3 no known CVEs surface: none A readable-stream@2.3.8 no known CVEs surface: none A readable-stream@3.6.2 no known CVEs surface: none A readable-stream@4.7.0 no known CVEs surface: none A readable-web-to-node-stream@3.0.4 no known CVEs surface: none A readdirp@4.1.2 no known CVEs surface: none A readdirp@3.6.0 no known CVEs surface: none A rebound@0.1.0 no known CVEs surface: none A redent@3.0.0 no known CVEs surface: none A redux@5.0.1 no known CVEs surface: none A redux@4.2.1 no known CVEs surface: none A redux-batched-actions@0.5.0 no known CVEs surface: none A redux-mock-store@1.5.4 no known CVEs surface: none A redux-persist@6.0.0 no known CVEs surface: none A redux-persist-node-storage@2.0.0 no known CVEs surface: none A redux-thunk@3.1.0 no known CVEs surface: none A reflect.getprototypeof@1.0.10 no known CVEs surface: none A regenerate@1.4.2 no known CVEs surface: none A regenerate-unicode-properties@10.2.2 no known CVEs surface: none A regenerator-runtime@0.13.10 no known CVEs surface: none A regenerator-runtime@0.14.1 no known CVEs surface: none A regexp.prototype.flags@1.5.4 no known CVEs surface: none A regjsgen@0.8.0 no known CVEs surface: none A relateurl@0.2.7 no known CVEs surface: none A renderkid@3.0.0 no known CVEs surface: none A require-from-string@2.0.2 no known CVEs surface: none A resize-observer-polyfill@1.5.1 no known CVEs surface: none A resolve-cwd@3.0.0 no known CVEs surface: none A resolve-from@4.0.0 no known CVEs surface: none A resolve-from@5.0.0 no known CVEs surface: none A resolve-pathname@3.0.0 no known CVEs surface: none A reusify@1.1.0 no known CVEs surface: none A ripemd160@2.0.3 no known CVEs surface: none A rollup-pluginutils@2.8.2 no known CVEs surface: none A rrweb-cssom@0.8.0 no known CVEs surface: none A rtl-css-js@1.16.1 no known CVEs surface: none A run-parallel@1.2.0 no known CVEs surface: none A safe-array-concat@1.1.4 no known CVEs surface: none A safe-buffer@5.2.1 no known CVEs surface: none A safe-buffer@5.1.2 no known CVEs surface: none A safe-push-apply@1.0.0 no known CVEs surface: none A safe-regex-test@1.1.0 no known CVEs surface: none A sax@1.6.0 no known CVEs surface: none A saxes@6.0.0 no known CVEs surface: none A scheduler@0.23.2 no known CVEs surface: none A schema-utils@4.3.3 no known CVEs surface: none A screenfull@5.2.0 no known CVEs surface: none A scroll-into-view-if-needed@3.1.0 no known CVEs surface: none A send@0.19.2 no known CVEs surface: none A serialize-error@11.0.3 no known CVEs surface: none A serialize-javascript@7.0.5 no known CVEs surface: none A serve-index@1.9.2 no known CVEs surface: none A serve-static@1.16.3 no known CVEs surface: none A set-function-length@1.2.2 no known CVEs surface: none A set-function-name@2.0.2 no known CVEs surface: none A set-harmonic-interval@1.0.1 no known CVEs surface: none A set-proto@1.0.0 no known CVEs surface: none A setprototypeof@1.2.0 no known CVEs surface: none A shallow-clone@3.0.1 no known CVEs surface: none A shallow-equals@1.0.0 no known CVEs surface: none A shallowequal@1.1.0 no known CVEs surface: none A shebang-command@2.0.0 no known CVEs surface: none A shebang-regex@3.0.0 no known CVEs surface: none A side-channel@1.1.0 no known CVEs surface: none A side-channel-list@1.0.1 no known CVEs surface: none A side-channel-map@1.0.1 no known CVEs surface: none A side-channel-weakmap@1.0.2 no known CVEs surface: none A signal-exit@3.0.7 no known CVEs surface: none A signal-exit@4.1.0 no known CVEs surface: none A simplebar-core@1.3.2 no known CVEs surface: none A simplebar-react@3.3.2 no known CVEs surface: none A slash@3.0.0 no known CVEs surface: none A slash@2.0.0 no known CVEs surface: none A slash@5.1.0 no known CVEs surface: none A slice-ansi@4.0.0 no known CVEs surface: none A slide@1.1.6 no known CVEs surface: none A smooth-scroll-into-view-if-needed@2.0.2 no known CVEs surface: none A source-list-map@2.0.1 no known CVEs surface: none A source-map@0.6.1 no known CVEs surface: none A source-map@0.5.6 no known CVEs surface: none A source-map@0.5.7 no known CVEs surface: none A sourcemap-codec@1.4.8 no known CVEs surface: none A stable@0.1.8 no known CVEs surface: none A stack-generator@2.0.10 no known CVEs surface: none A stack-utils@2.0.6 no known CVEs surface: none A stackframe@1.3.4 no known CVEs surface: none A statuses@2.0.2 no known CVEs surface: none A statuses@1.5.0 no known CVEs surface: none A stop-iteration-iterator@1.1.0 no known CVEs surface: none A stream-browserify@3.0.0 no known CVEs surface: none A string_decoder@1.1.1 no known CVEs surface: none A string_decoder@1.3.0 no known CVEs surface: none A string-length@4.0.2 no known CVEs surface: none A string-length@6.0.0 no known CVEs surface: none A string-width@4.2.3 no known CVEs surface: none A string-width@5.1.2 no known CVEs surface: none A string.prototype.includes@2.0.1 no known CVEs surface: none A string.prototype.matchall@4.0.12 no known CVEs surface: none A string.prototype.trim@1.2.10 no known CVEs surface: none A string.prototype.trimend@1.0.9 no known CVEs surface: none A string.prototype.trimstart@1.0.8 no known CVEs surface: none A strip-ansi@7.1.0 no known CVEs surface: none A strip-ansi@6.0.1 no known CVEs surface: none A strip-bom@4.0.0 no known CVEs surface: none A strip-bom@3.0.0 no known CVEs surface: none A strip-final-newline@2.0.0 no known CVEs surface: none A strip-indent@3.0.0 no known CVEs surface: none A strip-json-comments@3.1.1 no known CVEs surface: none A style-search@0.1.0 no known CVEs surface: none A stylelint-config-recommended@14.0.1 no known CVEs surface: none A stylelint-config-recommended-scss@14.1.0 no known CVEs surface: none A stylelint-order@6.0.4 no known CVEs surface: none A stylelint-scss@6.8.1 no known CVEs surface: none A stylis@4.2.0 no known CVEs surface: none A stylis@4.4.0 no known CVEs surface: none A supports-color@7.2.0 no known CVEs surface: none A supports-color@8.1.1 no known CVEs surface: none A supports-color@5.5.0 no known CVEs surface: none A supports-hyperlinks@3.2.0 no known CVEs surface: none A supports-preserve-symlinks-flag@1.0.0 no known CVEs surface: none A svg-tags@1.0.0 no known CVEs surface: none A symbol-tree@3.2.4 no known CVEs surface: none A tabbable@6.4.0 no known CVEs surface: none A table@6.9.0 no known CVEs surface: none A tapable@0.1.10 no known CVEs surface: none A test-exclude@6.0.0 no known CVEs surface: none A text-table@0.2.0 no known CVEs surface: none A thingies@2.6.0 no known CVEs surface: none A throttle-debounce@3.0.1 no known CVEs surface: none A thunky@1.1.0 no known CVEs surface: none A timezones.json@1.7.1 no known CVEs surface: none A timm@1.7.1 no known CVEs surface: none A tiny-invariant@1.3.3 no known CVEs surface: none A tiny-warning@1.0.3 no known CVEs surface: none A tinycolor2@1.6.0 no known CVEs surface: none A tinyglobby@0.2.16 no known CVEs surface: none A tippy.js@6.3.7 no known CVEs surface: none A to-buffer@1.2.2 no known CVEs surface: none A to-regex-range@5.0.1 no known CVEs surface: none A toggle-selection@1.0.6 no known CVEs surface: none A toidentifier@1.0.1 no known CVEs surface: none A token-types@4.2.1 no known CVEs surface: none A tr46@5.1.1 no known CVEs surface: none A tr46@0.0.3 no known CVEs surface: none A tree-dump@1.1.0 no known CVEs surface: none A ts-api-utils@2.5.0 no known CVEs surface: none A ts-clone-node@0.3.32 no known CVEs surface: none A ts-easing@0.2.0 no known CVEs surface: none A tslib@2.8.1 no known CVEs surface: none A tslib@2.6.2 no known CVEs surface: none A turndown@7.2.2 no known CVEs surface: none A type-check@0.4.0 no known CVEs surface: none A type-detect@4.0.8 no known CVEs surface: none A type-fest@0.20.2 no known CVEs surface: none A type-fest@2.19.0 no known CVEs surface: none A type-fest@0.21.3 no known CVEs surface: none A type-is@1.6.18 no known CVEs surface: none A typed-array-buffer@1.0.3 no known CVEs surface: none A typed-array-byte-length@1.0.3 no known CVEs surface: none A typed-array-byte-offset@1.0.4 no known CVEs surface: none A typed-array-length@1.0.7 no known CVEs surface: none A unbox-primitive@1.1.0 no known CVEs surface: none A uncontrollable@5.1.0 no known CVEs surface: none A undici-types@7.16.0 no known CVEs surface: none A unicode-canonical-property-names-ecmascript@2.0.1 no known CVEs surface: none A unicode-match-property-ecmascript@2.0.0 no known CVEs surface: none A unicode-match-property-value-ecmascript@2.2.1 no known CVEs surface: none A unicode-property-aliases-ecmascript@2.2.0 no known CVEs surface: none A universalify@2.0.1 no known CVEs surface: none A unpipe@1.0.0 no known CVEs surface: none A use-isomorphic-layout-effect@1.2.1 no known CVEs surface: none A use-memo-one@1.1.3 no known CVEs surface: none A use-sync-external-store@1.6.0 no known CVEs surface: none A utif@2.0.1 no known CVEs surface: none A util-deprecate@1.0.2 no known CVEs surface: none A utila@0.4.0 no known CVEs surface: none A utility-types@3.11.0 no known CVEs surface: none A utils-merge@1.0.1 no known CVEs surface: none A v8-to-istanbul@9.3.0 no known CVEs surface: none A value-equal@1.0.1 no known CVEs surface: none A vary@1.1.2 no known CVEs surface: none A w3c-xmlserializer@5.0.0 no known CVEs surface: none A walker@1.0.8 no known CVEs surface: none A warning@3.0.0 no known CVEs surface: none A warning@4.0.3 no known CVEs surface: none A watchpack@2.5.1 no known CVEs surface: none A wbuf@1.7.3 no known CVEs surface: none A weak-lru-cache@1.2.2 no known CVEs surface: none A web-vitals@5.0.3 no known CVEs surface: none A webidl-conversions@7.0.0 no known CVEs surface: none A webidl-conversions@3.0.1 no known CVEs surface: none A webpack-merge@6.0.1 no known CVEs surface: none A webpack-pwa-manifest@4.3.0 no known CVEs surface: none A webpack-sources@2.3.1 no known CVEs surface: none A webpack-sources@3.4.1 no known CVEs surface: none A whatwg-encoding@3.1.1 no known CVEs surface: none A whatwg-mimetype@4.0.0 no known CVEs surface: none A which-boxed-primitive@1.1.1 no known CVEs surface: none A which-builtin-type@1.2.1 no known CVEs surface: none A which-collection@1.0.2 no known CVEs surface: none A which-typed-array@1.1.20 no known CVEs surface: none A wildcard@2.0.1 no known CVEs surface: none A word-wrap@1.2.5 no known CVEs surface: none A wrap-ansi@7.0.0 no known CVEs surface: none A wrap-ansi@8.1.0 no known CVEs surface: none A wrappy@1.0.2 no known CVEs surface: none A wsl-utils@0.1.0 no known CVEs surface: none A xhr@2.6.0 no known CVEs surface: none A xml-name-validator@5.0.0 no known CVEs surface: none A xml-parse-from-string@1.0.1 no known CVEs surface: none A xml2js@0.5.0 no known CVEs surface: none A xmlbuilder@11.0.1 no known CVEs surface: none A xmlchars@2.2.0 no known CVEs surface: none A xtend@4.0.2 no known CVEs surface: none A yallist@3.1.1 no known CVEs surface: none A yaml@1.10.3 no known CVEs surface: none A yocto-queue@0.1.0 no known CVEs surface: none
One F in 1,634 packages, and it's a period piece: marked@0.3.6 is a
2016-era markdown renderer, exactly the kind of version a long-lived
product accumulates. Whether any of its five advisories matter depends on
what the app actually runs — the question the rest of the pipeline answers.
The run
The 2026-07-21 run went from inventory to packed artifact in 2 hours 18 minutes, unattended. That is the from-zero price, paid once — no commit or build ever repeats it: builds consume the artifact, a PR gets the one-second fingerprint check, and only a changed dependency re-enters the pipeline. Of the 127 runtime dependencies, 67 were extracted down to what the webapp reaches, 24 were pruned conservatively but kept complete, and 36 shipped as pinned stock. All 91 hardened dependencies overlaid at once; the full suite passed differentially with zero new failures, plus the production build.
| installed | shipped | change | |
|---|---|---|---|
| dependencies | 127 | 67 extracted + 24 pruned + 36 pinned stock | all update-gated |
| files, validated extractions | 11,254 | 752 | −93.3% |
| bytes, validated extractions | 46.0 MB | 17.6 MB | −61.8% |
The big suite shows up in the evidence mix: every extraction attempt had
mapped tests and none failed at baseline — the two exception classes that
dominated the thin-suite study simply don't appear here. And the earlier
wall-to-wall run on this target showed the build-protection machinery
working as designed: nine build-executed dependencies, lodash among them,
were held from trimming outright because the toolchain runs them, and when
one bundler-consumed dependency (@tanstack/react-table) broke the
production build anyway, the build gate caught it in round one and reverted
it — round two came back clean in 39 seconds. 343 error-path functions were
held by the airbag rule on top.
The CVEs
The installed tree carried 40 advisories. After hardening:
| verdict | count | meaning here |
|---|---|---|
| not shipped | 35 | the affected package or version never enters the artifact — almost always dev or build tooling (test runners, bundlers, linters) that production never needs; that's where most advisories live |
| eliminated | 0 | no vulnerable symbol on this tree is provably dead |
| reached | 1 | the webapp really runs this code; the fix is upgrading, not removal |
| unresolved | 4 | advisory too coarse to map to a symbol; disclosed, not cleared |
The one reached advisory is the F card from day one: marked@0.3.6,
genuinely called from the markdown pipeline (FormattedMarkdownMessage,
the admin console's SchemaText). That's an upgrade, and the report names
the callers to hand to whoever does it.
The zero has its own anatomy. On this dependency mix, reachability analysis converges toward everything-reachable — the webapp's dependencies are wired through hub modules that touch most of what they ship — so no vulnerable symbol proves lexically dead, and held-by-default keeps the rest.
The work
| step | human time |
|---|---|
| cold score on the checkout | ~2 min |
| config file (34 lines) | one sitting |
chainstrip run, zero to artifact | none — 2 h 18 min unattended |
| ongoing, per PR | ~1 s, automatic |
No tests were written and no probe campaign ran on this target: with 1,108 test files, the suite already carries the evidence, and the run's numbers are what it produces as found. What remains is the worklist — every under-tested dependency, ranked, with its callers in the webapp's own code — and the standing work order built from it, both below in full — 40 CLASSIFY targets (a test proves the code live, or it stays held; precision does the removing) and 16 skips with reasons:
$ chainstrip coverage --callers
whole-suite coverage gap — 63 deps measured · median 42% of functions executed
0–25%: 13 · 25–50%: 24 · 50–75%: 17 · 75–100%: 9
4 extracted deps no test loads at all
⚠ = vulnerable AND under-tested (live CVE + low coverage) — TEST THESE FIRST.
LEAST-COVERED — under-tested deps and YOUR functions that use them (write tests for those):
63% marked ⚠ 5 live CVEs (HIGH) (40/63 fns run, 23 never run) · e.g. blockquote, br, code, codespan…
channels/src/components/admin_console/schema_text.tsx → SchemaText
channels/src/components/formatted_markdown_message.tsx → (module scope), FormattedMarkdownMessage
channels/src/utils/markdown/index.ts → formatWithRenderer
channels/src/utils/markdown/plain_renderer.ts → (module scope)
channels/src/utils/markdown/remove_markdown.ts → (module scope)
channels/src/utils/markdown/renderer.tsx → (module scope), tablecell
1% tippy.js (2/244 fns run, 242 never run, 3 file(s) never loaded) · e.g. TIPPY_DEFAULT_APPEND_TO2, actualContains, addDocumentPress, addListeners…
3% @popperjs/core (8/256 fns run, 248 never run) · e.g. _loop, applyStyles, areValidElements, arrow…
4% css-vars-ponyfill (14/323 fns run, 309 never run) · e.g. _extends, _import, addMutationObserver, at_custom_m…
channels/src/utils/utils.tsx → applyTheme
4% @tippyjs/react (2/51 fns run, 49 never run, 1 file(s) never loaded) · e.g. Tippy, TippyWrapper, _objectWithoutPropertiesLoose, add…
platform/components/src/tour_tip/tour_tip.tsx → TourTip
7% mark.js (10/136 fns run, 126 never run) · e.g. DOMIterator, Mark, callNoMatchOnInvalidRanges, checkEnd…
channels/src/components/admin_console/search_keyword_marking.tsx → doMark
9% serialize-error (1/11 fns run, 10 never run) · e.g. continueDestroyCircular, destroyCircular, getErrorConstructor, isErrorLike…
channels/src/packages/mattermost-redux/src/actions/errors.ts → (anonymous)
14% moment (153/1059 fns run, 906 never run) · e.g. ISO_8601, MM, RFC_2822, abs…
channels/src/components/admin_console/billing/billing_subscriptions/cloud_trial_banner.tsx → CloudTrialBanner, onDismissBanner
channels/src/components/admin_console/license_settings/renew_license_card/renew_license_card.tsx → RenewLicenseCard
channels/src/components/admin_console/license_settings/trial_license_card/trial_license_card.tsx → messageBody
channels/src/components/admin_console/list_table/elapsed_duration_cell.tsx → (anonymous), ElapsedDurationCell
channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/scheduled_post_custom_time_modal.tsx → (anonymous), ScheduledPostCustomTimeModal
channels/src/components/announcement_bar/show_tree_days_left_trial_modal/show_three_days_left_trial_modal.tsx → ShowThreeDaysLeftTrialModal
channels/src/components/commercial_support_modal/commercial_support_modal.tsx → (anonymous)
channels/src/components/dnd_custom_time_picker_modal/dnd_custom_time_picker_modal.tsx → constructor
channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx → (anonymous)
channels/src/components/trial_benefits_modal/trial_benefits_modal.tsx → TrialBenefitsModal
channels/src/components/user_account_menu/user_account_dnd_menuitem.tsx → getSecondaryLabel, handleSubMenuItemClick
channels/src/components/user_groups_modal/ad_ldap_upsell_banner.tsx → ADLDAPUpsellBanner
channels/src/components/widgets/menu/menu_items/menu_cloud_trial.tsx → MenuCloudTrial
channels/src/selectors/views/threads.ts → (anonymous)
channels/src/utils/license_utils.ts → daysToLicenseExpire, isLicenseExpired
channels/src/utils/utils.tsx → getLocaleDateFromUTC, getNextBillingDate
15% @tanstack/react-table (231/1498 fns run, 1267 never run) · e.g. _autoResetExpanded, _autoResetPageIndex, _getColumnDefs, _getPinnedRows…
channels/src/components/admin_console/classification_markings/components/classification_levels_table.tsx → ClassificationLevelsTable
channels/src/components/admin_console/list_table/list_table.tsx → (anonymous)
channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx → SharedChannelRemotesTable
channels/src/components/admin_console/system_properties/user_properties_table.tsx → (module scope), UserPropertiesTable
channels/src/components/admin_console/system_users/system_users.tsx → SystemUsers
15% regenerator-runtime (8/53 fns run, 45 never run) · e.g. AsyncIterator, Context, Generator, GeneratorFunction…
channels/src/plugins/index.ts → (module scope)
16% zen-observable (12/77 fns run, 65 never run) · e.g. SymbolObservable, SymbolSpecies, all, cleanupSubscription…
channels/src/store/index.ts → (module scope)
17% react-router (61/360 fns run, 299 never run) · e.g. Consumer, MemoryRouter, Prompt, Provider…
23% luxon (262/1160 fns run, 898 never run) · e.g. DATETIME_FULL, DATETIME_FULL_WITH_SECONDS, DATETIME_HUGE, DATETIME_HUGE_WITH_SECONDS…
channels/src/components/advanced_text_editor/send_button/send_post_options/core_menu_options.tsx → CoreMenuOptions, getScheduledTimeInTeammateTimezone
channels/src/components/advanced_text_editor/send_button/send_post_options/recent_used_custom_date.tsx → RecentUsedCustomDate, getDateOption, isTimestampWithinLast30Days
channels/src/components/advanced_text_editor/use_post_box_indicator.tsx → updateTime
channels/src/components/profile_popover/profile_popover_timezone.tsx → ProfileTimezone, TimeZoneDifference
channels/src/components/root/luxon_controller.tsx → (anonymous)
channels/src/components/timestamp/semantic_time.tsx → SemanticTime
channels/src/utils/datetime.ts → relativeFormatDate
channels/src/utils/remote_cluster_connection.ts → isRemoteClusterConnected
23% @redux-devtools/extension (14/60 fns run, 46 never run) · e.g. _getRequireWildcardCache, assign$1, composeWithDevTools, composeWithEnhancer…
channels/src/packages/mattermost-redux/src/store/configureStore.ts → configureStore
25% localforage (81/323 fns run, 242 never run) · e.g. INTERNAL, Promise, QueueItem, _binStringToArrayBuffer…
channels/src/reducers/storage.ts → (module scope)
channels/src/store/index.ts → (module scope)
26% history (83/315 fns run, 232 never run, 2 file(s) never loaded) · e.g. addLeadingSlash, block, canGo, checkDOMListeners…
channels/src/utils/browser_history.tsx → (module scope)
26% node-fetch (69/262 fns run, 193 never run, 2 file(s) never loaded) · e.g. AbortError, ByteString, DOMString, Date…
platform/client/setup_jest.ts → (module scope)
27% rebound (28/102 fns run, 74 never run) · e.g. BouncyConversion, SimulationLooper, SteppingSimulationLooper, _interpolate…
channels/src/components/sidebar/sidebar_list/sidebar_list.tsx → constructor
28% katex (148/522 fns run, 374 never run, 1 file(s) never loaded) · e.g. adjustStyle, alignedHandler, array_htmlBuilder, array_mathmlBuilder…
30% react-is (11/37 fns run, 26 never run) · e.g. isAsyncMode, isConcurrentMode, isContextConsumer, isContextProvider…
channels/src/components/timestamp/timestamp.tsx → (anonymous)
channels/src/plugins/registry.ts → resolveReactElement
31% tinycolor2 (57/181 fns run, 124 never run) · e.g. _analogous, _applyCombination, _applyModification, _brighten…
channels/src/components/admin_console/classification_markings/components/classification_color_input.tsx → (anonymous), ClassificationColorInput
channels/src/components/color_input.tsx → onBlur, onChange
channels/src/components/gif_picker/gif_picker_search.tsx → (anonymous)
channels/src/components/widgets/users/avatars/avatars.tsx → (anonymous)
32% react-day-picker (111/349 fns run, 238 never run) · e.g. Caption, CaptionDropdowns, CaptionLabel, CaptionNavigation…
channels/src/components/date_picker/date_picker.tsx → DatePicker
channels/src/components/suggestion/search_date_suggestion/search_date_suggestion.tsx → SearchDateSuggestion
32% @atlaskit/pragmatic-drag-and-drop (82/255 fns run, 173 never run, 10 file(s) never loaded) · e.g. _arrayLikeToArray, _arrayWithHoles, _arrayWithoutHoles, _createForOfIteratorHelper…
channels/src/components/channel_bookmarks/bookmarks_bar_menu.tsx → (anonymous)
channels/src/components/channel_bookmarks/hooks/use_bookmark_drag_drop.ts → (anonymous), onDragStart, onDrop, onGenerateDragPreview
channels/src/components/channel_bookmarks/hooks/use_bookmarks_dnd.ts → (anonymous)
32% redux-persist (67/207 fns run, 140 never run) · e.g. _arrayWithoutHoles, _defineProperty, _iterableToArray, _nonIterableSpread…
channels/src/reducers/storage.ts → (module scope), storage
channels/src/store/index.ts → (anonymous), next
34% react-beautiful-dnd (535/1553 fns run, 1018 never run) · e.g. Placeholder, RbdInvariant, abort, add…
channels/src/components/admin_console/list_table/list_table.tsx → (anonymous), ListTable
channels/src/components/sidebar/sidebar_category/sidebar_category.tsx → (anonymous), render
channels/src/components/sidebar/sidebar_channel/sidebar_channel.tsx → SidebarChannel
channels/src/components/sidebar/sidebar_list/sidebar_list.tsx → render
channels/src/components/team_sidebar/components/team_button.tsx → TeamButton
channels/src/components/team_sidebar/team_sidebar.tsx → render
38% intl-messageformat (222/587 fns run, 365 never run) · e.g. FormatError2, InvalidValueError2, InvalidValueTypeError2, MissingValueError2…
39% @floating-ui/react (388/988 fns run, 600 never run, 1 file(s) never loaded) · e.g. Composite, CompositeItem, FloatingDelayGroup, FloatingFocusManager…
channels/src/components/admin_console/access_control/modals/simulate_access/session_attribute_editor.tsx → SessionAttributeEditorButton
channels/src/components/admin_console/system_users/system_users_filters_popover/index.tsx → SystemUsersFilterPopover
channels/src/components/advanced_text_editor/formatting_bar/formatting_bar.tsx → FormattingBar
channels/src/components/advanced_text_editor/use_editor_emoji_picker.tsx → useEditorEmojiPicker
channels/src/components/channel_header/channel_header_text_popover.tsx → ChannelHeaderTextPopover
channels/src/components/common/scrollbars.tsx → (anonymous)
channels/src/components/date_picker/date_picker.tsx → DatePicker
channels/src/components/emoji_picker/use_emoji_picker.tsx → useEmojiPicker
channels/src/components/feature_toast/feature_toast.tsx → FeatureToast
channels/src/components/new_search/new_search.tsx → NewSearch
channels/src/components/onboarding_tasklist/onboarding_tasklist_popover.tsx → TaskListPopover
channels/src/components/plugin_link_tooltip/index.tsx → (module scope), PluginLinkTooltip
channels/src/components/post_view/acknowledgements/post_acknowledgements.tsx → PostAcknowledgements
channels/src/components/profile_popover/profile_popover_controller.tsx → ProfilePopoverController
channels/src/components/user_group_popover/user_group_popover_controller.tsx → UserGroupPopoverController
channels/src/utils/floating.ts → fn
platform/shared/src/components/tooltip/with_tooltip.tsx → WithTooltip
39% web-vitals (84/215 fns run, 131 never run) · e.g. B, C, D, E…
channels/src/utils/performance_telemetry/reporter.ts → observe
40% react-window (107/268 fns run, 161 never run) · e.g. Grid, _callPropsCallbacks, _getHorizontalRangeToRender, _getVerticalRangeToRender…
channels/src/components/channel_members_rhs/member_list.tsx → (anonymous)
channels/src/components/drafts/draft_list/virtualized_draft_list.tsx → (anonymous)
channels/src/components/drafts/scheduled_post_list/virtualized_scheduled_post_list.tsx → (anonymous)
channels/src/components/emoji_picker/components/emoji_picker_category_or_emoji_row.tsx → (module scope)
channels/src/components/emoji_picker/components/emoji_picker_current_results.tsx → (anonymous)
channels/src/components/threading/global_threads/thread_list/virtualized_thread_list_row.tsx → (module scope)
channels/src/components/threading/global_threads/thread_list/virtualized_thread_list.tsx → (anonymous)
channels/src/components/user_group_popover/group_member_list/group_member_list.tsx → (anonymous)
channels/src/components/user_groups_modal/user_groups_list/user_groups_list.tsx → (anonymous)
40% p-queue (29/73 fns run, 44 never run) · e.g. EE, _PQueue_onEvent, _PQueue_onInterval, _PQueue_onResumeInterval…
channels/src/components/data_prefetch/data_prefetch.tsx → (module scope)
41% html-to-react (187/461 fns run, 274 never run) · e.g. CDATA, Comment, ProcessingInstruction, ProcessingInstructions…
channels/src/utils/message_html_to_component.tsx → messageHtmlToComponent
41% @atlaskit/pragmatic-drag-and-drop-hitbox (13/32 fns run, 19 never run, 1 file(s) never loaded) · e.g. _defineProperty, _objectSpread, _typeof, attachClosestEdge…
channels/src/components/channel_bookmarks/hooks/use_bookmark_drag_drop.ts → getData, onDrag
channels/src/components/channel_bookmarks/hooks/use_bookmarks_dnd.ts → onDrop
42% semver (67/161 fns run, 94 never run) · e.g. cmp, coerce, compareBuild, compareLoose…
channels/src/components/admin_console/admin_definition.tsx → validate
channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_plugin/marketplace_item_plugin.tsx → UpdateConfirmationModal, UpdateDetails
channels/src/selectors/calls.ts → isCallsEnabled
channels/src/utils/desktop_api.ts → (anonymous)
43% ipaddr.js (27/63 fns run, 36 never run) · e.g. broadcastAddressFromCIDR, fromByteArray, isIPv4, isIPv4MappedAddress…
channels/src/components/admin_console/ip_filtering/ip_filtering_utils.ts → isIPAddressInRanges, validateCIDR
44% lodash (527/1200 fns run, 673 never run) · e.g. LazyWrapper, ListCache, LodashWrapper, SetCache…
channels/src/actions/views/rhs.ts → (module scope)
channels/src/components/admin_console/access_control/policy_details/channel_list/channel_list.tsx → componentDidUpdate, constructor
channels/src/components/admin_console/access_control/policy_details/policy_details.tsx → (anonymous)
channels/src/components/admin_console/admin_sidebar/admin_sidebar.tsx → componentDidUpdate
channels/src/components/admin_console/billing/billing_subscriptions/cloud_trial_banner.tsx → CloudTrialBanner
channels/src/components/admin_console/data_retention_settings/channel_list/channel_list.tsx → (module scope), componentDidUpdate
channels/src/components/admin_console/data_retention_settings/team_list/team_list.tsx → (module scope)
channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels_row.tsx → (anonymous)
channels/src/components/admin_console/search_keyword_marking.tsx → (anonymous)
channels/src/components/admin_console/server_logs/logs.tsx → (module scope)
channels/src/components/admin_console/system_properties/user_properties_utils.ts → beforeUpdate, byNamesLower, commit
channels/src/components/admin_console/system_roles/system_role/system_role.tsx → (anonymous)
channels/src/components/admin_console/team_channel_settings/channel/details/channel_details.tsx → (anonymous)
channels/src/components/admin_console/team_channel_settings/channel/details/channel_moderation.tsx → (anonymous), ChannelModerationTableRow
channels/src/components/admin_console/team_channel_settings/team/details/team_details.tsx → (anonymous)
channels/src/components/advanced_text_editor/formatting_bar/hooks.tsx → (anonymous)
channels/src/components/announcement_bar/payment_announcement_bar/index.tsx → (anonymous), PaymentAnnouncementBar
channels/src/components/app_bar/app_bar.tsx → AppBar
channels/src/components/channel_invite_modal/channel_invite_modal.tsx → (anonymous)
channels/src/components/channel_members_rhs/channel_members_rhs.tsx → ChannelMembersRHS
channels/src/components/common/hocs/cloud/with_get_cloud_subscription.tsx → componentDidMount
channels/src/components/common/infinite_scroll.tsx → (module scope)
channels/src/components/drafts/draft_actions/delete_draft_modal.tsx → DeleteDraftModal
channels/src/components/drafts/draft_actions/schedule_post_actions/delete_scheduled_post_modal.tsx → DeleteScheduledPostModal
channels/src/components/drafts/draft_list/virtualized_draft_list.tsx → (anonymous)
channels/src/components/drafts/draft_row.tsx → DraftRow
channels/src/components/drafts/scheduled_post_list/virtualized_scheduled_post_list.tsx → (anonymous)
channels/src/components/emoji_picker/components/emoji_picker_current_results.tsx → (anonymous)
channels/src/components/emoji_picker/components/emoji_picker_item.tsx → (anonymous)
channels/src/components/emoji_picker/emoji_picker.tsx → EmojiPicker
channels/src/components/emoji_picker/utils/index.ts → createCategoryAndEmojiRows
channels/src/components/file_preview_modal/popover_bar/popover_bar.tsx → render
channels/src/components/integrations/outgoing_oauth_connections/oauth_connection_audience_input.tsx → (anonymous)
channels/src/components/login/login.tsx → Login
channels/src/components/menu/menu_item.tsx → handleClick
channels/src/components/more_direct_channels/more_direct_channels.tsx → (module scope)
channels/src/components/pdf_preview.tsx → (anonymous)
channels/src/components/plugin_marketplace/marketplace_modal.tsx → MarketplaceModal
channels/src/components/post_view/message_attachments/message_attachment/message_attachment.tsx → render
channels/src/components/root/index.ts → mapStateToProps
channels/src/components/sidebar/sidebar_list/sidebar_list.tsx → (module scope)
channels/src/components/signup/signup.tsx → Signup
channels/src/components/team_settings/team_access_policies_tab/team_policy_editor.tsx → (anonymous)
channels/src/components/threading/global_threads/global_threads.tsx → GlobalThreads
channels/src/components/threading/global_threads/thread_list/thread_list.tsx → ThreadList
channels/src/components/timestamp/timestamp.tsx → formatRelative, isUnitDescriptor
channels/src/components/user_group_popover/user_group_popover.tsx → UserGroupPopover
channels/src/components/window_size_observer/WindowSizeObserver.tsx → WindowSizeObserver
channels/src/packages/mattermost-redux/src/actions/threads.ts → (anonymous)
channels/src/packages/mattermost-redux/src/reducers/entities/channels.ts → receiveChannelMember, roles, stats
channels/src/packages/mattermost-redux/src/reducers/entities/users.ts → receiveUserProfile
channels/src/packages/mattermost-redux/src/selectors/entities/channels.ts → (anonymous)
channels/src/reducers/plugins/index.ts → components
channels/src/reducers/views/threads.ts → selectedThreadIdInTeam
channels/src/selectors/admin_console.jsx → (anonymous)
channels/src/utils/func.ts → (anonymous)
channels/src/utils/paste.tsx → pasteHandler
channels/src/utils/utils.tsx → isTextSelectedInPostOrReply
platform/components/src/common/hooks/useMeasurePunchouts.ts → useMeasurePunchouts
44% redux-batched-actions (8/18 fns run, 10 never run) · e.g. batchDispatchMiddleware
channels/src/actions/channel_actions.ts → (anonymous)
channels/src/actions/file_actions.ts → onerror, onload
channels/src/actions/global_actions.tsx → switchToChannel
channels/src/actions/new_post.ts → (anonymous)
channels/src/actions/post_actions.ts → (anonymous)
channels/src/actions/user_actions.ts → (anonymous)
channels/src/actions/views/channel.ts → (anonymous)
channels/src/actions/views/drafts.ts → (anonymous)
channels/src/actions/views/login.ts → handleLoginSuccess
channels/src/actions/views/rhs.ts → (anonymous)
channels/src/actions/views/threads.ts → manuallyMarkThreadAsUnread
channels/src/actions/websocket_actions.ts → (anonymous), handleClose, handleDeleteTeamEvent, handleFirstConnect, handleLeaveTeamEvent, handleMyGroupUpdate, handleUserRemovedEvent
channels/src/packages/mattermost-redux/src/actions/access_control.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/admin.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/channel_categories.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/channels.ts → (anonymous), removeFromChannelWrapper
channels/src/packages/mattermost-redux/src/actions/emojis.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/general.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/groups.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/integrations.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/posts.ts → (anonymous), createPostWrapper
channels/src/packages/mattermost-redux/src/actions/search.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/teams.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/threads.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/users.ts → (anonymous)
channels/src/packages/mattermost-redux/src/actions/websocket.ts → (anonymous)
channels/src/packages/mattermost-redux/src/store/helpers.ts → createReducer
47% country-list (7/15 fns run, 8 never run) · e.g. getCode, getCodeList, getCodes, getName…
channels/src/components/admin_console/billing/company_info_edit.tsx → CompanyInfoEdit
channels/src/components/payment_form/country_selector.tsx → CountrySelector
channels/src/utils/countries.ts → (module scope)
channels/src/utils/utils.tsx → getBlankAddressWithCountry
49% react-transition-group (125/256 fns run, 131 never run) · e.g. ReplaceTransition, SwitchTransition, TransitionGroup, _assertThisInitialized…
channels/src/components/advanced_text_editor/formatting_bar/formatting_bar.tsx → FormattingBar
channels/src/components/channel_info_rhs/components/linelimiter.tsx → LineLimiterBase
channels/src/components/common/auto_height_switcher.tsx → AutoHeightSwitcher
channels/src/components/emoji_picker/components/emoji_picker_skin.tsx → render
channels/src/components/info_toast/info_toast.tsx → InfoToast
channels/src/components/mobile_sidebar_right/mobile_sidebar_right.tsx → MobileRightDrawer
channels/src/components/onboarding_tasklist/onboarding_tasklist_completed.tsx → Completed
channels/src/components/onboarding_tasklist/onboarding_tasklist_popover.tsx → TaskListPopover
channels/src/components/preparing_workspace/invite_members.tsx → InviteMembers
channels/src/components/preparing_workspace/launching_workspace.tsx → LaunchingWorkspace
channels/src/components/preparing_workspace/organization.tsx → Organization
channels/src/components/preparing_workspace/plugins.tsx → Plugins
channels/src/components/preparing_workspace/progress.tsx → TransitionedProgress
channels/src/components/widgets/menu/menu_wrapper_animation.tsx → MenuWrapperAnimation
channels/src/components/widgets/modals/full_screen_modal.tsx → render
50% react-router-dom (62/125 fns run, 63 never run, 10 file(s) never loaded) · e.g. BrowserRouter, HashRouter, _setPrototypeOf, componentDidMount…
channels/src/components/admin_console/admin_console.tsx → (anonymous), AdminConsole, renderRoutes
channels/src/components/admin_console/admin_definition.tsx → link
channels/src/components/admin_console/admin_sidebar/admin_sidebar_category.tsx → AdminSidebarCategory
channels/src/components/admin_console/billing/company_info_edit.tsx → CompanyInfoEdit
channels/src/components/admin_console/blockable_link/blockable_link.tsx → BlockableLink
channels/src/components/admin_console/custom_enable_disable_guest_accounts_setting.tsx → a
channels/src/components/admin_console/custom_profile_attributes/custom_profile_attributes.tsx → link
channels/src/components/admin_console/custom_terms_of_service_settings/custom_terms_of_service_settings.tsx → a
channels/src/components/admin_console/group_settings/group_details/group_users.tsx → a
channels/src/components/admin_console/group_settings/group_row.tsx → renderActions
channels/src/components/admin_console/localization/agents_settings.tsx → AgentsSettings
channels/src/components/admin_console/localization/auto_translation.tsx → AutoTranslation
channels/src/components/admin_console/message_export_settings.tsx → a
channels/src/components/admin_console/permission_schemes_settings/permissions_scheme_summary/permissions_scheme_summary.tsx → (anonymous)
channels/src/components/admin_console/plugin_management/plugin_management.tsx → PluginItem
channels/src/components/admin_console/schema_admin_settings.tsx → (anonymous)
channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx → SecureConnectionDetail
channels/src/components/admin_console/secure_connections/secure_connection_row.tsx → (module scope), RowMenu
channels/src/components/admin_console/secure_connections/secure_connections.tsx → AddMenu
channels/src/components/admin_console/system_roles/system_roles.tsx → (anonymous)
channels/src/components/admin_console/system_users/system_users.tsx → SystemUsers
channels/src/components/admin_console/team_channel_settings/channel/details/channel_access_control_policy.tsx → (anonymous)
channels/src/components/admin_console/team_channel_settings/channel/list/channel_list.tsx → (anonymous)
channels/src/components/admin_console/team_channel_settings/team/details/team_access_control_policy.tsx → (anonymous), link
channels/src/components/admin_console/team_channel_settings/team/list/team_list.tsx → (anonymous)
channels/src/components/admin_console/workspace-optimization/cta_buttons.tsx → CtaButtons
channels/src/components/advanced_text_editor/scheduled_post_indicator/scheduled_post_indicator.tsx → ScheduledPostIndicator
channels/src/components/advanced_text_editor/scheduled_post_indicator/short_scheduled_post_indicator.tsx → a
channels/src/components/announcement_bar/configuration_bar/configuration_bar.tsx → linkConsole
channels/src/components/app.tsx → App
channels/src/components/backstage/backstage_controller.tsx → BackstageController, BackstageRoute
channels/src/components/backstage/components/backstage_category.tsx → BackstageCategory
channels/src/components/backstage/components/backstage_list.tsx → BackstageList
channels/src/components/backstage/components/backstage_section.tsx → BackstageSection
channels/src/components/backstage/index.ts → (module scope)
channels/src/components/channel_bookmarks/bookmark_item_content.tsx → (anonymous), useBookmarkLink
channels/src/components/channel_layout/center_channel/center_channel.tsx → render
channels/src/components/channel_layout/center_channel/index.ts → (module scope)
channels/src/components/channel_layout/channel_identifier_router/index.ts → (module scope)
channels/src/components/channel_layout/playbook_runner.tsx → PlaybookRunner
channels/src/components/channel_members_rhs/channel_members_rhs.tsx → ChannelMembersRHS
channels/src/components/channel_popout/channel_popout.tsx → ChannelPopout
channels/src/components/channel_view/index.ts → (module scope)
channels/src/components/claim/claim_controller.tsx → render
channels/src/components/commercial_support_modal/commercial_support_modal.tsx → debugLink
channels/src/components/common/back_button.tsx → BackButton
channels/src/components/create_recap_modal/create_recap_modal.tsx → CreateRecapModal
channels/src/components/create_team/create_team.tsx → render
channels/src/components/custom_status/custom_status_modal.tsx → CustomStatusModal
channels/src/components/delete_post_modal/delete_post_modal.tsx → (anonymous)
channels/src/components/delete_post_modal/index.ts → (module scope)
channels/src/components/desktop_auth_token.tsx → DesktopAuthToken
channels/src/components/do_verify_email/do_verify_email.tsx → DoVerifyEmail
channels/src/components/drafts/draft_row.tsx → DraftRow
channels/src/components/drafts/drafts_and_schedule_posts_tabs.tsx → DraftsAndSchedulePostsTabs
channels/src/components/drafts/drafts_link/drafts_link.tsx → DraftsLink
channels/src/components/emoji_picker/components/emoji_picker_custom_emoji_button.tsx → EmojiPickerCustomEmojiButton
channels/src/components/emoji/add_emoji/add_emoji.tsx → render
channels/src/components/emoji/emoji_page.tsx → EmojiPage
channels/src/components/error_page/error_page.tsx → render
channels/src/components/global_header/left_controls/history_buttons/history_buttons.tsx → HistoryButtons
channels/src/components/global_header/left_controls/product_menu/product_menu_item/product_menu_item.tsx → (module scope)
channels/src/components/header_footer_route/content_layouts/alternate_link.tsx → AlternateLink
channels/src/components/header_footer_route/header_footer_route.tsx → HFRoute
channels/src/components/header_footer_route/header.tsx → Header
channels/src/components/header_footer_template_route.tsx → HFTRoute, LoggedInHFTRoute
channels/src/components/help/help.tsx → Help
channels/src/components/integrations/abstract_command.tsx → render
channels/src/components/integrations/abstract_incoming_webhook.tsx → render
channels/src/components/integrations/abstract_oauth_app.tsx → render
channels/src/components/integrations/abstract_outgoing_webhook.tsx → render
channels/src/components/integrations/add_command/add_command.tsx → AddCommand
channels/src/components/integrations/add_oauth_app/add_oauth_app.tsx → AddOAuthApp
channels/src/components/integrations/add_outgoing_webhook/add_outgoing_webhook.tsx → AddOutgoingWebhook
channels/src/components/integrations/bots/add_bot/add_bot.tsx → render
channels/src/components/integrations/bots/bot.tsx → render
channels/src/components/integrations/bots/bots.tsx → a
channels/src/components/integrations/commands_container/commands_container.tsx → CommandRoute, render
channels/src/components/integrations/confirm_integration/confirm_integration.tsx → ConfirmIntegration
channels/src/components/integrations/installed_command.tsx → render
channels/src/components/integrations/installed_incoming_webhook.tsx → render
channels/src/components/integrations/installed_oauth_app/installed_oauth_app.tsx → render
channels/src/components/integrations/installed_outgoing_webhook.tsx → render
channels/src/components/integrations/integration_option.tsx → IntegrationOption
channels/src/components/integrations/outgoing_oauth_connections/abstract_outgoing_oauth_connection.tsx → AbstractOutgoingOAuthConnection
channels/src/components/integrations/outgoing_oauth_connections/add_outgoing_oauth_connection.tsx → AddOutgoingOAuthConnection
channels/src/components/integrations/outgoing_oauth_connections/installed_outgoing_oauth_connection.tsx → InstalledOutgoingOAuthConnection
channels/src/components/logged_in_route/index.tsx → LoggedInRoute
channels/src/components/logged_in/logged_in.tsx → render
channels/src/components/login/login.tsx → Login, getContent, getResetPasswordLink
channels/src/components/menu/menu_item_link.tsx → MenuItemLink
channels/src/components/mfa/mfa_controller/mfa_controller.tsx → render
channels/src/components/mobile_channel_header/index.ts → (module scope), mapStateToProps
channels/src/components/onboarding_tasklist/onboarding_tasklist.tsx → OnBoardingTaskList
channels/src/components/onboarding_tasks/onboarding_tasks_manager.tsx → useHandleOnBoardingTaskTrigger
channels/src/components/password_reset_form/password_reset_form.tsx → PasswordResetForm
channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_plugin/marketplace_item_plugin.tsx → getItemButton
channels/src/components/plugin_marketplace/marketplace_modal.tsx → linkConsole
channels/src/components/popout_controller/popout_controller.tsx → PopoutController
channels/src/components/post_view/data_spillage_report/data_spillage_report.tsx → DataSpillageReport
channels/src/components/post_view/index.ts → (module scope)
channels/src/components/post_view/post_attachment_container/post_attachment_container.tsx → PostAttachmentContainer, getTeamAndPostIdFromLink
channels/src/components/post_view/post_time/post_time.tsx → render
channels/src/components/query_param_actions/query_param_action_controller.tsx → QueryParamActionController
channels/src/components/reaction_limit_reached_modal.tsx → linkAdmin
channels/src/components/recaps_link/recaps_link.tsx → RecapsLink
channels/src/components/recaps/recaps.tsx → Recaps
channels/src/components/rhs_card/rhs_card.tsx → render
channels/src/components/rhs_plugin_popout/rhs_plugin_popout.tsx → RhsPluginPopout
channels/src/components/rhs_popout/rhs_popout.tsx → RhsPopout
channels/src/components/rhs_search_popout/rhs_search_popout.tsx → RhsSearchPopout
channels/src/components/root/index.ts → (module scope)
channels/src/components/root/root_redirect/root_redirect.tsx → RootRedirect
channels/src/components/root/root.tsx → (anonymous), render
channels/src/components/select_team/select_team.tsx → a, render
channels/src/components/should_verify_email/should_verify_email.tsx → ShouldVerifyEmail
channels/src/components/sidebar_right/index.ts → (module scope)
channels/src/components/sidebar/sidebar_channel/sidebar_channel_link/sidebar_channel_link.tsx → render
channels/src/components/sidebar/sidebar_header/sidebar_team_menu.tsx → CreateTeamMenuItem, JoinAnotherTeamMenuItem
channels/src/components/signup/signup.tsx → Signup, getContent
channels/src/components/team_controller/team_controller.tsx → (anonymous), TeamController
channels/src/components/team_sidebar/components/team_button.tsx → (anonymous), TeamButton
channels/src/components/team_sidebar/index.ts → (module scope)
channels/src/components/theme_provider/theme_context.ts → useAppBodyClass
channels/src/components/thread_popout/thread_popout.tsx → ThreadPopout
channels/src/components/threading/global_threads_link/global_threads_link.tsx → GlobalThreadsLink
channels/src/components/threading/global_threads/global_threads.tsx → GlobalThreads, link
channels/src/components/threading/hooks.ts → useThreadRouting
channels/src/components/three_days_left_trial_modal/learn_more_action_button.tsx → LearnMoreActionButton
channels/src/components/toast_wrapper/index.ts → (module scope)
channels/src/components/trial_benefits_modal/trial_benefits_modal_step_more.tsx → TrialBenefitsModalStepMore
channels/src/components/trial_benefits_modal/trial_benefits_modal.tsx → TrialBenefitsModal
channels/src/components/unreads_status_handler/index.ts → (module scope), mapStateToProps
channels/src/components/user_group_popover/group_member_list/group_member_list.tsx → GroupMemberList
channels/src/components/user_list_row_with_error/user_list_row_with_error.tsx → render
channels/src/components/user_settings/security/user_settings_security.tsx → (anonymous)
channels/src/components/widgets/admin_console/admin_panel_with_link.tsx → AdminPanelWithLink
channels/src/components/widgets/menu/menu_items/menu_item_link.tsx → MenuItemLinkImpl
channels/src/utils/http_utils.ts → useQuery
channels/src/utils/popouts/use_browser_popout.ts → useBrowserPopout
channels/src/utils/products.ts → (anonymous), useCurrentProduct, useCurrentProductId
50% exif2css (6/12 fns run, 6 never run) · e.g. exif2css, expandTransform, expandTransformStrings, expandTransforms…
channels/src/utils/file_utils.tsx → getOrientationStyles
54% react-redux (227/417 fns run, 190 never run, 2 file(s) never loaded) · e.g. createInvalidArgFactory, get, getListeners, initMergePropsProxy…
channels/src/components/about_build_modal/about_build_modal_cloud/about_build_modal_cloud.tsx → AboutBuildModalCloud
channels/src/components/about_build_modal/index.ts → (module scope)
channels/src/components/access_history_modal/index.ts → (module scope)
channels/src/components/actions_menu/index.ts → (module scope)
channels/src/components/actions_menu/popover.tsx → Popover
channels/src/components/activity_log_modal/index.ts → (module scope)
channels/src/components/add_groups_to_channel_modal/index.ts → (module scope)
channels/src/components/add_groups_to_team_modal/index.ts → (module scope)
channels/src/components/add_user_to_channel_modal/index.ts → (module scope)
channels/src/components/add_user_to_group_multiselect/index.ts → (module scope)
channels/src/components/add_users_to_group_modal/index.ts → (module scope)
channels/src/components/add_users_to_team_modal/index.ts → (module scope)
channels/src/components/admin_console/access_control/index.ts → (module scope)
channels/src/components/admin_console/access_control/jobs/index.ts → (module scope)
channels/src/components/admin_console/access_control/modals/job_details/job_details_modal.tsx → JobDetailsModal
channels/src/components/admin_console/access_control/modals/policy_test/test_modal.tsx → TestResultsModal
channels/src/components/admin_console/access_control/modals/simulate_access/simulate_access_modal.tsx → SimulateAccessModal
channels/src/components/admin_console/access_control/modals/user_sync/synced_user_list.tsx → SyncedUserList
channels/src/components/admin_console/access_control/policy_details/channel_list/index.ts → (module scope)
channels/src/components/admin_console/access_control/policy_details/index.ts → (module scope)
channels/src/components/admin_console/admin_navbar_dropdown/index.ts → (module scope)
channels/src/components/admin_console/admin_settings/hooks.tsx → useAdminSettingState, useIsSetByEnv
channels/src/components/admin_console/admin_sidebar_header/index.ts → (module scope)
channels/src/components/admin_console/admin_sidebar/index.ts → (module scope)
channels/src/components/admin_console/audits/index.ts → (module scope)
channels/src/components/admin_console/billing/billing_history_modal.tsx → BillingHistoryModal
channels/src/components/admin_console/billing/billing_history_table.tsx → BillingHistoryTable
channels/src/components/admin_console/billing/billing_history.tsx → BillingHistory
channels/src/components/admin_console/billing/billing_subscriptions/cloud_trial_banner.tsx → CloudTrialBanner
channels/src/components/admin_console/billing/billing_subscriptions/index.tsx → BillingSubscriptions
channels/src/components/admin_console/billing/billing_subscriptions/limits.tsx → Limits
channels/src/components/admin_console/billing/billing_summary/billing_summary.tsx → InvoiceInfo
channels/src/components/admin_console/billing/company_info_display.tsx → CompanyInfoDisplay
channels/src/components/admin_console/billing/company_info_edit.tsx → CompanyInfoEdit
channels/src/components/admin_console/billing/company_info.tsx → CompanyInfo
channels/src/components/admin_console/billing/delete_workspace/progress_modal.tsx → DeleteWorkspaceProgressModal
channels/src/components/admin_console/billing/delete_workspace/result_modal.tsx → ResultModal
channels/src/components/admin_console/billing/plan_details/index.tsx → PlanDetails
channels/src/components/admin_console/blockable_button/index.ts → (module scope)
channels/src/components/admin_console/blockable_link/index.ts → (module scope)
channels/src/components/admin_console/classification_markings/classification_markings.tsx → ClassificationMarkings
channels/src/components/admin_console/compliance_reports/index.ts → (module scope)
channels/src/components/admin_console/content_flagging/content_reviewers/team_reviewers_section/team_reviewers_section.tsx → TeamReviewers
channels/src/components/admin_console/content_flagging/user_multiselector/user_multiselector.tsx → UserSelector
channels/src/components/admin_console/content_flagging/user_multiselector/user_profile_option.tsx → MultiUserOptionComponent, SingleUserOptionComponent
channels/src/components/admin_console/content_flagging/user_multiselector/user_profile_pill.tsx → BaseUserProfilePill
channels/src/components/admin_console/custom_plugin_settings/index.ts → (module scope)
channels/src/components/admin_console/custom_profile_attributes/custom_profile_attributes.tsx → CustomProfileAttributes, PluginManagedFieldHelpText
channels/src/components/admin_console/custom_terms_of_service_settings/index.ts → (module scope)
channels/src/components/admin_console/data_retention_settings/channel_list/index.ts → (module scope)
channels/src/components/admin_console/data_retention_settings/custom_policy_form/index.ts → (module scope)
channels/src/components/admin_console/data_retention_settings/global_policy_form/index.ts → (module scope)
channels/src/components/admin_console/data_retention_settings/index.ts → (module scope)
channels/src/components/admin_console/data_retention_settings/team_list/index.ts → (module scope)
channels/src/components/admin_console/database/index.tsx → (module scope)
channels/src/components/admin_console/feature_discovery/index.tsx → (module scope)
channels/src/components/admin_console/filter/team_filter_dropdown/index.tsx → (module scope)
channels/src/components/admin_console/group_settings/group_details/index.ts → (module scope)
channels/src/components/admin_console/group_settings/groups_list/index.ts → (module scope)
channels/src/components/admin_console/index.ts → (module scope)
channels/src/components/admin_console/ip_filtering/index.tsx → IPFiltering
channels/src/components/admin_console/jobs/index.tsx → (module scope)
channels/src/components/admin_console/license_settings/enterprise_edition/enterprise_edition_left_panel.tsx → EnterpriseEditionLeftPanel
channels/src/components/admin_console/license_settings/index.ts → (module scope)
channels/src/components/admin_console/license_settings/modals/confirm_license_removal_modal.tsx → ConfirmLicenseRemovalModal
channels/src/components/admin_console/license_settings/modals/ee_license_modal.tsx → EELicenseModal
channels/src/components/admin_console/license_settings/modals/upload_license_modal.tsx → UploadLicenseModal
channels/src/components/admin_console/license_settings/trial_banner/trial_banner.tsx → TrialBanner
channels/src/components/admin_console/license_settings/user_seat_alert_banner.tsx → UserSeatAlertBanner
channels/src/components/admin_console/licensed_section_container/licensed_section_container.tsx → (module scope)
channels/src/components/admin_console/manage_roles_modal/index.ts → (module scope)
channels/src/components/admin_console/manage_teams_modal/index.tsx → (module scope)
channels/src/components/admin_console/manage_tokens_modal/index.ts → (module scope)
channels/src/components/admin_console/member_list_group/index.ts → (module scope)
channels/src/components/admin_console/openid_convert/index.ts → (module scope)
channels/src/components/admin_console/permission_policies/index.ts → (module scope)
channels/src/components/admin_console/permission_policies/policy_details/index.ts → (module scope)
channels/src/components/admin_console/permission_policies/policy_details/permission_policy_details.tsx → PermissionPolicyDetails
channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_button/index.tsx → (module scope)
channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_modal/index.tsx → (module scope)
channels/src/components/admin_console/permission_schemes_settings/guest_permissions_tree/index.tsx → (module scope)
channels/src/components/admin_console/permission_schemes_settings/index.tsx → (module scope)
channels/src/components/admin_console/permission_schemes_settings/permission_system_scheme_settings/index.tsx → (module scope)
channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/index.tsx → (module scope)
channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/index.tsx → (module scope)
channels/src/components/admin_console/permission_schemes_settings/permissions_scheme_summary/index.tsx → (module scope)
channels/src/components/admin_console/permission_schemes_settings/permissions_tree/index.tsx → (module scope)
channels/src/components/admin_console/plugin_management/index.tsx → (module scope)
channels/src/components/admin_console/reset_email_modal/index.ts → (module scope)
channels/src/components/admin_console/reset_password_modal/index.ts → (module scope)
channels/src/components/admin_console/revoke_token_button/index.ts → (module scope)
channels/src/components/admin_console/secure_connections/modals/modal_utils.tsx → useRemoteClusterAcceptInvite, useRemoteClusterCreate, useRemoteClusterCreateInvite, useRemoteClusterDelete, useSharedChannelsAdd, useSharedChannelsRemove
channels/src/components/admin_console/secure_connections/modals/shared_channels_add_modal.tsx → ChannelError, SharedChannelsAddModal
channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx → ChannelIcon, SecureConnectionDetail
channels/src/components/admin_console/secure_connections/utils.ts → useSharedChannelRemoteRows, useTeamOptions
channels/src/components/admin_console/server_logs/index.ts → (module scope)
channels/src/components/admin_console/system_properties/orphaned_fields_utils.ts → useIsFieldOrphaned
channels/src/components/admin_console/system_properties/section_utils.ts → useThing
channels/src/components/admin_console/system_properties/system_properties.tsx → SystemProperties
channels/src/components/admin_console/system_properties/user_properties_delete_modal.tsx → useUserPropertyFieldDelete
channels/src/components/admin_console/system_properties/user_properties_dot_menu.tsx → useAttributeLinkModal
channels/src/components/admin_console/system_properties/user_properties_values.tsx → UserPropertyValues
channels/src/components/admin_console/system_roles/index.tsx → (module scope)
channels/src/components/admin_console/system_roles/system_role/add_users_to_role_modal/index.tsx → (module scope)
channels/src/components/admin_console/system_roles/system_role/index.tsx → (module scope)
channels/src/components/admin_console/system_roles/system_role/system_role_users/index.tsx → (module scope)
channels/src/components/admin_console/system_user_detail/index.ts → (module scope)
channels/src/components/admin_console/system_user_detail/system_user_detail.tsx → PluginDisplayName
channels/src/components/admin_console/system_user_detail/team_list/index.ts → (module scope)
channels/src/components/admin_console/system_users/index.ts → (module scope)
channels/src/components/admin_console/system_users/revoke_sessions_button/index.tsx → RevokeSessionsButton
channels/src/components/admin_console/system_users/system_users_date_range_menu/index.tsx → SystemUsersDateRangeMenu
channels/src/components/admin_console/system_users/system_users_export/export_user_data_modal.tsx → ExportUserDataModal
channels/src/components/admin_console/system_users/system_users_export/index.tsx → SystemUsersExport
channels/src/components/admin_console/system_users/system_users_filters_popover/index.tsx → SystemUsersFilterPopover
channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_team/index.tsx → SystemUsersFilterTeam
channels/src/components/admin_console/system_users/system_users_list_actions/confirm_reset_failed_attempts_modal.tsx → ConfirmResetFailedAttemptsModal
channels/src/components/admin_console/system_users/system_users_list_actions/create_group_syncables_membership_modal.tsx → CreateGroupSyncablesMembershipsModal
channels/src/components/admin_console/system_users/system_users_list_actions/deactivate_member_modal.tsx → DeactivateMemberModal
channels/src/components/admin_console/system_users/system_users_list_actions/demote_to_guest_modal.tsx → DemoteToGuestModal
channels/src/components/admin_console/system_users/system_users_list_actions/index.tsx → SystemUsersListAction
channels/src/components/admin_console/system_users/system_users_list_actions/promote_to_member_modal.tsx → PromoteToMemberModal
channels/src/components/admin_console/system_users/system_users_list_actions/revoke_sessions_modal.tsx → RevokeSessionsModal
channels/src/components/admin_console/system_users/system_users_search/index.tsx → SystemUsersSearch
channels/src/components/admin_console/team_channel_settings/channel/details/channel_level_access_rules.tsx → ChannelLevelAccessRules
channels/src/components/admin_console/team_channel_settings/channel/details/channel_members/index.ts → (module scope)
channels/src/components/admin_console/team_channel_settings/channel/details/index.ts → (module scope)
channels/src/components/admin_console/team_channel_settings/channel/index.ts → (module scope)
channels/src/components/admin_console/team_channel_settings/channel/list/admin_channel_shared_indicator.tsx → AdminChannelSharedIndicator
channels/src/components/admin_console/team_channel_settings/channel/list/index.ts → (module scope)
channels/src/components/admin_console/team_channel_settings/group/group_users/index.ts → (module scope)
channels/src/components/admin_console/team_channel_settings/group/index.ts → (module scope)
channels/src/components/admin_console/team_channel_settings/team/details/index.ts → (module scope)
channels/src/components/admin_console/team_channel_settings/team/details/team_members/index.ts → (module scope)
channels/src/components/admin_console/team_channel_settings/team/details/team_profile.tsx → TeamProfile
channels/src/components/admin_console/team_channel_settings/team/index.ts → (module scope)
channels/src/components/admin_console/team_channel_settings/team/list/index.ts → (module scope)
channels/src/components/admin_console/user_autocomplete_setting/index.tsx → (module scope)
channels/src/components/admin_console/workspace-optimization/dashboard.data.tsx → useMetricsData
channels/src/components/advanced_create_post/advanced_create_post.tsx → AdvancedCreatePost
channels/src/components/advanced_create_post/prewritten_chips.tsx → PrewrittenChips
channels/src/components/advanced_text_editor/advanced_text_editor.tsx → AdvancedTextEditor
channels/src/components/advanced_text_editor/ai_actions_menu.tsx → AIActionsMenu
channels/src/components/advanced_text_editor/edit_post_footer.tsx → EditPostFooter
channels/src/components/advanced_text_editor/scheduled_post_indicator/scheduled_post_indicator.tsx → ScheduledPostIndicator
channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/dm_user_timezone.tsx → DMUserTimezone
channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/scheduled_post_custom_time_modal.tsx → ScheduledPostCustomTimeModal
channels/src/components/advanced_text_editor/send_button/send_button.tsx → SendButton
channels/src/components/advanced_text_editor/send_button/send_post_options/core_menu_options.tsx → CoreMenuOptions
channels/src/components/advanced_text_editor/send_button/send_post_options/index.tsx → SendPostOptions
channels/src/components/advanced_text_editor/send_button/send_post_options/recent_used_custom_date.tsx → RecentUsedCustomDate
channels/src/components/advanced_text_editor/use_burn_on_read.tsx → useBurnOnRead
channels/src/components/advanced_text_editor/use_editor_emoji_picker.tsx → useEditorEmojiPicker
channels/src/components/advanced_text_editor/use_groups.tsx → useGroups
channels/src/components/advanced_text_editor/use_key_handler.tsx → useKeyHandler
channels/src/components/advanced_text_editor/use_plugin_items.tsx → usePluginItems
channels/src/components/advanced_text_editor/use_post_box_indicator.tsx → useTimePostBoxIndicator
channels/src/components/advanced_text_editor/use_priority.tsx → usePriority
channels/src/components/advanced_text_editor/use_rewrite.tsx → useRewrite
channels/src/components/advanced_text_editor/use_submit.tsx → useSubmit
channels/src/components/advanced_text_editor/use_textbox_focus.tsx → useTextboxFocus
channels/src/components/advanced_text_editor/use_upload_files.tsx → useUploadFiles
channels/src/components/air_gapped_contact_sales_modal/index.tsx → AirGappedContactSalesModal
channels/src/components/analytics/system_analytics/index.ts → (module scope)
channels/src/components/analytics/team_analytics/index.ts → (module scope)
channels/src/components/announcement_bar/cloud_preview_announcement_bar/index.tsx → CloudPreviewAnnouncementBar
channels/src/components/announcement_bar/cloud_trial_announcement_bar/index.ts → (module scope)
channels/src/components/announcement_bar/cloud_trial_ended_announcement_bar/index.tsx → CloudTrialEndAnnouncementBar
channels/src/components/announcement_bar/configuration_bar/index.ts → (module scope)
channels/src/components/announcement_bar/default_announcement_bar/index.ts → (module scope)
channels/src/components/announcement_bar/index.ts → (module scope)
channels/src/components/announcement_bar/notification_permission_bar/index.tsx → NotificationPermissionBar
channels/src/components/announcement_bar/overage_users_banner/index.tsx → OverageUsersBanner
channels/src/components/announcement_bar/payment_announcement_bar/index.tsx → PaymentAnnouncementBar
channels/src/components/announcement_bar/post_history_limit_banner/index.tsx → PostHistoryLimitBanner
channels/src/components/announcement_bar/show_start_trial_modal/show_start_trial_modal.tsx → ShowStartTrialModal
channels/src/components/announcement_bar/show_tree_days_left_trial_modal/show_three_days_left_trial_modal.tsx → ShowThreeDaysLeftTrialModal
channels/src/components/announcement_bar/single_channel_guest_limit_banner/index.tsx → SingleChannelGuestLimitBanner
channels/src/components/announcement_bar/users_limits_announcement_bar/index.tsx → UsersLimitsAnnouncementBar
channels/src/components/announcement_bar/version_bar/index.ts → (module scope)
channels/src/components/app_bar/app_bar_binding.tsx → AppBarBinding
channels/src/components/app_bar/app_bar_marketplace.tsx → AppBarMarketplace
channels/src/components/app_bar/app_bar_plugin_component.tsx → AppBarPluginComponent
channels/src/components/app_bar/app_bar.tsx → AppBar
channels/src/components/app_bar/new_channel_with_board_tour_tip.tsx → NewChannelWithBoardTourTip
channels/src/components/app.tsx → App
channels/src/components/apps_form/apps_form_datetime_field/apps_form_datetime_field.tsx → AppsFormDateTimeField
channels/src/components/apps_form/apps_form_field/index.ts → (module scope)
channels/src/components/apps_form/index.ts → (module scope)
channels/src/components/at_mention/index.tsx → (module scope)
channels/src/components/audio_video_preview/index.ts → (module scope)
channels/src/components/audit_table/audit_row/audit_row.tsx → AuditRow
channels/src/components/audit_table/channel_row/channel_create_direct_row.tsx → ChannelCreateDirectRow
channels/src/components/audit_table/channel_row/channel_default_row.tsx → ChannelDefaultRow
channels/src/components/audit_table/channel_row/channel_row.tsx → ChannelRow
channels/src/components/audit_table/index.ts → (module scope)
channels/src/components/audit_table/user_row/user_update_active_session_row.tsx → UserUpdateActiveSessionRow
channels/src/components/authorize/index.ts → (module scope)
channels/src/components/backstage/index.ts → (module scope)
channels/src/components/browse_channels/index.ts → (module scope)
channels/src/components/burn_on_read/burn_on_read_tour_tip.tsx → BurnOnReadTourTip
channels/src/components/category_selector/category_selector.tsx → CategorySelector
channels/src/components/channel_banner/channel_banner.tsx → ChannelBanner
channels/src/components/channel_bookmarks/bookmark_dot_menu.tsx → BookmarkItemDotMenu
channels/src/components/channel_bookmarks/bookmark_icon.tsx → BookmarkIcon
channels/src/components/channel_bookmarks/bookmark_item_content.tsx → useBookmarkLink
channels/src/components/channel_bookmarks/channel_bookmarks_create_modal.tsx → ChannelBookmarkCreateModal
channels/src/components/channel_bookmarks/channel_bookmarks_menu.tsx → useBookmarkAddActions
channels/src/components/channel_bookmarks/utils.ts → useCanGetLinkPreviews, useCanGetPublicLink, useCanUploadFiles, useChannelBookmarkPermission, useChannelBookmarks
channels/src/components/channel_groups_manage_modal/index.ts → (module scope)
channels/src/components/channel_header_menu/channel_header_menu_items/channel_header_direct_menu.tsx → ChannelHeaderDirectMenu
channels/src/components/channel_header_menu/channel_header_menu_items/channel_header_group_menu.tsx → ChannelHeaderGroupMenu
channels/src/components/channel_header_menu/channel_header_menu.tsx → ChannelHeaderMenu
channels/src/components/channel_header_menu/menu_items/add_channel_members.tsx → AddChannelMembers
channels/src/components/channel_header_menu/menu_items/add_group_members.tsx → AddGroupMembers
channels/src/components/channel_header_menu/menu_items/archive_channel.tsx → ArchiveChannel
channels/src/components/channel_header_menu/menu_items/autotranslation.tsx → Autotranslation
channels/src/components/channel_header_menu/menu_items/channel_bookmarks_submenu.tsx → ChannelBookmarksSubmenu
channels/src/components/channel_header_menu/menu_items/channel_settings_menu.tsx → ChannelSettingsMenu
channels/src/components/channel_header_menu/menu_items/close_message.tsx → CloseMessage
channels/src/components/channel_header_menu/menu_items/convert_gm_to_private.tsx → ConvertGMtoPrivate
channels/src/components/channel_header_menu/menu_items/edit_conversation_header.tsx → EditConversationHeader
channels/src/components/channel_header_menu/menu_items/groups.tsx → Groups
channels/src/components/channel_header_menu/menu_items/leave_channel.tsx → LeaveChannel
channels/src/components/channel_header_menu/menu_items/mobile_channel_header_plugins.tsx → MobileChannelHeaderPlugins
channels/src/components/channel_header_menu/menu_items/notification.tsx → Notification
channels/src/components/channel_header_menu/menu_items/open_in_new_window.tsx → MenuItemOpenInNewWindow
channels/src/components/channel_header_menu/menu_items/open_members_rhs.tsx → OpenMembersRHS
channels/src/components/channel_header_menu/menu_items/toggle_favorite_channel.tsx → ToggleFavoriteChannel
channels/src/components/channel_header_menu/menu_items/toggle_info.tsx → ToggleInfo
channels/src/components/channel_header_menu/menu_items/toggle_mute_channel.tsx → ToggleMuteChannel
channels/src/components/channel_header_menu/menu_items/unarchive_channel.tsx → UnarchiveChannel
channels/src/components/channel_header_menu/menu_items/view_pinned_posts.tsx → ViewPinnedPosts
channels/src/components/channel_header/channel_header_text_popover.tsx → ChannelHeaderTextPopover
channels/src/components/channel_header/channel_header_text.tsx → AddChannelHeaderTextButton
channels/src/components/channel_header/channel_header_title_direct.tsx → ChannelHeaderTitleDirect
channels/src/components/channel_header/channel_header_title_favorite.tsx → ChannelHeaderTitleFavorite
channels/src/components/channel_header/channel_header_title_group.tsx → ChannelHeaderTitleGroup
channels/src/components/channel_header/channel_header_title.tsx → ChannelHeaderTitle
channels/src/components/channel_header/channel_info_button.tsx → ChannelInfoButton
channels/src/components/channel_header/index.ts → (module scope)
channels/src/components/channel_info_rhs/index.ts → (module scope)
channels/src/components/channel_info_rhs/menu.tsx → Menu
channels/src/components/channel_invite_modal/group_option/group_option.tsx → GroupOption
channels/src/components/channel_invite_modal/index.ts → (module scope)
channels/src/components/channel_invite_modal/team_warning_banner/team_warning_banner.tsx → TeamWarningBanner
channels/src/components/channel_layout/center_channel/index.ts → (module scope)
channels/src/components/channel_layout/channel_controller.tsx → ChannelController
channels/src/components/channel_layout/channel_identifier_router/index.ts → (module scope)
channels/src/components/channel_layout/playbook_runner.tsx → PlaybookRunner
channels/src/components/channel_members_dropdown/channel_members_dropdown.tsx → ChannelMembersDropdown
channels/src/components/channel_members_dropdown/index.ts → (module scope)
channels/src/components/channel_members_modal/index.ts → (module scope)
channels/src/components/channel_members_rhs/index.ts → (module scope)
channels/src/components/channel_move_to_sub_menu_old/index.tsx → ChannelMoveToSubMenuOld
channels/src/components/channel_move_to_sub_menu/index.tsx → ChannelMoveToSubMenu
channels/src/components/channel_name_form_field/channel_name_form_field.tsx → ChannelNameFormField
channels/src/components/channel_notifications_modal/index.ts → (module scope)
channels/src/components/channel_popout/channel_popout.tsx → ChannelPopout
channels/src/components/channel_select/index.ts → (module scope)
channels/src/components/channel_selector_modal/index.ts → (module scope)
channels/src/components/channel_settings_modal/channel_access_rules_confirm_modal.tsx → ChannelAccessRulesConfirmModal
channels/src/components/channel_settings_modal/channel_settings_access_rules_tab.tsx → ChannelSettingsAccessRulesTab
channels/src/components/channel_settings_modal/channel_settings_archive_tab.tsx → ChannelSettingsArchiveTab
channels/src/components/channel_settings_modal/channel_settings_configuration_tab.tsx → ChannelSettingsConfigurationTab
channels/src/components/channel_settings_modal/channel_settings_info_tab.tsx → ChannelSettingsInfoTab
channels/src/components/channel_settings_modal/channel_settings_modal.tsx → ChannelSettingsModal
channels/src/components/channel_settings_modal/channel_settings_permissions_policy_tab.tsx → ChannelSettingsPermissionsPolicyTab
channels/src/components/channel_type_icon/useChannelIconClassName.ts → useChannelIconClassName
channels/src/components/channel_type_icon/useChannelIconOverrideName.ts → useChannelIconOverrideName
channels/src/components/channel_view/index.ts → (module scope)
channels/src/components/claim/index.ts → (module scope)
channels/src/components/cloud_effects/index.tsx → CloudEffectsWrapper
channels/src/components/cloud_fetch_error/index.tsx → CloudFetchError
channels/src/components/cloud_invoice_preview/index.tsx → CloudInvoicePreview
channels/src/components/cloud_preview_modal/cloud_preview_modal_controller.tsx → CloudPreviewModal
channels/src/components/cloud_subscribe_result_modal/error.tsx → ErrorModal
channels/src/components/cloud_subscribe_result_modal/success.tsx → SuccessModal
channels/src/components/cloud_usage_modal/lhs_nearing_limit_modal.tsx → LHSNearingLimitsModal
channels/src/components/code_block/code_block.tsx → CodeBlock
channels/src/components/commercial_support_modal/index.ts → (module scope)
channels/src/components/common/hooks/use_external_link.ts → useExternalLink
channels/src/components/common/hooks/use_search_results_actions.ts → useSearchResultsActions
channels/src/components/common/hooks/useAccessControlAttributes.ts → useAccessControlAttributes
channels/src/components/common/hooks/useChannelClassificationBanner.ts → useChannelClassificationBanner
channels/src/components/common/hooks/useClassificationMarkings.ts → useClassificationMarkings
channels/src/components/common/hooks/useControlModal.ts → useControlModal
channels/src/components/common/hooks/useCWSAvailabilityCheck.ts → useCWSAvailabilityCheck
channels/src/components/common/hooks/useEntity.ts → useEntity
channels/src/components/common/hooks/useFetchAdminConfig.ts → useFetchAdminConfig
channels/src/components/common/hooks/useFetchStandardAnalytics.ts → useFetchStandardAnalytics
channels/src/components/common/hooks/useGetAgentsBridgeEnabled.ts → useGetAgentsBridgeEnabled
channels/src/components/common/hooks/useGetCloudInstallationStatus.ts → useGetCloudInstallationStatus
channels/src/components/common/hooks/useGetFeatureFlagValue.ts → useGetFeatureFlagValue
channels/src/components/common/hooks/useGetLimits.ts → useGetLimits
channels/src/components/common/hooks/useGetLLMServices.ts → useGetLLMServices
channels/src/components/common/hooks/useGetServerLimits.ts → useGetServerLimits
channels/src/components/common/hooks/useGetSubscription.ts → useGetSubscription
channels/src/components/common/hooks/useGetTotalUsersNoBots.ts → useGetTotalUsersNoBots
channels/src/components/common/hooks/useGetUsage.ts → useGetUsage
channels/src/components/common/hooks/useOpenInvitePeopleModal.ts → useOpenInvitePeopleModal
channels/src/components/common/hooks/useOpenSalesLink.ts → useOpenSalesLink
channels/src/components/common/hooks/useOpenStartTrialFormModal.ts → useOpenStartTrialFormModal
channels/src/components/common/hooks/useOpenZendeskForm.ts → useOpenCloudZendeskSupportForm
channels/src/components/common/hooks/usePluginStatusesSync.ts → usePluginStatusesSync
channels/src/components/common/hooks/usePluginVisibilityInSharedChannel.ts → usePluginVisibilityInSharedChannel
channels/src/components/common/hooks/usePreference.ts → usePreference
channels/src/components/common/hooks/useSavePreferences.ts → useSavePreferences
channels/src/components/common/hooks/useShowAdminLimitReached.ts → useShowAdminLimitReached
channels/src/components/common/hooks/useTelemetryIdentifySync.tsx → useTelemetryIdentitySync
channels/src/components/common/plan_label/index.tsx → PlanLabel
channels/src/components/convert_channel_modal/index.ts → (module scope)
channels/src/components/convert_gm_to_channel_modal/convert_gm_to_channel_modal.tsx → ConvertGmToChannelModal
channels/src/components/convert_gm_to_channel_modal/index.ts → (module scope)
channels/src/components/convert_gm_to_channel_modal/team_selector/team_selector.tsx → TeamSelector
channels/src/components/create_recap_modal/create_recap_modal.tsx → CreateRecapModal
channels/src/components/create_team/components/create_team_form/create_team_form.tsx → CreateTeamForm
channels/src/components/create_team/components/create_team_form/index.ts → (module scope)
channels/src/components/create_team/index.ts → (module scope)
channels/src/components/create_user_groups_modal/index.ts → (module scope)
channels/src/components/custom_status/custom_status_emoji.tsx → CustomStatusEmoji
channels/src/components/custom_status/custom_status_modal.tsx → CustomStatusModal
channels/src/components/custom_status/custom_status_text.tsx → CustomStatusText
channels/src/components/data_prefetch/index.ts → (module scope)
channels/src/components/date_time_picker_modal/date_time_picker_modal.tsx → DateTimePickerModal
channels/src/components/datetime_input/datetime_input.tsx → DateTimeInputContainer
channels/src/components/delete_category_modal/index.ts → (module scope)
channels/src/components/delete_channel_modal/index.ts → (module scope)
channels/src/components/delete_post_modal/index.ts → (module scope)
channels/src/components/desktop_auth_token.tsx → DesktopAuthToken
channels/src/components/dialog_router/index.ts → (module scope)
channels/src/components/disable_autotranslation_modal.tsx → DisableAutotranslationModal
channels/src/components/dnd_custom_time_picker_modal/index.ts → (module scope)
channels/src/components/do_verify_email/do_verify_email.tsx → DoVerifyEmail
channels/src/components/dot_menu/index.ts → (module scope)
channels/src/components/dot_menu/post_reminder_submenu.tsx → PostReminderSubmenu
channels/src/components/downgrade_modal/index.tsx → DowngradeModal
channels/src/components/drafts/draft_actions/draft_actions.tsx → DraftActions
channels/src/components/drafts/draft_actions/index.ts → (module scope)
channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx → ScheduledPostActions
channels/src/components/drafts/draft_list/index.tsx → DraftList
channels/src/components/drafts/draft_row.tsx → DraftRow
channels/src/components/drafts/draft_title/draft_title.tsx → DraftTitle
channels/src/components/drafts/draft_title/index.ts → (module scope)
channels/src/components/drafts/drafts_and_schedule_posts_tabs.tsx → DraftsAndSchedulePostsTabs
channels/src/components/drafts/drafts_link/drafts_link.tsx → DraftsLink
channels/src/components/drafts/index.tsx → Drafts
channels/src/components/drafts/panel/panel_body.tsx → PanelBody
channels/src/components/drafts/scheduled_post_list/index.tsx → ScheduledPostList
channels/src/components/edit_category_modal/index.ts → (module scope)
channels/src/components/edit_channel_header_modal/index.ts → (module scope)
channels/src/components/edit_channel_purpose_modal/index.tsx → (module scope)
channels/src/components/edit_post/edit_post.tsx → EditPost
channels/src/components/edit_scheduled_post/edit_post_footer.tsx → EditPostFooter
channels/src/components/edit_scheduled_post/edit_post.tsx → EditPost
channels/src/components/edit_scheduled_post/index.ts → (module scope)
channels/src/components/emoji_picker/index.ts → (module scope)
channels/src/components/emoji_picker/use_emoji_picker.tsx → useEmojiPicker
channels/src/components/emoji/add_emoji/index.ts → (module scope)
channels/src/components/emoji/emoji_list_item/index.ts → (module scope)
channels/src/components/emoji/emoji_list/index.ts → (module scope)
channels/src/components/emoji/index.ts → (module scope)
channels/src/components/error_page/index.tsx → (module scope)
channels/src/components/error_page/messages/cloud_archived.tsx → CloudArchived
channels/src/components/external_image/index.ts → (module scope)
channels/src/components/feature_restricted_modal/feature_restricted_modal.tsx → FeatureRestrictedModal
channels/src/components/feature_toast/feature_toast.tsx → FeatureToast
channels/src/components/feedback_modal/feedback.tsx → FeedbackModal
channels/src/components/file_attachment_list/index.ts → (module scope)
channels/src/components/file_attachment/file_thumbnail/index.ts → (module scope)
channels/src/components/file_attachment/index.ts → (module scope)
channels/src/components/file_info_preview/index.ts → (module scope)
channels/src/components/file_limit_sticky_banner/index.tsx → FileLimitStickyBanner
channels/src/components/file_preview_modal/file_preview_modal_info/file_preview_modal_info.tsx → FilePreviewModalInfo
channels/src/components/file_preview_modal/file_preview_modal_main_actions/file_preview_modal_main_actions.tsx → FilePreviewModalMainActions
channels/src/components/file_preview_modal/index.ts → (module scope)
channels/src/components/file_preview/index.ts → (module scope)
channels/src/components/file_search_results/index.tsx → (module scope)
channels/src/components/file_upload/index.ts → (module scope)
channels/src/components/flag_message_modal/flag_post_modal.tsx → FlagPostModal
channels/src/components/forward_post_modal/forward_post_channel_select.tsx → FormattedOption, Option
channels/src/components/forward_post_modal/forward_post_comment_input.tsx → ForwardPostCommentInput
channels/src/components/forward_post_modal/index.tsx → ForwardPostModal
channels/src/components/get_public_link_modal/index.ts → (module scope)
channels/src/components/gif_picker/gif_picker_items.tsx → GifPickerItems
channels/src/components/gif_picker/gif_picker_search.tsx → GifPickerSearch
channels/src/components/global_classification_banner/global_classification_banner.tsx → GlobalClassificationBanner
channels/src/components/global_header/center_controls/global_search_nav/global_search_nav.tsx → GlobalSearchNav
channels/src/components/global_header/center_controls/user_guide_dropdown/index.ts → (module scope)
channels/src/components/global_header/hooks.tsx → useFirstAdminUser, useIsCurrentUserSystemAdmin, useIsLoggedIn, useIsModalOpen
channels/src/components/global_header/left_controls/product_menu/product_branding_team_edition/product_branding_free_edition.tsx → ProductBrandingFreeEdition
channels/src/components/global_header/left_controls/product_menu/product_menu_list/index.ts → (module scope)
channels/src/components/global_header/left_controls/product_menu/product_menu_list/product_menu_list.tsx → ProductMenuList
channels/src/components/global_header/left_controls/product_menu/product_menu.tsx → ProductMenu
channels/src/components/global_header/right_controls/at_mentions_button/at_mentions_button.tsx → AtMentionsButton
channels/src/components/global_header/right_controls/plan_upgrade_button/index.tsx → PlanUpgradeButton
channels/src/components/global_header/right_controls/right_controls.tsx → RightControls
channels/src/components/global_header/right_controls/saved_posts_button/saved_posts_button.tsx → SavedPostsButton
channels/src/components/global_header/right_controls/settings_button/index.ts → (module scope)
channels/src/components/header_footer_route/footer.tsx → Footer
channels/src/components/header_footer_route/header.tsx → Header
channels/src/components/header_footer_template/header_footer_template.tsx → HeaderFooterNotLoggedIn
channels/src/components/help/use_help_page_title.ts → useHelpPageTitle
channels/src/components/inline_action_button/index.tsx → InlineActionButton
channels/src/components/inline_entity_link/index.tsx → InlineEntityLink
channels/src/components/integrations/add_command/index.ts → (module scope)
channels/src/components/integrations/add_incoming_webhook/index.ts → (module scope)
channels/src/components/integrations/add_oauth_app/index.ts → (module scope)
channels/src/components/integrations/add_outgoing_webhook/index.ts → (module scope)
channels/src/components/integrations/bots/add_bot/index.ts → (module scope)
channels/src/components/integrations/bots/index.ts → (module scope)
channels/src/components/integrations/commands_container/index.ts → (module scope)
channels/src/components/integrations/confirm_integration/index.ts → (module scope)
channels/src/components/integrations/delete_integration_link/index.ts → (module scope)
channels/src/components/integrations/edit_command/index.ts → (module scope)
channels/src/components/integrations/edit_incoming_webhook/index.ts → (module scope)
channels/src/components/integrations/edit_oauth_app/index.ts → (module scope)
channels/src/components/integrations/edit_outgoing_webhook/index.ts → (module scope)
channels/src/components/integrations/index.ts → (module scope)
channels/src/components/integrations/installed_commands/index.ts → (module scope)
channels/src/components/integrations/installed_incoming_webhooks/index.ts → (module scope)
channels/src/components/integrations/installed_oauth_app/index.ts → (module scope)
channels/src/components/integrations/installed_oauth_apps/index.ts → (module scope)
channels/src/components/integrations/installed_outgoing_webhooks/index.ts → (module scope)
channels/src/components/integrations/outgoing_oauth_connections/abstract_outgoing_oauth_connection.tsx → AbstractOutgoingOAuthConnection
channels/src/components/integrations/outgoing_oauth_connections/add_outgoing_oauth_connection.tsx → AddOutgoingOAuthConnection
channels/src/components/integrations/outgoing_oauth_connections/edit_outgoing_oauth_connection.tsx → EditOutgoingOAuthConnection
channels/src/components/integrations/outgoing_oauth_connections/installed_outgoing_oauth_connections.tsx → InstalledOutgoingOAuthConnections
channels/src/components/integrations/outgoing_oauth_connections/oauth_connection_audience_input.tsx → OAuthConnectionAudienceInput
channels/src/components/intl_provider/index.tsx → (module scope)
channels/src/components/invitation_modal/index.tsx → (module scope)
channels/src/components/invitation_modal/invite_as.tsx → InviteAs
channels/src/components/invitation_modal/overage_users_banner_notice/index.tsx → OverageUsersBannerNotice
channels/src/components/keyboard_shortcuts/keyboard_shortcuts_modal/keyboard_shortcuts_modal.tsx → KeyboardShortcutsModal
channels/src/components/latex_block/index.ts → (module scope)
channels/src/components/latex_inline/index.ts → (module scope)
channels/src/components/learn_more_trial_modal/learn_more_trial_modal.tsx → LearnMoreTrialModal
channels/src/components/leave_channel_modal/index.ts → (module scope)
channels/src/components/leave_team_modal/index.ts → (module scope)
channels/src/components/linking_landing_page/index.tsx → (module scope)
channels/src/components/logged_in/index.ts → (module scope)
channels/src/components/login/login.tsx → Login
channels/src/components/markdown_image_expand/index.ts → (module scope)
channels/src/components/markdown_image/index.ts → (module scope)
channels/src/components/markdown/index.ts → (module scope)
channels/src/components/member_list_channel/index.ts → (module scope)
channels/src/components/member_list_team/index.ts → (module scope)
channels/src/components/menu/menu_item_link.tsx → MenuItemLink
channels/src/components/menu/menu_item.tsx → (anonymous)
channels/src/components/menu/menu.tsx → Menu, MenuModal
channels/src/components/menu/sub_menu.tsx → SubMenu, SubMenuModal
channels/src/components/mfa/mfa_controller/index.ts → (module scope)
channels/src/components/mfa/setup/index.ts → (module scope)
channels/src/components/mobile_channel_header/channel_info_button/index.ts → (module scope)
channels/src/components/mobile_channel_header/collapse_lhs_button/index.ts → (module scope)
channels/src/components/mobile_channel_header/collapse_rhs_button/index.ts → (module scope)
channels/src/components/mobile_channel_header/index.ts → (module scope)
channels/src/components/mobile_channel_header/show_search_button/index.ts → (module scope)
channels/src/components/mobile_channel_header/unmute_channel_button/index.ts → (module scope)
channels/src/components/mobile_sidebar_right/index.ts → (module scope)
channels/src/components/mobile_sidebar_right/mobile_sidebar_right_items/index.tsx → (module scope)
channels/src/components/mobile_view_watcher/index.ts → (module scope)
channels/src/components/modal_controller/index.ts → (module scope)
channels/src/components/more_direct_channels/index.ts → (module scope)
channels/src/components/more_direct_channels/list_item/index.ts → (module scope)
channels/src/components/more_direct_channels/list_item/user_details/index.ts → (module scope)
channels/src/components/more_direct_channels/list_item/user_details/user_details.tsx → UserDetails
channels/src/components/more_direct_channels/list/index.ts → (module scope)
channels/src/components/more_direct_channels/list/list.tsx → (anonymous)
channels/src/components/move_thread_modal/index.ts → (module scope)
channels/src/components/move_thread_modal/move_thread_modal.tsx → MoveThreadModal
channels/src/components/msg_typing/index.ts → (module scope)
channels/src/components/new_channel_modal/new_channel_modal.tsx → NewChannelModal
channels/src/components/new_replies_banner/index.ts → (module scope)
channels/src/components/new_search/hooks.tsx → useSearchSuggestions
channels/src/components/new_search/new_search.tsx → NewSearch
channels/src/components/new_search/search_box_hints.tsx → SearchBoxHints
channels/src/components/new_search/search_box_input.tsx → (anonymous)
channels/src/components/new_search/search_box_suggestions.tsx → SearchSuggestions
channels/src/components/new_search/search_box_type_selector.tsx → SearchTypeSelector
channels/src/components/new_search/select_team.tsx → SelectTeam
channels/src/components/notify_counts/index.ts → (module scope)
channels/src/components/onboarding_tasklist/onboarding_tasklist_completed.tsx → Completed
channels/src/components/onboarding_tasklist/onboarding_tasklist.tsx → OnBoardingTaskList
channels/src/components/onboarding_tasks/complete_your_profile_tour_tip.tsx → CompleteYourProfileTour
channels/src/components/onboarding_tasks/onboarding_tasks_manager.tsx → useHandleOnBoardingTaskData, useHandleOnBoardingTaskTrigger, useTasksList, useTasksListWithStatus
channels/src/components/onboarding_tasks/visit_system_console_tour_tip.tsx → VisitSystemConsoleTour
channels/src/components/password_reset_form/index.ts → (module scope)
channels/src/components/password_reset_send_link/index.ts → (module scope)
channels/src/components/permalink_view/index.ts → (module scope)
channels/src/components/permissions_gates/any_team_permission_gate.tsx → AnyTeamPermissionGate
channels/src/components/permissions_gates/channel_permission_gate.tsx → ChannelPermissionGate
channels/src/components/permissions_gates/system_permission_gate.tsx → SystemPermissionGate
channels/src/components/permissions_gates/team_permission_gate.tsx → TeamPermissionGate
channels/src/components/persist_notification_confirm_modal.tsx → PersistNotificationConfirmModal
channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_app/index.ts → (module scope)
channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_plugin/index.ts → (module scope)
channels/src/components/plugin_marketplace/marketplace_modal.tsx → MarketplaceModal
channels/src/components/popout_controller/popout_controller.tsx → PopoutController
channels/src/components/post_edit_history/edited_post_item/edited_post_item.tsx → EditedPostItem
channels/src/components/post_edit_history/edited_post_item/index.ts → (module scope)
channels/src/components/post_edit_history/index.ts → (module scope)
channels/src/components/post_edit_history/post_edit_history.tsx → PostEditHistory
channels/src/components/post_emoji/index.tsx → (module scope)
channels/src/components/post_markdown/index.ts → (module scope)
channels/src/components/post_priority/post_priority_picker.tsx → PostPriorityPicker
channels/src/components/post_profile_picture/index.ts → (module scope)
channels/src/components/post_reminder_custom_time_picker_modal/index.ts → (module scope)
channels/src/components/post_view/acknowledgements/index.ts → (module scope)
channels/src/components/post_view/acknowledgements/post_acknowledgements_users_popover.tsx → Row
channels/src/components/post_view/acknowledgements/post_acknowledgements.tsx → PostAcknowledgements
channels/src/components/post_view/burn_on_read_badge/burn_on_read_badge.tsx → BurnOnReadBadge
channels/src/components/post_view/channel_intro_message/add_members_button.tsx → AddMembersButton
channels/src/components/post_view/channel_intro_message/index.ts → (module scope)
channels/src/components/post_view/channel_intro_message/pluggable_intro_buttons/index.ts → (module scope)
channels/src/components/post_view/combined_system_message/index.ts → (module scope)
channels/src/components/post_view/combined_user_activity_post/index.ts → (module scope)
channels/src/components/post_view/commented_on_files_message/index.ts → (module scope)
channels/src/components/post_view/data_spillage_report/data_spillage_actions/data_spillage_actions.tsx → DataSpillageAction
channels/src/components/post_view/data_spillage_report/data_spillage_footer/data_spillage_footer.tsx → DataSpillageFooter
channels/src/components/post_view/embedded_bindings/button_binding/index.ts → (module scope)
channels/src/components/post_view/embedded_bindings/embedded_binding/index.ts → (module scope)
channels/src/components/post_view/embedded_bindings/select_binding/index.ts → (module scope)
channels/src/components/post_view/failed_post_options/index.ts → (module scope)
channels/src/components/post_view/floating_timestamp/index.ts → (module scope)
channels/src/components/post_view/gm_conversion_message/gm_conversion_message.tsx → GMConversionMessage
channels/src/components/post_view/index.ts → (module scope)
channels/src/components/post_view/message_attachments/action_button/index.ts → (module scope)
channels/src/components/post_view/message_attachments/action_menu/index.ts → (module scope)
channels/src/components/post_view/message_attachments/message_attachment/index.ts → (module scope)
channels/src/components/post_view/post_add_channel_member/index.ts → (module scope)
channels/src/components/post_view/post_attachment_container/post_attachment_container.tsx → PostAttachmentContainer
channels/src/components/post_view/post_attachment_opengraph/index.ts → (module scope)
channels/src/components/post_view/post_body_additional_content/index.ts → (module scope)
channels/src/components/post_view/post_edited_indicator/index.ts → (module scope)
channels/src/components/post_view/post_flag_icon/index.ts → (module scope)
channels/src/components/post_view/post_header_custom_status/post_header_custom_status.tsx → PostHeaderCustomStatus
channels/src/components/post_view/post_image/index.ts → (module scope)
channels/src/components/post_view/post_list_row/index.ts → (module scope)
channels/src/components/post_view/post_list_virtualized/latest_post_reader.tsx → LatestPostReader
channels/src/components/post_view/post_list/index.tsx → (module scope)
channels/src/components/post_view/post_message_preview/index.ts → (module scope)
channels/src/components/post_view/post_message_view/index.ts → (module scope)
channels/src/components/post_view/post_pre_header/index.ts → (module scope)
channels/src/components/post_view/post_reaction/index.ts → (module scope)
channels/src/components/post_view/post_recent_reactions/index.ts → (module scope)
channels/src/components/post_view/post_time/index.ts → (module scope)
channels/src/components/post_view/reaction_list/index.ts → (module scope)
channels/src/components/post_view/reaction/index.ts → (module scope)
channels/src/components/post_view/reaction/reaction_tooltip/index.ts → (module scope)
channels/src/components/post_view/show_more/index.ts → (module scope)
channels/src/components/post/index.tsx → (module scope)
channels/src/components/post/post_header_translate_icon.tsx → PostHeaderTranslateIcon
channels/src/components/preparing_workspace/index.tsx → (module scope)
channels/src/components/preparing_workspace/launching_workspace.tsx → LaunchingWorkspace
channels/src/components/preparing_workspace/organization.tsx → Organization
channels/src/components/preparing_workspace/preparing_workspace.tsx → PreparingWorkspace
channels/src/components/product_notices_modal/index.tsx → (module scope)
channels/src/components/profile_popover/profile_popover_add_to_channel.tsx → ProfilePopoverAddToChannel
channels/src/components/profile_popover/profile_popover_call_button_wrapper/index.tsx → CallButton
channels/src/components/profile_popover/profile_popover_calls_button/index.tsx → (module scope)
channels/src/components/profile_popover/profile_popover_calls_button/profile_popover_call_button.tsx → ProfilePopoverCallButton
channels/src/components/profile_popover/profile_popover_custom_attributes.tsx → ProfilePopoverCustomAttributes
channels/src/components/profile_popover/profile_popover_custom_status.tsx → ProfilePopoverCustomStatus
channels/src/components/profile_popover/profile_popover_last_active.tsx → ProfilePopoverLastActive
channels/src/components/profile_popover/profile_popover_other_user_row.tsx → ProfilePopoverOtherUserRow
channels/src/components/profile_popover/profile_popover_self_user_row.tsx → ProfilePopoverSelfUserRow
channels/src/components/profile_popover/profile_popover_title.tsx → ProfilePopoverTitle
channels/src/components/profile_popover/profile_popover.tsx → ProfilePopover
channels/src/components/query_param_actions/query_param_action_controller.tsx → QueryParamActionController
channels/src/components/quick_switch_modal/index.tsx → (module scope)
channels/src/components/readout/readout.tsx → Readout
channels/src/components/recaps_link/recaps_link.tsx → RecapsLink
channels/src/components/recaps/recap_channel_card.tsx → RecapChannelCard
channels/src/components/recaps/recap_item.tsx → RecapItem
channels/src/components/recaps/recap_text_formatter.tsx → RecapTextFormatter
channels/src/components/recaps/recaps_list.tsx → RecapsList
channels/src/components/recaps/recaps.tsx → Recaps
channels/src/components/remove_flagged_message_confirmation_modal/remove_flagged_message_confirmation_modal.tsx → KeepRemoveFlaggedMessageConfirmationModal
channels/src/components/removed_from_channel_modal/index.ts → (module scope)
channels/src/components/rename_channel_modal/index.ts → (module scope)
channels/src/components/reset_status_modal/index.ts → (module scope)
channels/src/components/resizable_sidebar/resizable_divider.tsx → ResizableDivider
channels/src/components/resizable_sidebar/resizable_rhs/index.tsx → ResizableRhs
channels/src/components/rhs_card_header/index.tsx → (module scope)
channels/src/components/rhs_card/index.ts → (module scope)
channels/src/components/rhs_header_post/index.ts → (module scope)
channels/src/components/rhs_plugin_popout/rhs_plugin_popout.tsx → RhsPluginPopout
channels/src/components/rhs_popout/rhs_popout.tsx → RhsPopout
channels/src/components/rhs_search_popout/rhs_search_popout.tsx → RhsSearchPopout
channels/src/components/rhs_thread/index.ts → (module scope)
channels/src/components/rhs_thread/rhs_thread.tsx → RhsThread
channels/src/components/root_post_divider/root_post_divider.tsx → RootPostDivider
channels/src/components/root/index.ts → (module scope)
channels/src/components/root/luxon_controller.tsx → LuxonController
channels/src/components/root/performance_reporter_controller.tsx → PerformanceReporterController
channels/src/components/root/root_redirect/index.ts → (module scope)
channels/src/components/root/shared_package_provider.tsx → useEmojiByName
channels/src/components/search_hint/search_hint.tsx → SearchHint
channels/src/components/search_results_header/index.tsx → (module scope)
channels/src/components/search_results/index.tsx → (module scope)
channels/src/components/search_results/messages_or_files_selector.tsx → MessagesOrFilesSelector
channels/src/components/search_results/post_search_results_item.tsx → PostSearchResultsItem
channels/src/components/search_results/search_limits_banner.tsx → SearchLimitsBanner
channels/src/components/search_results/search_results.tsx → SearchResults
channels/src/components/search/index.tsx → (module scope)
channels/src/components/search/search.tsx → Search
channels/src/components/select_team/index.ts → (module scope)
channels/src/components/settings_sidebar/index.ts → (module scope)
channels/src/components/should_verify_email/should_verify_email.tsx → ShouldVerifyEmail
channels/src/components/show_translation_modal/show_translation_modal.tsx → ShowTranslationModal
channels/src/components/sidebar_right/index.ts → (module scope)
channels/src/components/sidebar/add_channels_cta_button.tsx → AddChannelsCtaButton
channels/src/components/sidebar/channel_filter/index.ts → (module scope)
channels/src/components/sidebar/channel_navigator/index.ts → (module scope)
channels/src/components/sidebar/index.ts → (module scope)
channels/src/components/sidebar/invite_members_button.tsx → InviteMembersButton
channels/src/components/sidebar/mobile_sidebar_header/index.ts → (module scope)
channels/src/components/sidebar/sidebar_category/index.ts → (module scope)
channels/src/components/sidebar/sidebar_category/sidebar_category_menu/create_new_category_menu_item.tsx → CreateNewCategoryMenuItem
channels/src/components/sidebar/sidebar_category/sidebar_category_menu/index.tsx → SidebarCategoryMenu
channels/src/components/sidebar/sidebar_category/sidebar_category_menu/mark_as_read_menu_item.tsx → MarkAsUnreadItem
channels/src/components/sidebar/sidebar_category/sidebar_category_sorting_menu.tsx → SidebarCategorySortingMenu
channels/src/components/sidebar/sidebar_channel/channel_pencil_icon/index.ts → (module scope)
channels/src/components/sidebar/sidebar_channel/index.ts → (module scope)
channels/src/components/sidebar/sidebar_channel/sidebar_base_channel/index.ts → (module scope)
channels/src/components/sidebar/sidebar_channel/sidebar_channel_link/index.ts → (module scope)
channels/src/components/sidebar/sidebar_channel/sidebar_channel_menu/index.ts → (module scope)
channels/src/components/sidebar/sidebar_channel/sidebar_channel_menu/sidebar_channel_menu.tsx → SidebarChannelMenu
channels/src/components/sidebar/sidebar_channel/sidebar_direct_channel/index.ts → (module scope)
channels/src/components/sidebar/sidebar_channel/sidebar_group_channel/index.ts → (module scope)
channels/src/components/sidebar/sidebar_header/sidebar_browse_or_add_channel_menu.tsx → SidebarBrowserOrAddChannelMenu
channels/src/components/sidebar/sidebar_header/sidebar_header.tsx → SidebarHeader
channels/src/components/sidebar/sidebar_header/sidebar_team_menu.tsx → AddGroupsToTeamMenuItem, CreateTeamMenuItem, InvitePeopleMenuItem, LeaveTeamMenuItem, ManageGroupsMenuItem, ManageViewMembersMenuItem, PluginMenuItems, SidebarTeamMenu…
channels/src/components/sidebar/sidebar_list/index.ts → (module scope)
channels/src/components/sidebar/unread_channels.tsx → UnreadChannels
channels/src/components/signup/signup.tsx → Signup
channels/src/components/single_image_view/index.ts → (module scope)
channels/src/components/start_trial_form_modal/failure_modal.tsx → StartTrialFormModalResult
channels/src/components/start_trial_form_modal/index.tsx → StartTrialFormModal
channels/src/components/suggestion/rhs_suggestion_list.tsx → RhsSuggestionList
channels/src/components/suggestion/search_channel_suggestion/index.ts → (module scope)
channels/src/components/suggestion/search_date_suggestion/index.ts → (module scope)
channels/src/components/suggestion/suggestion_box/index.js → (module scope)
channels/src/components/suggestion/switch_channel_provider.tsx → (anonymous), (module scope)
channels/src/components/switch_to_yearly_plan_confirm_modal/index.tsx → SwitchToYearlyPlanConfirmModal
channels/src/components/system_notice/index.ts → (module scope)
channels/src/components/team_controller/index.ts → (module scope)
channels/src/components/team_controller/team_controller.tsx → TeamController
channels/src/components/team_groups_manage_modal/index.ts → (module scope)
channels/src/components/team_members_dropdown/index.ts → (module scope)
channels/src/components/team_members_modal/index.ts → (module scope)
channels/src/components/team_selector_modal/index.ts → (module scope)
channels/src/components/team_settings_modal/team_settings_modal.tsx → TeamSettingsModal
channels/src/components/team_settings/index.ts → (module scope)
channels/src/components/team_settings/team_access_policies_tab/index.ts → (module scope)
channels/src/components/team_settings/team_access_policies_tab/sync_status_footer.tsx → SyncStatusFooter
channels/src/components/team_settings/team_access_tab/index.ts → (module scope)
channels/src/components/team_settings/team_access_tab/invite_section_input.tsx → InviteSectionInput
channels/src/components/team_settings/team_info_tab/index.ts → (module scope)
channels/src/components/team_sidebar/index.ts → (module scope)
channels/src/components/terms_of_service/index.ts → (module scope)
channels/src/components/textbox/index.ts → (module scope)
channels/src/components/theme_provider/theme_provider.tsx → ThemeProvider
channels/src/components/thread_popout/thread_popout.tsx → ThreadPopout
channels/src/components/threading/channel_threads/posts_channel_reset_watcher/posts_channel_reset_watcher.tsx → PostsChannelResetWatcher
channels/src/components/threading/channel_threads/thread_footer/thread_footer.tsx → ThreadFooter
channels/src/components/threading/global_threads_link/global_threads_link.tsx → GlobalThreadsLink
channels/src/components/threading/global_threads/global_threads.tsx → GlobalThreads
channels/src/components/threading/global_threads/thread_item/attachments/file_card/index.ts → (module scope)
channels/src/components/threading/global_threads/thread_item/index.ts → (module scope)
channels/src/components/threading/global_threads/thread_item/thread_item.tsx → ThreadItem
channels/src/components/threading/global_threads/thread_list/thread_list.tsx → ThreadList
channels/src/components/threading/global_threads/thread_menu/thread_menu.tsx → ThreadMenu
channels/src/components/threading/global_threads/thread_pane/thread_pane.tsx → ThreadPane
channels/src/components/threading/hooks.ts → useThreadRouting
channels/src/components/threading/thread_viewer/index.ts → (module scope)
channels/src/components/threading/virtualized_thread_viewer/create_comment.tsx → (anonymous)
channels/src/components/threading/virtualized_thread_viewer/index.ts → (module scope)
channels/src/components/threading/virtualized_thread_viewer/reply/index.ts → (module scope)
channels/src/components/three_days_left_trial_modal/three_days_left_trial_modal.tsx → ThreeDaysLeftTrialModal
channels/src/components/timestamp/index.ts → (module scope)
channels/src/components/toast_wrapper/index.ts → (module scope)
channels/src/components/toggle_modal_button.tsx → ToggleModalButton
channels/src/components/tours/hooks.ts → useGetTourSteps, useHandleNavigationAndExtraActions
channels/src/components/tours/onboarding_tour/channels_and_direct_messages_tour_tip.tsx → ChannelsAndDirectMessagesTour
channels/src/components/tours/onboarding_tour/hooks.ts → useShowOnboardingTutorialStep
channels/src/components/tours/tour_manager.tsx → useTourTipManager
channels/src/components/trial_benefits_modal/trial_benefits_modal.tsx → TrialBenefitsModal
channels/src/components/unarchive_channel_modal/index.ts → (module scope)
channels/src/components/unreads_status_handler/index.ts → (module scope)
channels/src/components/update_user_group_modal/index.ts → (module scope)
channels/src/components/user_account_menu/index.ts → (module scope)
channels/src/components/user_account_menu/user_account_away_menuitem.tsx → UserAccountAwayMenuItem
channels/src/components/user_account_menu/user_account_custom_status_menuitem.tsx → UserAccountSetCustomStatusMenuItem
channels/src/components/user_account_menu/user_account_dnd_menuitem.tsx → UserAccountDndMenuItem
channels/src/components/user_account_menu/user_account_name_menuitem.tsx → UserAccountNameMenuItem
channels/src/components/user_account_menu/user_account_offline_menuitem.tsx → UserAccountOfflineMenuItem
channels/src/components/user_account_menu/user_account_online_menuitem.tsx → UserAccountOnlineMenuItem
channels/src/components/user_account_menu/user_account_out_of_office_menuitem.tsx → UserAccountOutOfOfficeMenuItem
channels/src/components/user_account_menu/user_account_profile_menuitem.tsx → UserAccountProfileMenuItem
channels/src/components/user_group_popover/group_member_list/group_member_list.tsx → Item
channels/src/components/user_group_popover/group_member_list/index.ts → (module scope)
channels/src/components/user_group_popover/user_group_popover_controller.tsx → UserGroupPopoverController
channels/src/components/user_group_popover/user_group_popover.tsx → UserGroupPopover
channels/src/components/user_groups_modal/ad_ldap_upsell_banner.tsx → ADLDAPUpsellBanner
channels/src/components/user_groups_modal/index.ts → (module scope)
channels/src/components/user_groups_modal/user_groups_list/index.ts → (module scope)
channels/src/components/user_list_row_with_error/index.ts → (module scope)
channels/src/components/user_list_row/index.ts → (module scope)
channels/src/components/user_profile/index.ts → (module scope)
channels/src/components/user_settings/advanced/enable_concurrent_react_experimental_section.tsx → EnableConcurrentReactExperimentalSection
channels/src/components/user_settings/advanced/index.ts → (module scope)
channels/src/components/user_settings/advanced/join_leave_section/index.ts → (module scope)
channels/src/components/user_settings/advanced/performance_debugging_section/index.ts → (module scope)
channels/src/components/user_settings/display/index.ts → (module scope)
channels/src/components/user_settings/display/manage_languages/index.ts → (module scope)
channels/src/components/user_settings/display/manage_timezones/index.ts → (module scope)
channels/src/components/user_settings/display/render_emoticons_as_emoji/index.ts → (module scope)
channels/src/components/user_settings/display/user_settings_theme/index.ts → (module scope)
channels/src/components/user_settings/display/user_settings_theme/premade_theme_chooser/index.ts → (module scope)
channels/src/components/user_settings/general/index.ts → (module scope)
channels/src/components/user_settings/general/user_settings_general.tsx → PluginDisplayName
channels/src/components/user_settings/modal/index.ts → (module scope)
channels/src/components/user_settings/notifications/email_notification_setting/index.ts → (module scope)
channels/src/components/user_settings/notifications/index.ts → (module scope)
channels/src/components/user_settings/plugin/plugin_setting.tsx → PluginSetting
channels/src/components/user_settings/plugin/radio.tsx → RadioInput
channels/src/components/user_settings/security/index.ts → (module scope)
channels/src/components/user_settings/security/mfa_section/index.ts → (module scope)
channels/src/components/user_settings/security/user_access_token_section/index.ts → (module scope)
channels/src/components/user_settings/sidebar/limit_visible_gms_dms/index.ts → (module scope)
channels/src/components/user_settings/sidebar/show_unreads_category/index.ts → (module scope)
channels/src/components/view_user_group_modal/index.ts → (module scope)
channels/src/components/view_user_group_modal/view_user_group_header_sub_menu/index.ts → (module scope)
channels/src/components/view_user_group_modal/view_user_group_list_item/index.ts → (module scope)
channels/src/components/view_user_group_modal/view_user_group_list_item/view_user_group_list_item.tsx → ViewUserGroupListItem
channels/src/components/view_user_group_modal/view_user_group_modal_header/index.ts → (module scope)
channels/src/components/widgets/menu/menu_items/menu_cloud_trial.tsx → MenuCloudTrial
channels/src/components/widgets/menu/menu_items/menu_item_cloud_limit.tsx → MenuItemCloudLimit
channels/src/components/widgets/menu/menu_items/menu_start_trial.tsx → MenuStartTrial
channels/src/components/widgets/tag/guest_tag.tsx → GuestTag
channels/src/components/widgets/users/avatars/avatars.tsx → Avatars, UserAvatar
channels/src/components/window_size_observer/WindowSizeObserver.tsx → WindowSizeObserver
channels/src/components/youtube_video/index.ts → (module scope)
channels/src/hooks/useBurnOnReadDeleteModal.ts → useBurnOnReadDeleteModal
channels/src/hooks/useChannelAccessControlActions.ts → useChannelAccessControlActions
channels/src/hooks/useChannelSystemPolicies.ts → useChannelSystemPolicies
channels/src/hooks/useGetCloudPreviewModalContent.ts → useGetCloudPreviewModalContent
channels/src/hooks/useReadout.ts → useReadout
channels/src/plugins/call_button/index.ts → (module scope)
channels/src/plugins/channel_header_plug/index.ts → (module scope)
channels/src/plugins/pluggable/pluggable.tsx → Pluggable
channels/src/plugins/rhs_plugin/index.ts → (module scope)
channels/src/plugins/rhs_plugin/rhs_plugin.tsx → RhsPlugin
channels/src/plugins/useGetPluginsActivationState.ts → useGetPluginsActivationState
channels/src/stores/hooks.ts → useGlobalState
channels/src/utils/popouts/use_popout_title.ts → usePopoutTitle
channels/src/utils/post_utils.ts → usePostAriaLabel
channels/src/utils/products.ts → useCurrentProduct, useCurrentProductId, useProducts
55% @testing-library/jest-dom (368/673 fns run, 305 never run, 1 file(s) never loaded) · e.g. F, _arrayLikeToArray, _arrayWithHoles, _createForOfIteratorHelper…
56% date-fns (1939/3434 fns run, 1495 never run, 12 file(s) never loaded) · e.g. B, D, DateToSystemTimezoneSetter, E…
channels/src/packages/mattermost-redux/src/utils/integration_utils.ts → resolveBoundToDate, validateDateTimeValue
channels/src/utils/date_utils.ts → dateToString, momentToString, resolveRelativeDate, stringToDate, stringToMoment
57% simplebar-react (100/174 fns run, 74 never run) · e.g. __assign, _onMouseEntered, _onStopScrolling, _onWindowResize…
channels/src/components/common/scrollbars.tsx → (anonymous)
57% localforage-observable (37/65 fns run, 28 never run) · e.g. complete, destroy, error, getItemObservable…
channels/src/store/index.ts → (module scope)
57% smooth-scroll-into-view-if-needed (35/61 fns run, 26 never run) · e.g. e, l, method, n…
channels/src/components/common/auto_height_switcher.tsx → (anonymous)
64% redux (69/107 fns run, 38 never run) · e.g. __DO_NOT_USE__ActionTypes, ctorName, dispatch, formatProdErrorMessage…
channels/src/components/access_history_modal/index.ts → mapDispatchToProps
channels/src/components/actions_menu/index.ts → mapDispatchToProps
channels/src/components/activity_log_modal/index.ts → mapDispatchToProps
channels/src/components/add_groups_to_channel_modal/index.ts → mapDispatchToProps
channels/src/components/add_groups_to_team_modal/index.ts → mapDispatchToProps
channels/src/components/add_user_to_channel_modal/index.ts → mapDispatchToProps
channels/src/components/add_user_to_group_multiselect/index.ts → mapDispatchToProps
channels/src/components/add_users_to_group_modal/index.ts → mapDispatchToProps
channels/src/components/add_users_to_team_modal/index.ts → mapDispatchToProps
channels/src/components/admin_console/access_control/index.ts → mapDispatchToProps
channels/src/components/admin_console/access_control/jobs/index.ts → mapDispatchToProps
channels/src/components/admin_console/access_control/policy_details/channel_list/index.ts → mapDispatchToProps
channels/src/components/admin_console/access_control/policy_details/index.ts → mapDispatchToProps
channels/src/components/admin_console/admin_navbar_dropdown/index.ts → mapDispatchToProps
channels/src/components/admin_console/admin_sidebar/index.ts → mapDispatchToProps
channels/src/components/admin_console/audits/index.ts → mapDispatchToProps
channels/src/components/admin_console/blockable_button/index.ts → mapDispatchToProps
channels/src/components/admin_console/blockable_link/index.ts → mapDispatchToProps
channels/src/components/admin_console/compliance_reports/index.ts → mapDispatchToProps
channels/src/components/admin_console/custom_terms_of_service_settings/index.ts → mapDispatchToProps
channels/src/components/admin_console/data_retention_settings/channel_list/index.ts → mapDispatchToProps
channels/src/components/admin_console/data_retention_settings/custom_policy_form/index.ts → mapDispatchToProps
channels/src/components/admin_console/data_retention_settings/global_policy_form/index.ts → mapDispatchToProps
channels/src/components/admin_console/data_retention_settings/index.ts → mapDispatchToProps
channels/src/components/admin_console/data_retention_settings/team_list/index.ts → mapDispatchToProps
channels/src/components/admin_console/database/index.tsx → mapDispatchToProps
channels/src/components/admin_console/feature_discovery/index.tsx → mapDispatchToProps
channels/src/components/admin_console/group_settings/group_details/index.ts → mapDispatchToProps
channels/src/components/admin_console/group_settings/groups_list/index.ts → mapDispatchToProps
channels/src/components/admin_console/index.ts → mapDispatchToProps
channels/src/components/admin_console/jobs/index.tsx → mapDispatchToProps
channels/src/components/admin_console/license_settings/index.ts → mapDispatchToProps
channels/src/components/admin_console/manage_roles_modal/index.ts → mapDispatchToProps
channels/src/components/admin_console/manage_teams_modal/index.tsx → mapDispatchToProps
channels/src/components/admin_console/manage_tokens_modal/index.ts → mapDispatchToProps
channels/src/components/admin_console/member_list_group/index.ts → mapDispatchToProps
channels/src/components/admin_console/openid_convert/index.ts → mapDispatchToProps
channels/src/components/admin_console/permission_policies/index.ts → mapDispatchToProps
channels/src/components/admin_console/permission_policies/policy_details/index.ts → mapDispatchToProps
channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_modal/index.tsx → mapDispatchToProps
channels/src/components/admin_console/permission_schemes_settings/index.tsx → mapDispatchToProps
channels/src/components/admin_console/permission_schemes_settings/permission_system_scheme_settings/index.tsx → mapDispatchToProps
channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/index.tsx → mapDispatchToProps
channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/index.tsx → mapDispatchToProps
channels/src/components/admin_console/permission_schemes_settings/permissions_scheme_summary/index.tsx → mapDispatchToProps
channels/src/components/admin_console/plugin_management/index.tsx → mapDispatchToProps
channels/src/components/admin_console/reset_email_modal/index.ts → mapDispatchToProps
channels/src/components/admin_console/reset_password_modal/index.ts → mapDispatchToProps
channels/src/components/admin_console/revoke_token_button/index.ts → mapDispatchToProps
channels/src/components/admin_console/server_logs/index.ts → mapDispatchToProps
channels/src/components/admin_console/system_roles/system_role/add_users_to_role_modal/index.tsx → mapDispatchToProps
channels/src/components/admin_console/system_roles/system_role/index.tsx → mapDispatchToProps
channels/src/components/admin_console/system_roles/system_role/system_role_users/index.tsx → mapDispatchToProps
channels/src/components/admin_console/system_user_detail/team_list/index.ts → mapDispatchToProps
channels/src/components/admin_console/team_channel_settings/channel/details/channel_members/index.ts → mapDispatchToProps
channels/src/components/admin_console/team_channel_settings/channel/details/index.ts → mapDispatchToProps
channels/src/components/admin_console/team_channel_settings/channel/list/index.ts → mapDispatchToProps
channels/src/components/admin_console/team_channel_settings/group/group_users/index.ts → mapDispatchToProps
channels/src/components/admin_console/team_channel_settings/team/details/index.ts → mapDispatchToProps
channels/src/components/admin_console/team_channel_settings/team/details/team_members/index.ts → mapDispatchToProps
channels/src/components/admin_console/team_channel_settings/team/list/index.ts → mapDispatchToProps
channels/src/components/admin_console/user_autocomplete_setting/index.tsx → mapDispatchToProps
channels/src/components/analytics/team_analytics/index.ts → mapDispatchToProps
channels/src/components/announcement_bar/cloud_trial_announcement_bar/index.ts → mapDispatchToProps
channels/src/components/announcement_bar/configuration_bar/index.ts → mapDispatchToProps
channels/src/components/announcement_bar/default_announcement_bar/index.ts → mapDispatchToProps
channels/src/components/announcement_bar/index.ts → mapDispatchToProps
channels/src/components/apps_form/apps_form_field/index.ts → mapDispatchToProps
channels/src/components/apps_form/index.ts → mapDispatchToProps
channels/src/components/audit_table/index.ts → mapDispatchToProps
channels/src/components/authorize/index.ts → mapDispatchToProps
channels/src/components/browse_channels/index.ts → mapDispatchToProps
channels/src/components/channel_groups_manage_modal/index.ts → mapDispatchToProps
channels/src/components/channel_header/index.ts → mapDispatchToProps
channels/src/components/channel_info_rhs/index.ts → mapDispatchToProps
channels/src/components/channel_invite_modal/index.ts → mapDispatchToProps
channels/src/components/channel_layout/center_channel/index.ts → mapDispatchToProps
channels/src/components/channel_layout/channel_identifier_router/index.ts → mapDispatchToProps
channels/src/components/channel_members_dropdown/index.ts → mapDispatchToProps
channels/src/components/channel_members_modal/index.ts → mapDispatchToProps
channels/src/components/channel_members_rhs/index.ts → mapDispatchToProps
channels/src/components/channel_notifications_modal/index.ts → mapDispatchToProps
channels/src/components/channel_selector_modal/index.ts → mapDispatchToProps
channels/src/components/claim/index.ts → mapDispatchToProps
channels/src/components/convert_channel_modal/index.ts → mapDispatchToProps
channels/src/components/convert_gm_to_channel_modal/index.ts → mapDispatchToProps
channels/src/components/create_team/components/create_team_form/index.ts → mapDispatchToProps
channels/src/components/create_user_groups_modal/index.ts → mapDispatchToProps
channels/src/components/data_prefetch/index.ts → mapDispatchToProps
channels/src/components/delete_category_modal/index.ts → mapDispatchToProps
channels/src/components/delete_channel_modal/index.ts → mapDispatchToProps
channels/src/components/delete_post_modal/index.ts → mapDispatchToProps
channels/src/components/dialog_router/index.ts → mapDispatchToProps
channels/src/components/dnd_custom_time_picker_modal/index.ts → mapDispatchToProps
channels/src/components/dot_menu/index.ts → mapDispatchToProps
channels/src/components/edit_category_modal/index.ts → mapDispatchToProps
channels/src/components/edit_channel_header_modal/index.ts → mapDispatchToProps
channels/src/components/edit_channel_purpose_modal/index.tsx → mapDispatchToProps
channels/src/components/edit_scheduled_post/index.ts → mapDispatchToProps
channels/src/components/emoji_picker/index.ts → mapDispatchToProps
channels/src/components/emoji/add_emoji/index.ts → mapDispatchToProps
channels/src/components/emoji/emoji_list_item/index.ts → mapDispatchToProps
channels/src/components/emoji/emoji_list/index.ts → mapDispatchToProps
channels/src/components/emoji/index.ts → mapDispatchToProps
channels/src/components/file_attachment_list/index.ts → mapDispatchToProps
channels/src/components/file_attachment/index.ts → mapDispatchToProps
channels/src/components/file_preview/index.ts → mapDispatchToProps
channels/src/components/file_search_results/index.tsx → mapDispatchToProps
channels/src/components/file_upload/index.ts → mapDispatchToProps
channels/src/components/get_public_link_modal/index.ts → mapDispatchToProps
channels/src/components/global_header/center_controls/user_guide_dropdown/index.ts → mapDispatchToProps
channels/src/components/global_header/left_controls/product_menu/product_menu_list/index.ts → mapDispatchToProps
channels/src/components/global_header/right_controls/settings_button/index.ts → mapDispatchToProps
channels/src/components/integrations/add_command/index.ts → mapDispatchToProps
channels/src/components/integrations/add_incoming_webhook/index.ts → mapDispatchToProps
channels/src/components/integrations/add_oauth_app/index.ts → mapDispatchToProps
channels/src/components/integrations/add_outgoing_webhook/index.ts → mapDispatchToProps
channels/src/components/integrations/bots/add_bot/index.ts → mapDispatchToProps
channels/src/components/integrations/bots/index.ts → mapDispatchToProps
channels/src/components/integrations/commands_container/index.ts → mapDispatchToProps
channels/src/components/integrations/edit_command/index.ts → mapDispatchToProps
channels/src/components/integrations/edit_incoming_webhook/index.ts → mapDispatchToProps
channels/src/components/integrations/edit_oauth_app/index.ts → mapDispatchToProps
channels/src/components/integrations/edit_outgoing_webhook/index.ts → mapDispatchToProps
channels/src/components/integrations/installed_commands/index.ts → mapDispatchToProps
channels/src/components/integrations/installed_incoming_webhooks/index.ts → mapDispatchToProps
channels/src/components/integrations/installed_oauth_apps/index.ts → mapDispatchToProps
channels/src/components/integrations/installed_outgoing_webhooks/index.ts → mapDispatchToProps
channels/src/components/intl_provider/index.tsx → mapDispatchToProps
channels/src/components/invitation_modal/index.tsx → mapDispatchToProps
channels/src/components/leave_channel_modal/index.ts → mapDispatchToProps
channels/src/components/leave_team_modal/index.ts → mapDispatchToProps
channels/src/components/logged_in/index.ts → mapDispatchToProps
channels/src/components/markdown_image/index.ts → mapDispatchToProps
channels/src/components/member_list_channel/index.ts → mapDispatchToProps
channels/src/components/member_list_team/index.ts → mapDispatchToProps
channels/src/components/mfa/setup/index.ts → mapDispatchToProps
channels/src/components/mobile_channel_header/channel_info_button/index.ts → mapDispatchToProps
channels/src/components/mobile_channel_header/collapse_lhs_button/index.ts → mapDispatchToProps
channels/src/components/mobile_channel_header/collapse_rhs_button/index.ts → mapDispatchToProps
channels/src/components/mobile_channel_header/index.ts → mapDispatchToProps
channels/src/components/mobile_channel_header/show_search_button/index.ts → mapDispatchToProps
channels/src/components/mobile_channel_header/unmute_channel_button/index.ts → mapDispatchToProps
channels/src/components/mobile_sidebar_right/mobile_sidebar_right_items/index.tsx → mapDispatchToProps
channels/src/components/modal_controller/index.ts → mapDispatchToProps
channels/src/components/more_direct_channels/index.ts → mapDispatchToProps
channels/src/components/more_direct_channels/list_item/user_details/index.ts → mapDispatchToProps
channels/src/components/move_thread_modal/index.ts → mapDispatchToProps
channels/src/components/new_replies_banner/index.ts → mapDispatchToProps
channels/src/components/password_reset_form/index.ts → mapDispatchToProps
channels/src/components/password_reset_send_link/index.ts → mapDispatchToProps
channels/src/components/permalink_view/index.ts → mapDispatchToProps
channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_app/index.ts → mapDispatchToProps
channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_plugin/index.ts → mapDispatchToProps
channels/src/components/post_edit_history/edited_post_item/index.ts → mapDispatchToProps
channels/src/components/post_reminder_custom_time_picker_modal/index.ts → mapDispatchToProps
channels/src/components/post_view/channel_intro_message/index.ts → mapDispatchToProps
channels/src/components/post_view/combined_system_message/index.ts → mapDispatchToProps
channels/src/components/post_view/embedded_bindings/button_binding/index.ts → mapDispatchToProps
channels/src/components/post_view/embedded_bindings/select_binding/index.ts → mapDispatchToProps
channels/src/components/post_view/failed_post_options/index.ts → mapDispatchToProps
channels/src/components/post_view/message_attachments/message_attachment/index.ts → mapDispatchToProps
channels/src/components/post_view/post_add_channel_member/index.ts → mapDispatchToProps
channels/src/components/post_view/post_attachment_opengraph/index.ts → mapDispatchToProps
channels/src/components/post_view/post_body_additional_content/index.ts → mapDispatchToProps
channels/src/components/post_view/post_edited_indicator/index.ts → mapDispatchToProps
channels/src/components/post_view/post_flag_icon/index.ts → mapDispatchToProps
channels/src/components/post_view/post_image/index.ts → mapDispatchToProps
channels/src/components/post_view/post_list_row/index.ts → mapDispatchToProps
channels/src/components/post_view/post_list/index.tsx → mapDispatchToProps
channels/src/components/post_view/post_message_preview/index.ts → mapDispatchToProps
channels/src/components/post_view/post_pre_header/index.ts → mapDispatchToProps
channels/src/components/post_view/post_reaction/index.ts → mapDispatchToProps
channels/src/components/post_view/post_recent_reactions/index.ts → mapDispatchToProps
channels/src/components/post_view/reaction_list/index.ts → mapDispatchToProps
channels/src/components/post_view/reaction/index.ts → mapDispatchToProps
channels/src/components/post/index.tsx → mapDispatchToProps
channels/src/components/preparing_workspace/index.tsx → mapDispatchToProps
channels/src/components/product_notices_modal/index.tsx → mapDispatchToProps
channels/src/components/quick_switch_modal/index.tsx → mapDispatchToProps
channels/src/components/rename_channel_modal/index.ts → mapDispatchToProps
channels/src/components/reset_status_modal/index.ts → mapDispatchToProps
channels/src/components/rhs_card_header/index.tsx → mapDispatchToProps
channels/src/components/root/index.ts → mapDispatchToProps
channels/src/components/root/root_redirect/index.ts → mapDispatchToProps
channels/src/components/search_results_header/index.tsx → mapDispatchToProps
channels/src/components/search/index.tsx → mapDispatchToProps
channels/src/components/select_team/index.ts → mapDispatchToProps
channels/src/components/sidebar_right/index.ts → mapDispatchToProps
channels/src/components/sidebar/channel_filter/index.ts → mapDispatchToProps
channels/src/components/sidebar/channel_navigator/index.ts → mapDispatchToProps
channels/src/components/sidebar/index.ts → mapDispatchToProps
channels/src/components/sidebar/sidebar_category/index.ts → mapDispatchToProps
channels/src/components/sidebar/sidebar_channel/sidebar_base_channel/index.ts → mapDispatchToProps
channels/src/components/sidebar/sidebar_channel/sidebar_channel_link/index.ts → mapDispatchToProps
channels/src/components/sidebar/sidebar_channel/sidebar_direct_channel/index.ts → mapDispatchToProps
channels/src/components/sidebar/sidebar_channel/sidebar_group_channel/index.ts → mapDispatchToProps
channels/src/components/sidebar/sidebar_list/index.ts → mapDispatchToProps
channels/src/components/single_image_view/index.ts → mapDispatchToProps
channels/src/components/suggestion/suggestion_box/index.js → mapDispatchToProps
channels/src/components/system_notice/index.ts → mapDispatchToProps
channels/src/components/team_groups_manage_modal/index.ts → mapDispatchToProps
channels/src/components/team_members_dropdown/index.ts → mapDispatchToProps
channels/src/components/team_members_modal/index.ts → mapDispatchToProps
channels/src/components/team_selector_modal/index.ts → mapDispatchToProps
channels/src/components/team_settings/team_access_policies_tab/index.ts → mapDispatchToProps
channels/src/components/team_settings/team_access_tab/index.ts → mapDispatchToProps
channels/src/components/team_settings/team_info_tab/index.ts → mapDispatchToProps
channels/src/components/team_sidebar/index.ts → mapDispatchToProps
channels/src/components/terms_of_service/index.ts → mapDispatchToProps
channels/src/components/textbox/index.ts → mapDispatchToProps
channels/src/components/threading/thread_viewer/index.ts → mapDispatchToProps
channels/src/components/toast_wrapper/index.ts → mapDispatchToProps
channels/src/components/unarchive_channel_modal/index.ts → mapDispatchToProps
channels/src/components/update_user_group_modal/index.ts → mapDispatchToProps
channels/src/components/user_account_menu/index.ts → mapDispatchToProps
channels/src/components/user_group_popover/group_member_list/index.ts → mapDispatchToProps
channels/src/components/user_groups_modal/index.ts → mapDispatchToProps
channels/src/components/user_groups_modal/user_groups_list/index.ts → mapDispatchToProps
channels/src/components/user_profile/index.ts → mapDispatchToProps
channels/src/components/user_settings/advanced/index.ts → mapDispatchToProps
channels/src/components/user_settings/advanced/join_leave_section/index.ts → mapDispatchToProps
channels/src/components/user_settings/display/index.ts → mapDispatchToProps
channels/src/components/user_settings/display/manage_languages/index.ts → mapDispatchToProps
channels/src/components/user_settings/display/manage_timezones/index.ts → mapDispatchToProps
channels/src/components/user_settings/display/render_emoticons_as_emoji/index.ts → mapDispatchToProps
channels/src/components/user_settings/display/user_settings_theme/index.ts → mapDispatchToProps
channels/src/components/user_settings/general/index.ts → mapDispatchToProps
channels/src/components/user_settings/modal/index.ts → mapDispatchToProps
channels/src/components/user_settings/notifications/email_notification_setting/index.ts → mapDispatchToProps
channels/src/components/user_settings/security/index.ts → mapDispatchToProps
channels/src/components/user_settings/security/mfa_section/index.ts → mapDispatchToProps
channels/src/components/user_settings/security/user_access_token_section/index.ts → mapDispatchToProps
channels/src/components/view_user_group_modal/index.ts → mapDispatchToProps
channels/src/components/view_user_group_modal/view_user_group_header_sub_menu/index.ts → mapDispatchToProps
channels/src/components/view_user_group_modal/view_user_group_list_item/index.ts → mapDispatchToProps
channels/src/components/view_user_group_modal/view_user_group_modal_header/index.ts → mapDispatchToProps
channels/src/packages/mattermost-redux/src/reducers/entities/admin.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/agents.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/apps.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/bots.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/channel_bookmarks.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/channel_categories.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/channels.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/cloud.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/content_flagging.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/emojis.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/files.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/general.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/groups.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/hosted_customer.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/index.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/integrations.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/jobs.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/limits.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/preferences.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/properties.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/roles.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/scheduled_posts.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/schemes.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/search.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/shared_channels.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/teams.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/entities/users.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/admin.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/channels.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/files.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/general.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/index.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/posts.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/roles.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/search.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/teams.ts → (module scope)
channels/src/packages/mattermost-redux/src/reducers/requests/users.ts → (module scope)
channels/src/packages/mattermost-redux/src/store/configureStore.ts → configureStore
channels/src/packages/mattermost-redux/src/store/helpers.ts → createReducer
channels/src/plugins/channel_header_plug/index.ts → mapDispatchToProps
channels/src/reducers/plugins/index.ts → (module scope)
channels/src/reducers/storage.ts → (module scope)
channels/src/reducers/views/admin.ts → (module scope)
channels/src/reducers/views/announcement_bar.ts → (module scope)
channels/src/reducers/views/browser.ts → (module scope)
channels/src/reducers/views/channel_selector_modal.ts → (module scope)
channels/src/reducers/views/channel_sidebar.ts → (module scope)
channels/src/reducers/views/channel.ts → (module scope)
channels/src/reducers/views/drafts.ts → (module scope)
channels/src/reducers/views/emoji.ts → (module scope)
channels/src/reducers/views/i18n.ts → (module scope)
channels/src/reducers/views/index.ts → (module scope)
channels/src/reducers/views/lhs.ts → (module scope)
channels/src/reducers/views/marketplace.ts → (module scope)
channels/src/reducers/views/modals.ts → (module scope)
channels/src/reducers/views/notice.ts → (module scope)
channels/src/reducers/views/onboarding_tasks.ts → (module scope)
channels/src/reducers/views/posts.ts → (module scope)
channels/src/reducers/views/product_menu.ts → (module scope)
channels/src/reducers/views/rhs.ts → (module scope)
channels/src/reducers/views/search.ts → (module scope)
channels/src/reducers/views/system.ts → (module scope)
channels/src/reducers/views/textbox.ts → (module scope)
channels/src/reducers/views/threads.ts → (module scope)
66% react-overlays (262/395 fns run, 133 never run) · e.g. Affix, AutoAffix, Moz, O…
channels/src/plugins/channel_header_plug/channel_header_plug.tsx → render
67% moment-timezone (38/57 fns run, 19 never run) · e.g. OffsetAt, ZoneScore, countries, findChange…
channels/src/components/apps_form/apps_form_component.tsx → (anonymous)
channels/src/components/custom_status/custom_status_modal.tsx → CustomStatusModal, calculateExpiryTime
channels/src/components/custom_status/expiry_time.tsx → ExpiryTime
channels/src/components/datetime_input/datetime_input.tsx → (anonymous), getRoundedTime, getTimeInIntervals, handleDayChange
channels/src/components/timestamp/timestamp.tsx → formatLabel, formatParts
channels/src/packages/mattermost-redux/src/utils/post_list.ts → pushPostDateIfNeeded
channels/src/selectors/views/custom_status.ts → isCustomStatusExpired
channels/src/utils/datetime.ts → getDiff, isWithinLastWeek, relativeFormatDate
channels/src/utils/timezone.ts → getBrowserUtcOffset, getCurrentDateForTimezone, getCurrentDateTimeForTimezone, getCurrentMomentForTimezone, getUtcOffsetForTimeZone, isValidTimezone, parseDateInTimezone
67% color-contrast-checker (16/24 fns run, 8 never run) · e.g. checkPairs, convertColorToSixDigit, isLevelAA, isLevelAAA…
channels/src/components/user_profile/utils.ts → generateColor
70% @floating-ui/react-dom (256/368 fns run, 112 never run, 1 file(s) never loaded) · e.g. a, expandPaddingObject, fn, frameLoop…
channels/src/components/onboarding_tasklist/onboarding_tasklist_popover.tsx → TaskListPopover
70% prop-types (44/63 fns run, 19 never run) · e.g. checkPropTypes, createObjectOfTypeChecker, createStrictShapeTypeChecker, emptyFunction…
channels/src/components/suggestion/suggestion_box/suggestion_box.jsx → (module scope)
71% color-hash (25/35 fns run, 10 never run) · e.g. BKDRHash, HmacSha2562, array, arrayBuffer…
channels/src/components/user_profile/utils.ts → generateColor
71% memoize-one (10/14 fns run, 4 never run) · e.g. clear, ponyfill
channels/src/components/admin_console/access_control/policy_details/channel_list/index.ts → makeMapStateToProps
channels/src/components/dynamic_virtualized_list/index.tsx → (module scope)
channels/src/components/post_markdown/post_markdown.tsx → (module scope)
channels/src/utils/emoji.ts → (module scope)
79% @testing-library/react (68/86 fns run, 18 never run, 1 file(s) never loaded) · e.g. configure, createLegacyRoot, debug, get…
platform/shared/src/testing/react_testing_utils.tsx → renderHookWithContext, renderWithContext
84% react-window-infinite-loader (38/45 fns run, 7 never run) · e.g. _loadUnloadedRanges, _loop, isRangeVisible, resetloadMoreItemsCache
channels/src/components/channel_members_rhs/member_list.tsx → (anonymous)
channels/src/components/emoji_picker/components/emoji_picker_current_results.tsx → (anonymous)
channels/src/components/threading/global_threads/thread_list/virtualized_thread_list.tsx → (anonymous)
channels/src/components/user_group_popover/group_member_list/group_member_list.tsx → (anonymous)
channels/src/components/user_groups_modal/user_groups_list/user_groups_list.tsx → UserGroupsList
… +7 more (full set in coverage-report.json)
NEVER LOADED by any test (4) — extracted but unexercised, so covtrim can't classify their code:
@giphy/js-fetch-api, @mattermost/calls-common, @mattermost/desktop-api, @mui/base
# Test-writing task — close chainstrip coverage gaps for webapp You are an expert test author. Write tests that exercise the dependencies below by testing **this project's own functions that call them**. The goal is **attack surface removed — safely**. Each dep is tagged by exactly what a test buys, and the list is ordered by payoff: - **UNLOCK <size>** — the dep ships whole or under weaker evidence today (no test loads it, or covtrim's trim rolled back). A test lets chainstrip measure/remove it: NEW surface reduction. These are the biggest wins. - **CLASSIFY <size>** — functions reachable from your imports that no test ever executed. A test converts unknown risk into truth: what it executes is proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. Safety value, not bytes. - **FIRM UP <size>** — chainstrip already shipped stubs on reachable-but-unexecuted functions (aggressive mode). A test on those paths retires the false-dead risk (or catches the live one before production does). De-risking, not new bytes. ## How to write the tests - Test runner: **jest** (`npm run test --`). Match this repo's existing tests — open a neighbouring `*.test.*` first and copy its import style, setup, and mocking. - Do NOT test the dependency's API directly. Test **your** function at the call site listed under each dep — exercising your REAL, used path is what proves the app works without the dependency's unused code. - **DETERMINISM IS THE #1 REQUIREMENT — a flaky test is WORSE than no test.** chainstrip removes a dependency's unexercised functions only if every test that touches that dep passes *repeatably* against the trimmed copy; if a test flakes even once, it REVERTS the removal — so a timing-flaky test will DESTROY eliminations the existing suite already had. Therefore: never use `setTimeout`, arbitrary `await new Promise(r => setTimeout(r,0))`, or any wall-clock wait to let async work "settle." Instead **`await` the real promise**, or **capture synchronously at call time** (e.g. record the argument inside a `sendMail`/handler spy when it is *called*, not after it resolves). If a value is produced asynchronously, await the actual operation — don't guess a delay. - You do NOT need to reach the "never-run functions" listed per dep — chainstrip will remove them *because* they're unexercised. Reaching them keeps them in the artifact. Just cover the path your code genuinely uses, cleanly. (The list is shown only so you recognise which behaviour is already covered vs not.) - Mock only external I/O (network, DB, clock) the way nearby tests do. Every test must assert real behaviour, not just call-and-ignore. - Put each test next to the file under test. Run each file you write multiple times (`npm run test -- <path>`, twice) to confirm it is NOT flaky before moving on. - Do NOT conclude a location can't run under the test runner by reading workspace/config files — two prior sessions skipped valid targets that way. VERIFY empirically (run the runner's list command on your intended path, or run a trivial probe test there); only a verified exclusion counts, and report it as such. Entries below include "Runner evidence" — a traced test that already runs near the call site — when we have it. ## Priority worklist ⚠ = has a live CVE AND is under-tested — do these first. ### 1. ⚠ `marked` — CLASSIFY 4KB — 4KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ 5 live CVEs (HIGH) Runner evidence: `channels/src/components/admin_console/access_control/modals/simulate_access/simulate_access_modal.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `lib/marked.js (14 fns, 4KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/schema_text.tsx` → `SchemaText` - `channels/src/components/formatted_markdown_message.tsx` → `FormattedMarkdownMessage` - `channels/src/utils/markdown/index.ts` → `formatWithRenderer` - `channels/src/utils/markdown/renderer.tsx` → `tablecell` Existing test(s) that load `marked` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+509 more). Currently-unexercised functions in `marked` (context only — chainstrip removes these; do NOT write tests to reach them): `blockquote`, `br`, `code`, `codespan`, `done`, `hr`, `html`, `image`, `inlinelatex`, `link`, `list`, `listitem` … (+8 more). ### 2. `moment` — CLASSIFY 601KB — 601KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/admin_console/billing/billing_subscriptions/cloud_trial_banner.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `moment.js (163 fns, 59KB)`, `locale/sl.js (5 fns, 11KB)`, `locale/cs.js (5 fns, 11KB)`, `locale/ru.js (8 fns, 10KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/billing/billing_subscriptions/cloud_trial_banner.tsx` → `CloudTrialBanner`, `onDismissBanner` - `channels/src/components/admin_console/license_settings/renew_license_card/renew_license_card.tsx` → `RenewLicenseCard` - `channels/src/components/admin_console/license_settings/trial_license_card/trial_license_card.tsx` → `messageBody` - `channels/src/components/admin_console/list_table/elapsed_duration_cell.tsx` → `(anonymous)`, `ElapsedDurationCell` - `channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/scheduled_post_custom_time_modal.tsx` → `(anonymous)`, `ScheduledPostCustomTimeModal` - `channels/src/components/announcement_bar/show_tree_days_left_trial_modal/show_three_days_left_trial_modal.tsx` → `ShowThreeDaysLeftTrialModal` - `channels/src/components/commercial_support_modal/commercial_support_modal.tsx` → `(anonymous)` - `channels/src/components/dnd_custom_time_picker_modal/dnd_custom_time_picker_modal.tsx` → `constructor` - `channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx` → `(anonymous)` - `channels/src/components/trial_benefits_modal/trial_benefits_modal.tsx` → `TrialBenefitsModal` - `channels/src/components/user_account_menu/user_account_dnd_menuitem.tsx` → `getSecondaryLabel`, `handleSubMenuItemClick` - `channels/src/components/user_groups_modal/ad_ldap_upsell_banner.tsx` → `ADLDAPUpsellBanner` - `channels/src/components/widgets/menu/menu_items/menu_cloud_trial.tsx` → `MenuCloudTrial` - `channels/src/selectors/views/threads.ts` → `(anonymous)` - `channels/src/utils/license_utils.ts` → `daysToLicenseExpire`, `isLicenseExpired` - `channels/src/utils/utils.tsx` → `getLocaleDateFromUTC`, `getNextBillingDate` Existing test(s) that load `moment` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+960 more). Currently-unexercised functions in `moment` (context only — chainstrip removes these; do NOT write tests to reach them): `ISO_8601`, `MM`, `RFC_2822`, `abs`, `add$1`, `addSubtract$1`, `as`, `calculateOffset`, `calendar`, `calendar$1`, `checkWeekday`, `chooseLocale` … (+190 more). ### 3. `@tanstack/react-table` — CLASSIFY 300KB — 300KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/admin_console/classification_markings/components/global_classification_indicators.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `build/lib/index.mjs (450 fns, 220KB)`, `build/lib/index.js (255 fns, 81KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/classification_markings/components/classification_levels_table.tsx` → `ClassificationLevelsTable` - `channels/src/components/admin_console/list_table/list_table.tsx` → `(anonymous)` - `channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx` → `SharedChannelRemotesTable` - `channels/src/components/admin_console/system_properties/user_properties_table.tsx` → `UserPropertiesTable` - `channels/src/components/admin_console/system_users/system_users.tsx` → `SystemUsers` Existing test(s) that load `@tanstack/react-table` but don't reach the functions above — **extend these**: `channels/src/components/admin_console/admin_definition_allow_download_logs.test.tsx`, `channels/src/components/admin_console/admin_definition_burn_on_read.test.tsx`, `channels/src/components/admin_console/admin_definition_data_spillage.test.tsx`, `channels/src/components/admin_console/admin_definition_dcr_allowlist.test.tsx`, `channels/src/components/admin_console/admin_definition_enable_testing.test.tsx` … (+70 more). Currently-unexercised functions in `@tanstack/react-table` (context only — chainstrip removes these; do NOT write tests to reach them): `_autoResetExpanded`, `_autoResetPageIndex`, `_getColumnDefs`, `_getPinnedRows`, `_getRowId`, `_queue`, `accessRows`, `accessor`, `accessorFn`, `aggregatedCell`, `alphanumeric`, `alphanumericCaseSensitive` … (+256 more). ### 4. `date-fns` — CLASSIFY 278KB — 278KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/packages/mattermost-redux/src/utils/emoji_utils.test.ts` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `chainstrip-chunk-DDk1gqh7.cjs (203 fns, 78KB)`, `chainstrip-chunk-BJKofC7e.cjs (129 fns, 46KB)`, `chainstrip-chunk-CRoFvI58.mjs (124 fns, 33KB)`, `chainstrip-chunk-D5SPu-HF.cjs (15 fns, 27KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/packages/mattermost-redux/src/utils/integration_utils.ts` → `resolveBoundToDate`, `validateDateTimeValue` - `channels/src/utils/date_utils.ts` → `dateToString`, `momentToString`, `resolveRelativeDate`, `stringToDate`, `stringToMoment` Existing test(s) that load `date-fns` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/command.test.js`, `channels/src/actions/global_actions.test.ts`, `channels/src/actions/websocket_actions.test.jsx`, `channels/src/components/actions_menu/actions_menu.test.tsx` … (+291 more). Currently-unexercised functions in `date-fns` (context only — chainstrip removes these; do NOT write tests to reach them): `B`, `D`, `DateToSystemTimezoneSetter`, `E`, `G`, `H`, `I`, `K`, `L`, `M`, `O`, `Q` … (+350 more). ### 5. `react-beautiful-dnd` — CLASSIFY 272KB — 272KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/sidebar/sidebar_category/sidebar_category_menu/index.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/react-beautiful-dnd.esm.js (384 fns, 140KB)`, `dist/react-beautiful-dnd.cjs.js (340 fns, 132KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/list_table/list_table.tsx` → `(anonymous)`, `ListTable` - `channels/src/components/sidebar/sidebar_category/sidebar_category.tsx` → `(anonymous)`, `render` - `channels/src/components/sidebar/sidebar_channel/sidebar_channel.tsx` → `SidebarChannel` - `channels/src/components/sidebar/sidebar_list/sidebar_list.tsx` → `render` - `channels/src/components/team_sidebar/components/team_button.tsx` → `TeamButton` - `channels/src/components/team_sidebar/team_sidebar.tsx` → `render` Existing test(s) that load `react-beautiful-dnd` but don't reach the functions above — **extend these**: `channels/src/components/admin_console/admin_definition_allow_download_logs.test.tsx`, `channels/src/components/admin_console/admin_definition_burn_on_read.test.tsx`, `channels/src/components/admin_console/admin_definition_data_spillage.test.tsx`, `channels/src/components/admin_console/admin_definition_dcr_allowlist.test.tsx`, `channels/src/components/admin_console/admin_definition_enable_testing.test.tsx` … (+73 more). Currently-unexercised functions in `react-beautiful-dnd` (context only — chainstrip removes these; do NOT write tests to reach them): `Placeholder`, `RbdInvariant`, `abort`, `add`, `addPlaceholder`, `adjustAdditionsForScrollChanges`, `adjustForSizeLimits`, `animateDrop`, `areLocationsEqual`, `atIndex`, `beforeCapture`, `beforeInitialCapture` … (+300 more). ### 6. `@floating-ui/react` — CLASSIFY 175KB — 175KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/admin_console/access_control/modals/simulate_access/simulate_access_modal.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/floating-ui.react.mjs (137 fns, 98KB)`, `dist/floating-ui.react.umd.js (86 fns, 77KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/access_control/modals/simulate_access/session_attribute_editor.tsx` → `SessionAttributeEditorButton` - `channels/src/components/admin_console/system_users/system_users_filters_popover/index.tsx` → `SystemUsersFilterPopover` - `channels/src/components/advanced_text_editor/formatting_bar/formatting_bar.tsx` → `FormattingBar` - `channels/src/components/advanced_text_editor/use_editor_emoji_picker.tsx` → `useEditorEmojiPicker` - `channels/src/components/channel_header/channel_header_text_popover.tsx` → `ChannelHeaderTextPopover` - `channels/src/components/common/scrollbars.tsx` → `(anonymous)` - `channels/src/components/date_picker/date_picker.tsx` → `DatePicker` - `channels/src/components/emoji_picker/use_emoji_picker.tsx` → `useEmojiPicker` - `channels/src/components/feature_toast/feature_toast.tsx` → `FeatureToast` - `channels/src/components/new_search/new_search.tsx` → `NewSearch` - `channels/src/components/onboarding_tasklist/onboarding_tasklist_popover.tsx` → `TaskListPopover` - `channels/src/components/plugin_link_tooltip/index.tsx` → `PluginLinkTooltip` - `channels/src/components/post_view/acknowledgements/post_acknowledgements.tsx` → `PostAcknowledgements` - `channels/src/components/profile_popover/profile_popover_controller.tsx` → `ProfilePopoverController` - `channels/src/components/user_group_popover/user_group_popover_controller.tsx` → `UserGroupPopoverController` - `channels/src/utils/floating.ts` → `fn` - `platform/shared/src/components/tooltip/with_tooltip.tsx` → `WithTooltip` Existing test(s) that load `@floating-ui/react` but don't reach the functions above — **extend these**: `channels/src/actions/command.test.js`, `channels/src/components/about_build_modal/about_build_modal.test.tsx`, `channels/src/components/actions_menu/actions_menu.test.tsx`, `channels/src/components/actions_menu/actions_menu_mobile.test.tsx`, `channels/src/components/actions_menu/index.test.tsx` … (+417 more). Currently-unexercised functions in `@floating-ui/react` (context only — chainstrip removes these; do NOT write tests to reach them): `Composite`, `CompositeItem`, `FloatingDelayGroup`, `FloatingFocusManager`, `FloatingList`, `FloatingNode`, `FloatingOverlay`, `FloatingTree`, `FocusGuard`, `VisuallyHiddenDismiss`, `addPreviouslyFocusedElement`, `applyAttributeToOthers` … (+129 more). ### 7. `luxon` — CLASSIFY 148KB — 148KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/advanced_text_editor/send_button/send_post_options/core_menu_options.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `src/luxon.js (295 fns, 100KB)`, `build/node/luxon.js (185 fns, 47KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/advanced_text_editor/send_button/send_post_options/core_menu_options.tsx` → `CoreMenuOptions`, `getScheduledTimeInTeammateTimezone` - `channels/src/components/advanced_text_editor/send_button/send_post_options/recent_used_custom_date.tsx` → `RecentUsedCustomDate`, `getDateOption`, `isTimestampWithinLast30Days` - `channels/src/components/advanced_text_editor/use_post_box_indicator.tsx` → `updateTime` - `channels/src/components/profile_popover/profile_popover_timezone.tsx` → `ProfileTimezone`, `TimeZoneDifference` - `channels/src/components/root/luxon_controller.tsx` → `(anonymous)` - `channels/src/components/timestamp/semantic_time.tsx` → `SemanticTime` - `channels/src/utils/datetime.ts` → `relativeFormatDate` - `channels/src/utils/remote_cluster_connection.ts` → `isRemoteClusterConnected` Existing test(s) that load `luxon` but don't reach the functions above — **extend these**: `channels/src/actions/command.test.js`, `channels/src/components/actions_menu/actions_menu.test.tsx`, `channels/src/components/actions_menu/actions_menu_mobile.test.tsx`, `channels/src/components/actions_menu/index.test.tsx`, `channels/src/components/add_user_to_group_multiselect/add_user_to_group_multiselect.test.tsx` … (+216 more). Currently-unexercised functions in `luxon` (context only — chainstrip removes these; do NOT write tests to reach them): `DATETIME_FULL`, `DATETIME_FULL_WITH_SECONDS`, `DATETIME_HUGE`, `DATETIME_HUGE_WITH_SECONDS`, `DATETIME_MED`, `DATETIME_MED_WITH_SECONDS`, `DATETIME_MED_WITH_WEEKDAY`, `DATETIME_SHORT`, `DATETIME_SHORT_WITH_SECONDS`, `DATE_FULL`, `DATE_HUGE`, `DATE_MED` … (+335 more). ### 8. `css-vars-ponyfill` — CLASSIFY 142KB — 142KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/utils/message_html_to_component.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/css-vars-ponyfill.esm.js (127 fns, 82KB)`, `dist/css-vars-ponyfill.js (25 fns, 60KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/utils/utils.tsx` → `applyTheme` Existing test(s) that load `css-vars-ponyfill` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+461 more). Currently-unexercised functions in `css-vars-ponyfill` (context only — chainstrip removes these; do NOT write tests to reach them): `_extends`, `_import`, `addMutationObserver`, `at_custom_m`, `at_document`, `at_fontface`, `at_host`, `at_keyframes`, `at_media`, `at_page`, `at_page_margin_box`, `at_rule` … (+75 more). ### 9. `lodash` — CLASSIFY 134KB — 134KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/admin_console/access_control/policy_details/channel_list/channel_list.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `lodash.js (436 fns, 120KB)`, `chainstrip-chunk-8wmSxfu6.cjs (14 fns, 3KB)`, `merge.js (4 fns, 2KB)`, `remove.js (5 fns, 2KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/access_control/policy_details/channel_list/channel_list.tsx` → `componentDidUpdate`, `constructor` - `channels/src/components/admin_console/access_control/policy_details/policy_details.tsx` → `(anonymous)` - `channels/src/components/admin_console/admin_sidebar/admin_sidebar.tsx` → `componentDidUpdate` - `channels/src/components/admin_console/billing/billing_subscriptions/cloud_trial_banner.tsx` → `CloudTrialBanner` - `channels/src/components/admin_console/data_retention_settings/channel_list/channel_list.tsx` → `componentDidUpdate` - `channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels_row.tsx` → `(anonymous)` - `channels/src/components/admin_console/search_keyword_marking.tsx` → `(anonymous)` - `channels/src/components/admin_console/system_properties/user_properties_utils.ts` → `beforeUpdate`, `byNamesLower`, `commit` - `channels/src/components/admin_console/system_roles/system_role/system_role.tsx` → `(anonymous)` - `channels/src/components/admin_console/team_channel_settings/channel/details/channel_details.tsx` → `(anonymous)` - `channels/src/components/admin_console/team_channel_settings/channel/details/channel_moderation.tsx` → `(anonymous)`, `ChannelModerationTableRow` - `channels/src/components/admin_console/team_channel_settings/team/details/team_details.tsx` → `(anonymous)` - `channels/src/components/advanced_text_editor/formatting_bar/hooks.tsx` → `(anonymous)` - `channels/src/components/announcement_bar/payment_announcement_bar/index.tsx` → `(anonymous)`, `PaymentAnnouncementBar` - `channels/src/components/app_bar/app_bar.tsx` → `AppBar` - `channels/src/components/channel_invite_modal/channel_invite_modal.tsx` → `(anonymous)` - `channels/src/components/channel_members_rhs/channel_members_rhs.tsx` → `ChannelMembersRHS` - `channels/src/components/common/hocs/cloud/with_get_cloud_subscription.tsx` → `componentDidMount` - `channels/src/components/drafts/draft_actions/delete_draft_modal.tsx` → `DeleteDraftModal` - `channels/src/components/drafts/draft_actions/schedule_post_actions/delete_scheduled_post_modal.tsx` → `DeleteScheduledPostModal` - `channels/src/components/drafts/draft_list/virtualized_draft_list.tsx` → `(anonymous)` - `channels/src/components/drafts/draft_row.tsx` → `DraftRow` - `channels/src/components/drafts/scheduled_post_list/virtualized_scheduled_post_list.tsx` → `(anonymous)` - `channels/src/components/emoji_picker/components/emoji_picker_current_results.tsx` → `(anonymous)` - `channels/src/components/emoji_picker/components/emoji_picker_item.tsx` → `(anonymous)` - `channels/src/components/emoji_picker/emoji_picker.tsx` → `EmojiPicker` - `channels/src/components/emoji_picker/utils/index.ts` → `createCategoryAndEmojiRows` - `channels/src/components/file_preview_modal/popover_bar/popover_bar.tsx` → `render` - `channels/src/components/integrations/outgoing_oauth_connections/oauth_connection_audience_input.tsx` → `(anonymous)` - `channels/src/components/login/login.tsx` → `Login` - `channels/src/components/menu/menu_item.tsx` → `handleClick` - `channels/src/components/pdf_preview.tsx` → `(anonymous)` - `channels/src/components/plugin_marketplace/marketplace_modal.tsx` → `MarketplaceModal` - `channels/src/components/post_view/message_attachments/message_attachment/message_attachment.tsx` → `render` - `channels/src/components/root/index.ts` → `mapStateToProps` - `channels/src/components/signup/signup.tsx` → `Signup` - `channels/src/components/team_settings/team_access_policies_tab/team_policy_editor.tsx` → `(anonymous)` - `channels/src/components/threading/global_threads/global_threads.tsx` → `GlobalThreads` - `channels/src/components/threading/global_threads/thread_list/thread_list.tsx` → `ThreadList` - `channels/src/components/timestamp/timestamp.tsx` → `formatRelative`, `isUnitDescriptor` - `channels/src/components/user_group_popover/user_group_popover.tsx` → `UserGroupPopover` - `channels/src/components/window_size_observer/WindowSizeObserver.tsx` → `WindowSizeObserver` - `channels/src/packages/mattermost-redux/src/actions/threads.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/reducers/entities/channels.ts` → `receiveChannelMember`, `roles`, `stats` - `channels/src/packages/mattermost-redux/src/reducers/entities/users.ts` → `receiveUserProfile` - `channels/src/packages/mattermost-redux/src/selectors/entities/channels.ts` → `(anonymous)` - `channels/src/reducers/plugins/index.ts` → `components` - `channels/src/reducers/views/threads.ts` → `selectedThreadIdInTeam` - `channels/src/selectors/admin_console.jsx` → `(anonymous)` - `channels/src/utils/func.ts` → `(anonymous)` - `channels/src/utils/paste.tsx` → `pasteHandler` - `channels/src/utils/utils.tsx` → `isTextSelectedInPostOrReply` - `platform/components/src/common/hooks/useMeasurePunchouts.ts` → `useMeasurePunchouts` Existing test(s) that load `lodash` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/burn_on_read_deletion.test.ts`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js` … (+1000 more). Currently-unexercised functions in `lodash` (context only — chainstrip removes these; do NOT write tests to reach them): `LazyWrapper`, `ListCache`, `LodashWrapper`, `SetCache`, `Stack`, `after`, `arrayAggregator`, `arrayEachRight`, `arrayEvery`, `arrayIncludes`, `arrayIncludesWith`, `arrayLikeKeys` … (+403 more). ### 10. `react-day-picker` — CLASSIFY 93KB — 93KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/suggestion/suggestion_box/suggestion_box.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/index.esm.js (122 fns, 71KB)`, `dist/index.js (30 fns, 22KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/date_picker/date_picker.tsx` → `DatePicker` - `channels/src/components/suggestion/search_date_suggestion/search_date_suggestion.tsx` → `SearchDateSuggestion` Existing test(s) that load `react-day-picker` but don't reach the functions above — **extend these**: `channels/src/actions/command.test.js`, `channels/src/components/actions_menu/actions_menu.test.tsx`, `channels/src/components/actions_menu/actions_menu_mobile.test.tsx`, `channels/src/components/actions_menu/index.test.tsx`, `channels/src/components/add_user_to_group_multiselect/add_user_to_group_multiselect.test.tsx` … (+200 more). Currently-unexercised functions in `react-day-picker` (context only — chainstrip removes these; do NOT write tests to reach them): `Caption`, `CaptionDropdowns`, `CaptionLabel`, `CaptionNavigation`, `Day`, `DayContent`, `DayPicker`, `DayPickerProvider`, `Dropdown`, `FocusProvider`, `Footer`, `Head` … (+121 more). ### 11. `@atlaskit/pragmatic-drag-and-drop` — CLASSIFY 66KB — 66KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/channel_bookmarks/hooks/use_keyboard_reorder.test.ts` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `chainstrip-chunk-DpHiGrRd.cjs (70 fns, 54KB)`, `dist/cjs/entry-point/element/set-custom-native-drag-preview.js (2 fns, 4KB)`, `chainstrip-chunk-eU7LlN4C.cjs (9 fns, 3KB)`, `dist/cjs/entry-point/prevent-unhandled.js (4 fns, 3KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/channel_bookmarks/bookmarks_bar_menu.tsx` → `(anonymous)` - `channels/src/components/channel_bookmarks/hooks/use_bookmark_drag_drop.ts` → `(anonymous)`, `onDragStart`, `onDrop`, `onGenerateDragPreview` - `channels/src/components/channel_bookmarks/hooks/use_bookmarks_dnd.ts` → `(anonymous)` Existing test(s) that load `@atlaskit/pragmatic-drag-and-drop` but don't reach the functions above — **extend these**: `channels/src/components/channel_bookmarks/bookmark_item_content.test.tsx`, `channels/src/components/channel_bookmarks/bookmarks_bar_menu.test.tsx`, `channels/src/components/channel_bookmarks/hooks/use_bookmark_drag_drop.test.ts`, `channels/src/components/channel_bookmarks/hooks/use_bookmarks_dnd.test.ts`. Currently-unexercised functions in `@atlaskit/pragmatic-drag-and-drop` (context only — chainstrip removes these; do NOT write tests to reach them): `_arrayLikeToArray`, `_arrayWithHoles`, `_arrayWithoutHoles`, `_createForOfIteratorHelper`, `_defineProperty`, `_iterableToArray`, `_iterableToArrayLimit`, `_nonIterableRest`, `_nonIterableSpread`, `_objectSpread`, `_slicedToArray`, `_toConsumableArray` … (+69 more). ### 12. `react-window` — CLASSIFY 56KB — 56KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/threading/global_threads/thread_list/thread_list.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/index.cjs.js (51 fns, 43KB)`, `dist/index.esm.js (21 fns, 13KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/channel_members_rhs/member_list.tsx` → `(anonymous)` - `channels/src/components/drafts/draft_list/virtualized_draft_list.tsx` → `(anonymous)` - `channels/src/components/drafts/scheduled_post_list/virtualized_scheduled_post_list.tsx` → `(anonymous)` - `channels/src/components/emoji_picker/components/emoji_picker_current_results.tsx` → `(anonymous)` - `channels/src/components/threading/global_threads/thread_list/virtualized_thread_list.tsx` → `(anonymous)` - `channels/src/components/user_group_popover/group_member_list/group_member_list.tsx` → `(anonymous)` - `channels/src/components/user_groups_modal/user_groups_list/user_groups_list.tsx` → `(anonymous)` Existing test(s) that load `react-window` but don't reach the functions above — **extend these**: `channels/src/actions/command.test.js`, `channels/src/components/actions_menu/actions_menu.test.tsx`, `channels/src/components/actions_menu/actions_menu_mobile.test.tsx`, `channels/src/components/actions_menu/index.test.tsx`, `channels/src/components/add_user_to_group_multiselect/add_user_to_group_multiselect.test.tsx` … (+200 more). Currently-unexercised functions in `react-window` (context only — chainstrip removes these; do NOT write tests to reach them): `Grid`, `_callPropsCallbacks`, `_getHorizontalRangeToRender`, `_getVerticalRangeToRender`, `_onScrollHorizontal`, `_onScrollVertical`, `cancelTimeout`, `componentDidMount`, `componentDidUpdate`, `componentWillUnmount`, `defaultItemKey`, `findNearestItem` … (+32 more). ### 13. `html-to-react` — CLASSIFY 55KB — 55KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/utils/message_html_to_component.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `index.js (164 fns, 55KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/utils/message_html_to_component.tsx` → `messageHtmlToComponent` Existing test(s) that load `html-to-react` but don't reach the functions above — **extend these**: `channels/src/actions/command.test.js`, `channels/src/components/actions_menu/actions_menu.test.tsx`, `channels/src/components/actions_menu/actions_menu_mobile.test.tsx`, `channels/src/components/actions_menu/index.test.tsx`, `channels/src/components/admin_console/access_control/editors/shared.test.tsx` … (+140 more). Currently-unexercised functions in `html-to-react` (context only — chainstrip removes these; do NOT write tests to reach them): `CDATA`, `Comment`, `ProcessingInstruction`, `ProcessingInstructions`, `addConditionally`, `addToNumericResult`, `alwaysValid`, `append`, `appendChild`, `arrayReduce`, `asciiToArray`, `asciiWords` … (+145 more). ### 14. `semver` — CLASSIFY 40KB — 40KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_plugin/marketplace_item_plugin.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `index.js (57 fns, 40KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/admin_definition.tsx` → `validate` - `channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_plugin/marketplace_item_plugin.tsx` → `UpdateConfirmationModal`, `UpdateDetails` - `channels/src/selectors/calls.ts` → `isCallsEnabled` - `channels/src/utils/desktop_api.ts` → `(anonymous)` Existing test(s) that load `semver` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/burn_on_read_deletion.test.ts`, `channels/src/actions/burn_on_read_posts.test.ts`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js` … (+1103 more). Currently-unexercised functions in `semver` (context only — chainstrip removes these; do NOT write tests to reach them): `cmp`, `coerce`, `compareBuild`, `compareLoose`, `comparePre`, `constructor`, `delete`, `diff`, `eq`, `format`, `get`, `gtr` … (+46 more). ### 15. `react-overlays` — CLASSIFY 38KB — 38KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/plugins/channel_header_plug/channel_header_plug.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `lib/index.js (34 fns, 14KB)`, `chainstrip-chunk-BJ4ejTtV.cjs (30 fns, 14KB)`, `chainstrip-chunk-wlqCXKoq.cjs (15 fns, 6KB)`, `chainstrip-chunk-7Bb8QEul.cjs (8 fns, 3KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/plugins/channel_header_plug/channel_header_plug.tsx` → `render` Existing test(s) that load `react-overlays` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+524 more). Currently-unexercised functions in `react-overlays` (context only — chainstrip removes these; do NOT write tests to reach them): `Affix`, `AutoAffix`, `Moz`, `O`, `Overlay`, `Portal`, `Position`, `UNSAFE_componentWillReceiveProps`, `_classCallCheck`, `_extends`, `_mountOverlayTarget`, `_objectWithoutProperties` … (+57 more). ### 16. `mark.js` — CLASSIFY 36KB — 36KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/admin_console/access_control/modals/simulate_access/simulate_access_modal.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/mark.js (102 fns, 36KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/search_keyword_marking.tsx` → `doMark` Existing test(s) that load `mark.js` but don't reach the functions above — **extend these**: `channels/src/components/admin_console/admin_sidebar/admin_sidebar.test.tsx`. Currently-unexercised functions in `mark.js` (context only — chainstrip removes these; do NOT write tests to reach them): `DOMIterator`, `Mark`, `callNoMatchOnInvalidRanges`, `checkEnd`, `checkIframeFilter`, `checkRanges`, `checkWhitespaceRanges`, `classCallCheck`, `compareNodeIframe`, `createAccuracyRegExp`, `createDiacriticsRegExp`, `createInstanceOnIframe` … (+49 more). ### 17. `react-transition-group` — CLASSIFY 32KB — 32KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/advanced_text_editor/formatting_bar/formatting_bar.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `esm/index.js (56 fns, 18KB)`, `cjs/index.js (32 fns, 13KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/advanced_text_editor/formatting_bar/formatting_bar.tsx` → `FormattingBar` - `channels/src/components/channel_info_rhs/components/linelimiter.tsx` → `LineLimiterBase` - `channels/src/components/common/auto_height_switcher.tsx` → `AutoHeightSwitcher` - `channels/src/components/emoji_picker/components/emoji_picker_skin.tsx` → `render` - `channels/src/components/info_toast/info_toast.tsx` → `InfoToast` - `channels/src/components/mobile_sidebar_right/mobile_sidebar_right.tsx` → `MobileRightDrawer` - `channels/src/components/onboarding_tasklist/onboarding_tasklist_completed.tsx` → `Completed` - `channels/src/components/onboarding_tasklist/onboarding_tasklist_popover.tsx` → `TaskListPopover` - `channels/src/components/preparing_workspace/invite_members.tsx` → `InviteMembers` - `channels/src/components/preparing_workspace/launching_workspace.tsx` → `LaunchingWorkspace` - `channels/src/components/preparing_workspace/organization.tsx` → `Organization` - `channels/src/components/preparing_workspace/plugins.tsx` → `Plugins` - `channels/src/components/preparing_workspace/progress.tsx` → `TransitionedProgress` - `channels/src/components/widgets/menu/menu_wrapper_animation.tsx` → `MenuWrapperAnimation` - `channels/src/components/widgets/modals/full_screen_modal.tsx` → `render` Existing test(s) that load `react-transition-group` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+532 more). Currently-unexercised functions in `react-transition-group` (context only — chainstrip removes these; do NOT write tests to reach them): `ReplaceTransition`, `SwitchTransition`, `TransitionGroup`, `_assertThisInitialized`, `_extends`, `_objectWithoutPropertiesLoose`, `addClass`, `addClass$1`, `areChildrenDifferent`, `callHook`, `changeState`, `childFactory` … (+33 more). ### 18. `@floating-ui/react-dom` — CLASSIFY 28KB — 28KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/onboarding_tasklist/onboarding_tasklist_completed.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/floating-ui.react-dom.mjs (27 fns, 17KB)`, `dist/floating-ui.react-dom.umd.js (16 fns, 11KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/onboarding_tasklist/onboarding_tasklist_popover.tsx` → `TaskListPopover` Existing test(s) that load `@floating-ui/react-dom` but don't reach the functions above — **extend these**: `channels/src/actions/command.test.js`, `channels/src/components/about_build_modal/about_build_modal.test.tsx`, `channels/src/components/actions_menu/actions_menu.test.tsx`, `channels/src/components/actions_menu/actions_menu_mobile.test.tsx`, `channels/src/components/actions_menu/index.test.tsx` … (+417 more). Currently-unexercised functions in `@floating-ui/react-dom` (context only — chainstrip removes these; do NOT write tests to reach them): `a`, `expandPaddingObject`, `fn`, `frameLoop`, `get`, `getBoundingClientRect`, `getBoundingRect`, `getClientRects`, `getContainingBlock`, `getDocumentRect`, `getExpandedPlacements`, `getHTMLOffset` … (+23 more). ### 19. `simplebar-react` — CLASSIFY 27KB — 27KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/common/agents/agent_dropdown.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/index.mjs (30 fns, 14KB)`, `dist/index.cjs (22 fns, 13KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/common/scrollbars.tsx` → `(anonymous)` Existing test(s) that load `simplebar-react` but don't reach the functions above — **extend these**: `channels/src/components/admin_console/access_control/editors/table_editor/table_editor.test.tsx`, `channels/src/components/admin_console/access_control/editors/table_editor/table_editor_channel_admin.test.tsx`, `channels/src/components/admin_console/admin_definition_allow_download_logs.test.tsx`, `channels/src/components/admin_console/admin_definition_burn_on_read.test.tsx`, `channels/src/components/admin_console/admin_definition_data_spillage.test.tsx` … (+39 more). Currently-unexercised functions in `simplebar-react` (context only — chainstrip removes these; do NOT write tests to reach them): `__assign`, `_onMouseEntered`, `_onStopScrolling`, `_onWindowResize`, `baseGetTag`, `baseTrim`, `drag`, `flush`, `getContentElement`, `getOptions$1`, `getRawTag`, `getScrollElement` … (+26 more). ### 20. `redux-persist` — CLASSIFY 24KB — 24KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/reducers/views/rhs.test.js` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `lib/index.js (33 fns, 22KB)`, `es/index.js (19 fns, 2KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/reducers/storage.ts` → `storage` - `channels/src/store/index.ts` → `(anonymous)`, `next` Existing test(s) that load `redux-persist` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/burn_on_read_deletion.test.ts`, `channels/src/actions/burn_on_read_posts.test.ts`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js` … (+1103 more). Currently-unexercised functions in `redux-persist` (context only — chainstrip removes these; do NOT write tests to reach them): `_arrayWithoutHoles`, `_defineProperty`, `_iterableToArray`, `_nonIterableSpread`, `_objectSpread`, `_objectWithoutProperties`, `_objectWithoutPropertiesLoose`, `_toConsumableArray`, `_typeof`, `autoMergeLevel1$1`, `autoMergeLevel2$1`, `createPersistoid$1` … (+20 more). ### 21. `react-redux` — CLASSIFY 16KB — 16KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/admin_console/access_control/modals/job_details/searchable_sync_job_channel_list.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/cjs/index.js (7 fns, 11KB)`, `chainstrip-chunk-CQ3sVI98.cjs (3 fns, 3KB)`, `dist/react-redux.mjs (8 fns, 2KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/about_build_modal/about_build_modal_cloud/about_build_modal_cloud.tsx` → `AboutBuildModalCloud` - `channels/src/components/actions_menu/popover.tsx` → `Popover` - `channels/src/components/admin_console/access_control/modals/job_details/job_details_modal.tsx` → `JobDetailsModal` - `channels/src/components/admin_console/access_control/modals/policy_test/test_modal.tsx` → `TestResultsModal` - `channels/src/components/admin_console/access_control/modals/simulate_access/simulate_access_modal.tsx` → `SimulateAccessModal` - `channels/src/components/admin_console/access_control/modals/user_sync/synced_user_list.tsx` → `SyncedUserList` - `channels/src/components/admin_console/admin_settings/hooks.tsx` → `useAdminSettingState`, `useIsSetByEnv` - `channels/src/components/admin_console/billing/billing_history_modal.tsx` → `BillingHistoryModal` - `channels/src/components/admin_console/billing/billing_history_table.tsx` → `BillingHistoryTable` - `channels/src/components/admin_console/billing/billing_history.tsx` → `BillingHistory` - `channels/src/components/admin_console/billing/billing_subscriptions/cloud_trial_banner.tsx` → `CloudTrialBanner` - `channels/src/components/admin_console/billing/billing_subscriptions/index.tsx` → `BillingSubscriptions` - `channels/src/components/admin_console/billing/billing_subscriptions/limits.tsx` → `Limits` - `channels/src/components/admin_console/billing/billing_summary/billing_summary.tsx` → `InvoiceInfo` - `channels/src/components/admin_console/billing/company_info_display.tsx` → `CompanyInfoDisplay` - `channels/src/components/admin_console/billing/company_info_edit.tsx` → `CompanyInfoEdit` - `channels/src/components/admin_console/billing/company_info.tsx` → `CompanyInfo` - `channels/src/components/admin_console/billing/delete_workspace/progress_modal.tsx` → `DeleteWorkspaceProgressModal` - `channels/src/components/admin_console/billing/delete_workspace/result_modal.tsx` → `ResultModal` - `channels/src/components/admin_console/billing/plan_details/index.tsx` → `PlanDetails` - `channels/src/components/admin_console/classification_markings/classification_markings.tsx` → `ClassificationMarkings` - `channels/src/components/admin_console/content_flagging/content_reviewers/team_reviewers_section/team_reviewers_section.tsx` → `TeamReviewers` - `channels/src/components/admin_console/content_flagging/user_multiselector/user_multiselector.tsx` → `UserSelector` - `channels/src/components/admin_console/content_flagging/user_multiselector/user_profile_option.tsx` → `MultiUserOptionComponent`, `SingleUserOptionComponent` - `channels/src/components/admin_console/content_flagging/user_multiselector/user_profile_pill.tsx` → `BaseUserProfilePill` - `channels/src/components/admin_console/custom_profile_attributes/custom_profile_attributes.tsx` → `CustomProfileAttributes`, `PluginManagedFieldHelpText` - `channels/src/components/admin_console/ip_filtering/index.tsx` → `IPFiltering` - `channels/src/components/admin_console/license_settings/enterprise_edition/enterprise_edition_left_panel.tsx` → `EnterpriseEditionLeftPanel` - `channels/src/components/admin_console/license_settings/modals/confirm_license_removal_modal.tsx` → `ConfirmLicenseRemovalModal` - `channels/src/components/admin_console/license_settings/modals/ee_license_modal.tsx` → `EELicenseModal` - `channels/src/components/admin_console/license_settings/modals/upload_license_modal.tsx` → `UploadLicenseModal` - `channels/src/components/admin_console/license_settings/trial_banner/trial_banner.tsx` → `TrialBanner` - `channels/src/components/admin_console/license_settings/user_seat_alert_banner.tsx` → `UserSeatAlertBanner` - `channels/src/components/admin_console/permission_policies/policy_details/permission_policy_details.tsx` → `PermissionPolicyDetails` - `channels/src/components/admin_console/secure_connections/modals/modal_utils.tsx` → `useRemoteClusterAcceptInvite`, `useRemoteClusterCreate`, `useRemoteClusterCreateInvite`, `useRemoteClusterDelete`, `useSharedChannelsAdd`, `useSharedChannelsRemove` - `channels/src/components/admin_console/secure_connections/modals/shared_channels_add_modal.tsx` → `ChannelError`, `SharedChannelsAddModal` - `channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx` → `ChannelIcon`, `SecureConnectionDetail` - `channels/src/components/admin_console/secure_connections/utils.ts` → `useSharedChannelRemoteRows`, `useTeamOptions` - `channels/src/components/admin_console/system_properties/orphaned_fields_utils.ts` → `useIsFieldOrphaned` - `channels/src/components/admin_console/system_properties/section_utils.ts` → `useThing` - `channels/src/components/admin_console/system_properties/system_properties.tsx` → `SystemProperties` - `channels/src/components/admin_console/system_properties/user_properties_delete_modal.tsx` → `useUserPropertyFieldDelete` - `channels/src/components/admin_console/system_properties/user_properties_dot_menu.tsx` → `useAttributeLinkModal` - `channels/src/components/admin_console/system_properties/user_properties_values.tsx` → `UserPropertyValues` - `channels/src/components/admin_console/system_user_detail/system_user_detail.tsx` → `PluginDisplayName` - `channels/src/components/admin_console/system_users/revoke_sessions_button/index.tsx` → `RevokeSessionsButton` - `channels/src/components/admin_console/system_users/system_users_date_range_menu/index.tsx` → `SystemUsersDateRangeMenu` - `channels/src/components/admin_console/system_users/system_users_export/export_user_data_modal.tsx` → `ExportUserDataModal` - `channels/src/components/admin_console/system_users/system_users_export/index.tsx` → `SystemUsersExport` - `channels/src/components/admin_console/system_users/system_users_filters_popover/index.tsx` → `SystemUsersFilterPopover` - `channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_team/index.tsx` → `SystemUsersFilterTeam` - `channels/src/components/admin_console/system_users/system_users_list_actions/confirm_reset_failed_attempts_modal.tsx` → `ConfirmResetFailedAttemptsModal` - `channels/src/components/admin_console/system_users/system_users_list_actions/create_group_syncables_membership_modal.tsx` → `CreateGroupSyncablesMembershipsModal` - `channels/src/components/admin_console/system_users/system_users_list_actions/deactivate_member_modal.tsx` → `DeactivateMemberModal` - `channels/src/components/admin_console/system_users/system_users_list_actions/demote_to_guest_modal.tsx` → `DemoteToGuestModal` - `channels/src/components/admin_console/system_users/system_users_list_actions/index.tsx` → `SystemUsersListAction` - `channels/src/components/admin_console/system_users/system_users_list_actions/promote_to_member_modal.tsx` → `PromoteToMemberModal` - `channels/src/components/admin_console/system_users/system_users_list_actions/revoke_sessions_modal.tsx` → `RevokeSessionsModal` - `channels/src/components/admin_console/system_users/system_users_search/index.tsx` → `SystemUsersSearch` - `channels/src/components/admin_console/team_channel_settings/channel/details/channel_level_access_rules.tsx` → `ChannelLevelAccessRules` - `channels/src/components/admin_console/team_channel_settings/channel/list/admin_channel_shared_indicator.tsx` → `AdminChannelSharedIndicator` - `channels/src/components/admin_console/team_channel_settings/team/details/team_profile.tsx` → `TeamProfile` - `channels/src/components/admin_console/workspace-optimization/dashboard.data.tsx` → `useMetricsData` - `channels/src/components/advanced_create_post/advanced_create_post.tsx` → `AdvancedCreatePost` - `channels/src/components/advanced_create_post/prewritten_chips.tsx` → `PrewrittenChips` - `channels/src/components/advanced_text_editor/advanced_text_editor.tsx` → `AdvancedTextEditor` - `channels/src/components/advanced_text_editor/ai_actions_menu.tsx` → `AIActionsMenu` - `channels/src/components/advanced_text_editor/edit_post_footer.tsx` → `EditPostFooter` - `channels/src/components/advanced_text_editor/scheduled_post_indicator/scheduled_post_indicator.tsx` → `ScheduledPostIndicator` - `channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/dm_user_timezone.tsx` → `DMUserTimezone` - `channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/scheduled_post_custom_time_modal.tsx` → `ScheduledPostCustomTimeModal` - `channels/src/components/advanced_text_editor/send_button/send_button.tsx` → `SendButton` - `channels/src/components/advanced_text_editor/send_button/send_post_options/core_menu_options.tsx` → `CoreMenuOptions` - `channels/src/components/advanced_text_editor/send_button/send_post_options/index.tsx` → `SendPostOptions` - `channels/src/components/advanced_text_editor/send_button/send_post_options/recent_used_custom_date.tsx` → `RecentUsedCustomDate` - `channels/src/components/advanced_text_editor/use_burn_on_read.tsx` → `useBurnOnRead` - `channels/src/components/advanced_text_editor/use_editor_emoji_picker.tsx` → `useEditorEmojiPicker` - `channels/src/components/advanced_text_editor/use_groups.tsx` → `useGroups` - `channels/src/components/advanced_text_editor/use_key_handler.tsx` → `useKeyHandler` - `channels/src/components/advanced_text_editor/use_plugin_items.tsx` → `usePluginItems` - `channels/src/components/advanced_text_editor/use_post_box_indicator.tsx` → `useTimePostBoxIndicator` - `channels/src/components/advanced_text_editor/use_priority.tsx` → `usePriority` - `channels/src/components/advanced_text_editor/use_rewrite.tsx` → `useRewrite` - `channels/src/components/advanced_text_editor/use_submit.tsx` → `useSubmit` - `channels/src/components/advanced_text_editor/use_textbox_focus.tsx` → `useTextboxFocus` - `channels/src/components/advanced_text_editor/use_upload_files.tsx` → `useUploadFiles` - `channels/src/components/air_gapped_contact_sales_modal/index.tsx` → `AirGappedContactSalesModal` - `channels/src/components/announcement_bar/cloud_preview_announcement_bar/index.tsx` → `CloudPreviewAnnouncementBar` - `channels/src/components/announcement_bar/cloud_trial_ended_announcement_bar/index.tsx` → `CloudTrialEndAnnouncementBar` - `channels/src/components/announcement_bar/notification_permission_bar/index.tsx` → `NotificationPermissionBar` - `channels/src/components/announcement_bar/overage_users_banner/index.tsx` → `OverageUsersBanner` - `channels/src/components/announcement_bar/payment_announcement_bar/index.tsx` → `PaymentAnnouncementBar` - `channels/src/components/announcement_bar/post_history_limit_banner/index.tsx` → `PostHistoryLimitBanner` - `channels/src/components/announcement_bar/show_start_trial_modal/show_start_trial_modal.tsx` → `ShowStartTrialModal` - `channels/src/components/announcement_bar/show_tree_days_left_trial_modal/show_three_days_left_trial_modal.tsx` → `ShowThreeDaysLeftTrialModal` - `channels/src/components/announcement_bar/single_channel_guest_limit_banner/index.tsx` → `SingleChannelGuestLimitBanner` - `channels/src/components/announcement_bar/users_limits_announcement_bar/index.tsx` → `UsersLimitsAnnouncementBar` - `channels/src/components/app_bar/app_bar_binding.tsx` → `AppBarBinding` - `channels/src/components/app_bar/app_bar_marketplace.tsx` → `AppBarMarketplace` - `channels/src/components/app_bar/app_bar_plugin_component.tsx` → `AppBarPluginComponent` - `channels/src/components/app_bar/app_bar.tsx` → `AppBar` - `channels/src/components/app_bar/new_channel_with_board_tour_tip.tsx` → `NewChannelWithBoardTourTip` - `channels/src/components/app.tsx` → `App` - `channels/src/components/apps_form/apps_form_datetime_field/apps_form_datetime_field.tsx` → `AppsFormDateTimeField` - `channels/src/components/audit_table/audit_row/audit_row.tsx` → `AuditRow` - `channels/src/components/audit_table/channel_row/channel_create_direct_row.tsx` → `ChannelCreateDirectRow` - `channels/src/components/audit_table/channel_row/channel_default_row.tsx` → `ChannelDefaultRow` - `channels/src/components/audit_table/channel_row/channel_row.tsx` → `ChannelRow` - `channels/src/components/audit_table/user_row/user_update_active_session_row.tsx` → `UserUpdateActiveSessionRow` - `channels/src/components/burn_on_read/burn_on_read_tour_tip.tsx` → `BurnOnReadTourTip` - `channels/src/components/category_selector/category_selector.tsx` → `CategorySelector` - `channels/src/components/channel_banner/channel_banner.tsx` → `ChannelBanner` - `channels/src/components/channel_bookmarks/bookmark_dot_menu.tsx` → `BookmarkItemDotMenu` - `channels/src/components/channel_bookmarks/bookmark_icon.tsx` → `BookmarkIcon` - `channels/src/components/channel_bookmarks/bookmark_item_content.tsx` → `useBookmarkLink` - `channels/src/components/channel_bookmarks/channel_bookmarks_create_modal.tsx` → `ChannelBookmarkCreateModal` - `channels/src/components/channel_bookmarks/channel_bookmarks_menu.tsx` → `useBookmarkAddActions` - `channels/src/components/channel_bookmarks/utils.ts` → `useCanGetLinkPreviews`, `useCanGetPublicLink`, `useCanUploadFiles`, `useChannelBookmarkPermission`, `useChannelBookmarks` - `channels/src/components/channel_header_menu/channel_header_menu_items/channel_header_direct_menu.tsx` → `ChannelHeaderDirectMenu` - `channels/src/components/channel_header_menu/channel_header_menu_items/channel_header_group_menu.tsx` → `ChannelHeaderGroupMenu` - `channels/src/components/channel_header_menu/channel_header_menu.tsx` → `ChannelHeaderMenu` - `channels/src/components/channel_header_menu/menu_items/add_channel_members.tsx` → `AddChannelMembers` - `channels/src/components/channel_header_menu/menu_items/add_group_members.tsx` → `AddGroupMembers` - `channels/src/components/channel_header_menu/menu_items/archive_channel.tsx` → `ArchiveChannel` - `channels/src/components/channel_header_menu/menu_items/autotranslation.tsx` → `Autotranslation` - `channels/src/components/channel_header_menu/menu_items/channel_bookmarks_submenu.tsx` → `ChannelBookmarksSubmenu` - `channels/src/components/channel_header_menu/menu_items/channel_settings_menu.tsx` → `ChannelSettingsMenu` - `channels/src/components/channel_header_menu/menu_items/close_message.tsx` → `CloseMessage` - `channels/src/components/channel_header_menu/menu_items/convert_gm_to_private.tsx` → `ConvertGMtoPrivate` - `channels/src/components/channel_header_menu/menu_items/edit_conversation_header.tsx` → `EditConversationHeader` - `channels/src/components/channel_header_menu/menu_items/groups.tsx` → `Groups` - `channels/src/components/channel_header_menu/menu_items/leave_channel.tsx` → `LeaveChannel` - `channels/src/components/channel_header_menu/menu_items/mobile_channel_header_plugins.tsx` → `MobileChannelHeaderPlugins` - `channels/src/components/channel_header_menu/menu_items/notification.tsx` → `Notification` - `channels/src/components/channel_header_menu/menu_items/open_in_new_window.tsx` → `MenuItemOpenInNewWindow` - `channels/src/components/channel_header_menu/menu_items/open_members_rhs.tsx` → `OpenMembersRHS` - `channels/src/components/channel_header_menu/menu_items/toggle_favorite_channel.tsx` → `ToggleFavoriteChannel` - `channels/src/components/channel_header_menu/menu_items/toggle_info.tsx` → `ToggleInfo` - `channels/src/components/channel_header_menu/menu_items/toggle_mute_channel.tsx` → `ToggleMuteChannel` - `channels/src/components/channel_header_menu/menu_items/unarchive_channel.tsx` → `UnarchiveChannel` - `channels/src/components/channel_header_menu/menu_items/view_pinned_posts.tsx` → `ViewPinnedPosts` - `channels/src/components/channel_header/channel_header_text_popover.tsx` → `ChannelHeaderTextPopover` - `channels/src/components/channel_header/channel_header_text.tsx` → `AddChannelHeaderTextButton` - `channels/src/components/channel_header/channel_header_title_direct.tsx` → `ChannelHeaderTitleDirect` - `channels/src/components/channel_header/channel_header_title_favorite.tsx` → `ChannelHeaderTitleFavorite` - `channels/src/components/channel_header/channel_header_title_group.tsx` → `ChannelHeaderTitleGroup` - `channels/src/components/channel_header/channel_header_title.tsx` → `ChannelHeaderTitle` - `channels/src/components/channel_header/channel_info_button.tsx` → `ChannelInfoButton` - `channels/src/components/channel_info_rhs/menu.tsx` → `Menu` - `channels/src/components/channel_invite_modal/group_option/group_option.tsx` → `GroupOption` - `channels/src/components/channel_invite_modal/team_warning_banner/team_warning_banner.tsx` → `TeamWarningBanner` - `channels/src/components/channel_layout/channel_controller.tsx` → `ChannelController` - `channels/src/components/channel_layout/playbook_runner.tsx` → `PlaybookRunner` - `channels/src/components/channel_members_dropdown/channel_members_dropdown.tsx` → `ChannelMembersDropdown` - `channels/src/components/channel_move_to_sub_menu_old/index.tsx` → `ChannelMoveToSubMenuOld` - `channels/src/components/channel_move_to_sub_menu/index.tsx` → `ChannelMoveToSubMenu` - `channels/src/components/channel_name_form_field/channel_name_form_field.tsx` → `ChannelNameFormField` - `channels/src/components/channel_popout/channel_popout.tsx` → `ChannelPopout` - `channels/src/components/channel_settings_modal/channel_access_rules_confirm_modal.tsx` → `ChannelAccessRulesConfirmModal` - `channels/src/components/channel_settings_modal/channel_settings_access_rules_tab.tsx` → `ChannelSettingsAccessRulesTab` - `channels/src/components/channel_settings_modal/channel_settings_archive_tab.tsx` → `ChannelSettingsArchiveTab` - `channels/src/components/channel_settings_modal/channel_settings_configuration_tab.tsx` → `ChannelSettingsConfigurationTab` - `channels/src/components/channel_settings_modal/channel_settings_info_tab.tsx` → `ChannelSettingsInfoTab` - `channels/src/components/channel_settings_modal/channel_settings_modal.tsx` → `ChannelSettingsModal` - `channels/src/components/channel_settings_modal/channel_settings_permissions_policy_tab.tsx` → `ChannelSettingsPermissionsPolicyTab` - `channels/src/components/channel_type_icon/useChannelIconClassName.ts` → `useChannelIconClassName` - `channels/src/components/channel_type_icon/useChannelIconOverrideName.ts` → `useChannelIconOverrideName` - `channels/src/components/cloud_effects/index.tsx` → `CloudEffectsWrapper` - `channels/src/components/cloud_fetch_error/index.tsx` → `CloudFetchError` - `channels/src/components/cloud_invoice_preview/index.tsx` → `CloudInvoicePreview` - `channels/src/components/cloud_preview_modal/cloud_preview_modal_controller.tsx` → `CloudPreviewModal` - `channels/src/components/cloud_subscribe_result_modal/error.tsx` → `ErrorModal` - `channels/src/components/cloud_subscribe_result_modal/success.tsx` → `SuccessModal` - `channels/src/components/cloud_usage_modal/lhs_nearing_limit_modal.tsx` → `LHSNearingLimitsModal` - `channels/src/components/code_block/code_block.tsx` → `CodeBlock` - `channels/src/components/common/hooks/use_external_link.ts` → `useExternalLink` - `channels/src/components/common/hooks/use_search_results_actions.ts` → `useSearchResultsActions` - `channels/src/components/common/hooks/useAccessControlAttributes.ts` → `useAccessControlAttributes` - `channels/src/components/common/hooks/useChannelClassificationBanner.ts` → `useChannelClassificationBanner` - `channels/src/components/common/hooks/useClassificationMarkings.ts` → `useClassificationMarkings` - `channels/src/components/common/hooks/useControlModal.ts` → `useControlModal` - `channels/src/components/common/hooks/useCWSAvailabilityCheck.ts` → `useCWSAvailabilityCheck` - `channels/src/components/common/hooks/useEntity.ts` → `useEntity` - `channels/src/components/common/hooks/useFetchAdminConfig.ts` → `useFetchAdminConfig` - `channels/src/components/common/hooks/useFetchStandardAnalytics.ts` → `useFetchStandardAnalytics` - `channels/src/components/common/hooks/useGetAgentsBridgeEnabled.ts` → `useGetAgentsBridgeEnabled` - `channels/src/components/common/hooks/useGetCloudInstallationStatus.ts` → `useGetCloudInstallationStatus` - `channels/src/components/common/hooks/useGetFeatureFlagValue.ts` → `useGetFeatureFlagValue` - `channels/src/components/common/hooks/useGetLimits.ts` → `useGetLimits` - `channels/src/components/common/hooks/useGetLLMServices.ts` → `useGetLLMServices` - `channels/src/components/common/hooks/useGetServerLimits.ts` → `useGetServerLimits` - `channels/src/components/common/hooks/useGetSubscription.ts` → `useGetSubscription` - `channels/src/components/common/hooks/useGetTotalUsersNoBots.ts` → `useGetTotalUsersNoBots` - `channels/src/components/common/hooks/useGetUsage.ts` → `useGetUsage` - `channels/src/components/common/hooks/useOpenInvitePeopleModal.ts` → `useOpenInvitePeopleModal` - `channels/src/components/common/hooks/useOpenSalesLink.ts` → `useOpenSalesLink` - `channels/src/components/common/hooks/useOpenStartTrialFormModal.ts` → `useOpenStartTrialFormModal` - `channels/src/components/common/hooks/useOpenZendeskForm.ts` → `useOpenCloudZendeskSupportForm` - `channels/src/components/common/hooks/usePluginStatusesSync.ts` → `usePluginStatusesSync` - `channels/src/components/common/hooks/usePluginVisibilityInSharedChannel.ts` → `usePluginVisibilityInSharedChannel` - `channels/src/components/common/hooks/usePreference.ts` → `usePreference` - `channels/src/components/common/hooks/useSavePreferences.ts` → `useSavePreferences` - `channels/src/components/common/hooks/useShowAdminLimitReached.ts` → `useShowAdminLimitReached` - `channels/src/components/common/hooks/useTelemetryIdentifySync.tsx` → `useTelemetryIdentitySync` - `channels/src/components/common/plan_label/index.tsx` → `PlanLabel` - `channels/src/components/convert_gm_to_channel_modal/convert_gm_to_channel_modal.tsx` → `ConvertGmToChannelModal` - `channels/src/components/convert_gm_to_channel_modal/team_selector/team_selector.tsx` → `TeamSelector` - `channels/src/components/create_recap_modal/create_recap_modal.tsx` → `CreateRecapModal` - `channels/src/components/create_team/components/create_team_form/create_team_form.tsx` → `CreateTeamForm` - `channels/src/components/custom_status/custom_status_emoji.tsx` → `CustomStatusEmoji` - `channels/src/components/custom_status/custom_status_modal.tsx` → `CustomStatusModal` - `channels/src/components/custom_status/custom_status_text.tsx` → `CustomStatusText` - `channels/src/components/date_time_picker_modal/date_time_picker_modal.tsx` → `DateTimePickerModal` - `channels/src/components/datetime_input/datetime_input.tsx` → `DateTimeInputContainer` - `channels/src/components/desktop_auth_token.tsx` → `DesktopAuthToken` - `channels/src/components/disable_autotranslation_modal.tsx` → `DisableAutotranslationModal` - `channels/src/components/do_verify_email/do_verify_email.tsx` → `DoVerifyEmail` - `channels/src/components/dot_menu/post_reminder_submenu.tsx` → `PostReminderSubmenu` - `channels/src/components/downgrade_modal/index.tsx` → `DowngradeModal` - `channels/src/components/drafts/draft_actions/draft_actions.tsx` → `DraftActions` - `channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx` → `ScheduledPostActions` - `channels/src/components/drafts/draft_list/index.tsx` → `DraftList` - `channels/src/components/drafts/draft_row.tsx` → `DraftRow` - `channels/src/components/drafts/draft_title/draft_title.tsx` → `DraftTitle` - `channels/src/components/drafts/drafts_and_schedule_posts_tabs.tsx` → `DraftsAndSchedulePostsTabs` - `channels/src/components/drafts/drafts_link/drafts_link.tsx` → `DraftsLink` - `channels/src/components/drafts/index.tsx` → `Drafts` - `channels/src/components/drafts/panel/panel_body.tsx` → `PanelBody` - `channels/src/components/drafts/scheduled_post_list/index.tsx` → `ScheduledPostList` - `channels/src/components/edit_post/edit_post.tsx` → `EditPost` - `channels/src/components/edit_scheduled_post/edit_post_footer.tsx` → `EditPostFooter` - `channels/src/components/edit_scheduled_post/edit_post.tsx` → `EditPost` - `channels/src/components/emoji_picker/use_emoji_picker.tsx` → `useEmojiPicker` - `channels/src/components/error_page/messages/cloud_archived.tsx` → `CloudArchived` - `channels/src/components/feature_restricted_modal/feature_restricted_modal.tsx` → `FeatureRestrictedModal` - `channels/src/components/feature_toast/feature_toast.tsx` → `FeatureToast` - `channels/src/components/feedback_modal/feedback.tsx` → `FeedbackModal` - `channels/src/components/file_limit_sticky_banner/index.tsx` → `FileLimitStickyBanner` - `channels/src/components/file_preview_modal/file_preview_modal_info/file_preview_modal_info.tsx` → `FilePreviewModalInfo` - `channels/src/components/file_preview_modal/file_preview_modal_main_actions/file_preview_modal_main_actions.tsx` → `FilePreviewModalMainActions` - `channels/src/components/flag_message_modal/flag_post_modal.tsx` → `FlagPostModal` - `channels/src/components/forward_post_modal/forward_post_channel_select.tsx` → `FormattedOption`, `Option` - `channels/src/components/forward_post_modal/forward_post_comment_input.tsx` → `ForwardPostCommentInput` - `channels/src/components/forward_post_modal/index.tsx` → `ForwardPostModal` - `channels/src/components/gif_picker/gif_picker_items.tsx` → `GifPickerItems` - `channels/src/components/gif_picker/gif_picker_search.tsx` → `GifPickerSearch` - `channels/src/components/global_classification_banner/global_classification_banner.tsx` → `GlobalClassificationBanner` - `channels/src/components/global_header/center_controls/global_search_nav/global_search_nav.tsx` → `GlobalSearchNav` - `channels/src/components/global_header/hooks.tsx` → `useFirstAdminUser`, `useIsCurrentUserSystemAdmin`, `useIsLoggedIn`, `useIsModalOpen` - `channels/src/components/global_header/left_controls/product_menu/product_branding_team_edition/product_branding_free_edition.tsx` → `ProductBrandingFreeEdition` - `channels/src/components/global_header/left_controls/product_menu/product_menu_list/product_menu_list.tsx` → `ProductMenuList` - `channels/src/components/global_header/left_controls/product_menu/product_menu.tsx` → `ProductMenu` - `channels/src/components/global_header/right_controls/at_mentions_button/at_mentions_button.tsx` → `AtMentionsButton` - `channels/src/components/global_header/right_controls/plan_upgrade_button/index.tsx` → `PlanUpgradeButton` - `channels/src/components/global_header/right_controls/right_controls.tsx` → `RightControls` - `channels/src/components/global_header/right_controls/saved_posts_button/saved_posts_button.tsx` → `SavedPostsButton` - `channels/src/components/header_footer_route/footer.tsx` → `Footer` - `channels/src/components/header_footer_route/header.tsx` → `Header` - `channels/src/components/header_footer_template/header_footer_template.tsx` → `HeaderFooterNotLoggedIn` - `channels/src/components/help/use_help_page_title.ts` → `useHelpPageTitle` - `channels/src/components/inline_action_button/index.tsx` → `InlineActionButton` - `channels/src/components/inline_entity_link/index.tsx` → `InlineEntityLink` - `channels/src/components/integrations/outgoing_oauth_connections/abstract_outgoing_oauth_connection.tsx` → `AbstractOutgoingOAuthConnection` - `channels/src/components/integrations/outgoing_oauth_connections/add_outgoing_oauth_connection.tsx` → `AddOutgoingOAuthConnection` - `channels/src/components/integrations/outgoing_oauth_connections/edit_outgoing_oauth_connection.tsx` → `EditOutgoingOAuthConnection` - `channels/src/components/integrations/outgoing_oauth_connections/installed_outgoing_oauth_connections.tsx` → `InstalledOutgoingOAuthConnections` - `channels/src/components/integrations/outgoing_oauth_connections/oauth_connection_audience_input.tsx` → `OAuthConnectionAudienceInput` - `channels/src/components/invitation_modal/invite_as.tsx` → `InviteAs` - `channels/src/components/invitation_modal/overage_users_banner_notice/index.tsx` → `OverageUsersBannerNotice` - `channels/src/components/keyboard_shortcuts/keyboard_shortcuts_modal/keyboard_shortcuts_modal.tsx` → `KeyboardShortcutsModal` - `channels/src/components/learn_more_trial_modal/learn_more_trial_modal.tsx` → `LearnMoreTrialModal` - `channels/src/components/login/login.tsx` → `Login` - `channels/src/components/menu/menu_item_link.tsx` → `MenuItemLink` - `channels/src/components/menu/menu_item.tsx` → `(anonymous)` - `channels/src/components/menu/menu.tsx` → `Menu`, `MenuModal` - `channels/src/components/menu/sub_menu.tsx` → `SubMenu`, `SubMenuModal` - `channels/src/components/more_direct_channels/list_item/user_details/user_details.tsx` → `UserDetails` - `channels/src/components/more_direct_channels/list/list.tsx` → `(anonymous)` - `channels/src/components/move_thread_modal/move_thread_modal.tsx` → `MoveThreadModal` - `channels/src/components/new_channel_modal/new_channel_modal.tsx` → `NewChannelModal` - `channels/src/components/new_search/hooks.tsx` → `useSearchSuggestions` - `channels/src/components/new_search/new_search.tsx` → `NewSearch` - `channels/src/components/new_search/search_box_hints.tsx` → `SearchBoxHints` - `channels/src/components/new_search/search_box_input.tsx` → `(anonymous)` - `channels/src/components/new_search/search_box_suggestions.tsx` → `SearchSuggestions` - `channels/src/components/new_search/search_box_type_selector.tsx` → `SearchTypeSelector` - `channels/src/components/new_search/select_team.tsx` → `SelectTeam` - `channels/src/components/onboarding_tasklist/onboarding_tasklist_completed.tsx` → `Completed` - `channels/src/components/onboarding_tasklist/onboarding_tasklist.tsx` → `OnBoardingTaskList` - `channels/src/components/onboarding_tasks/complete_your_profile_tour_tip.tsx` → `CompleteYourProfileTour` - `channels/src/components/onboarding_tasks/onboarding_tasks_manager.tsx` → `useHandleOnBoardingTaskData`, `useHandleOnBoardingTaskTrigger`, `useTasksList`, `useTasksListWithStatus` - `channels/src/components/onboarding_tasks/visit_system_console_tour_tip.tsx` → `VisitSystemConsoleTour` - `channels/src/components/permissions_gates/any_team_permission_gate.tsx` → `AnyTeamPermissionGate` - `channels/src/components/permissions_gates/channel_permission_gate.tsx` → `ChannelPermissionGate` - `channels/src/components/permissions_gates/system_permission_gate.tsx` → `SystemPermissionGate` - `channels/src/components/permissions_gates/team_permission_gate.tsx` → `TeamPermissionGate` - `channels/src/components/persist_notification_confirm_modal.tsx` → `PersistNotificationConfirmModal` - `channels/src/components/plugin_marketplace/marketplace_modal.tsx` → `MarketplaceModal` - `channels/src/components/popout_controller/popout_controller.tsx` → `PopoutController` - `channels/src/components/post_edit_history/edited_post_item/edited_post_item.tsx` → `EditedPostItem` - `channels/src/components/post_edit_history/post_edit_history.tsx` → `PostEditHistory` - `channels/src/components/post_priority/post_priority_picker.tsx` → `PostPriorityPicker` - `channels/src/components/post_view/acknowledgements/post_acknowledgements_users_popover.tsx` → `Row` - `channels/src/components/post_view/acknowledgements/post_acknowledgements.tsx` → `PostAcknowledgements` - `channels/src/components/post_view/burn_on_read_badge/burn_on_read_badge.tsx` → `BurnOnReadBadge` - `channels/src/components/post_view/channel_intro_message/add_members_button.tsx` → `AddMembersButton` - `channels/src/components/post_view/data_spillage_report/data_spillage_actions/data_spillage_actions.tsx` → `DataSpillageAction` - `channels/src/components/post_view/data_spillage_report/data_spillage_footer/data_spillage_footer.tsx` → `DataSpillageFooter` - `channels/src/components/post_view/gm_conversion_message/gm_conversion_message.tsx` → `GMConversionMessage` - `channels/src/components/post_view/post_attachment_container/post_attachment_container.tsx` → `PostAttachmentContainer` - `channels/src/components/post_view/post_header_custom_status/post_header_custom_status.tsx` → `PostHeaderCustomStatus` - `channels/src/components/post_view/post_list_virtualized/latest_post_reader.tsx` → `LatestPostReader` - `channels/src/components/post/post_header_translate_icon.tsx` → `PostHeaderTranslateIcon` - `channels/src/components/preparing_workspace/launching_workspace.tsx` → `LaunchingWorkspace` - `channels/src/components/preparing_workspace/organization.tsx` → `Organization` - `channels/src/components/preparing_workspace/preparing_workspace.tsx` → `PreparingWorkspace` - `channels/src/components/profile_popover/profile_popover_add_to_channel.tsx` → `ProfilePopoverAddToChannel` - `channels/src/components/profile_popover/profile_popover_call_button_wrapper/index.tsx` → `CallButton` - `channels/src/components/profile_popover/profile_popover_calls_button/profile_popover_call_button.tsx` → `ProfilePopoverCallButton` - `channels/src/components/profile_popover/profile_popover_custom_attributes.tsx` → `ProfilePopoverCustomAttributes` - `channels/src/components/profile_popover/profile_popover_custom_status.tsx` → `ProfilePopoverCustomStatus` - `channels/src/components/profile_popover/profile_popover_last_active.tsx` → `ProfilePopoverLastActive` - `channels/src/components/profile_popover/profile_popover_other_user_row.tsx` → `ProfilePopoverOtherUserRow` - `channels/src/components/profile_popover/profile_popover_self_user_row.tsx` → `ProfilePopoverSelfUserRow` - `channels/src/components/profile_popover/profile_popover_title.tsx` → `ProfilePopoverTitle` - `channels/src/components/profile_popover/profile_popover.tsx` → `ProfilePopover` - `channels/src/components/query_param_actions/query_param_action_controller.tsx` → `QueryParamActionController` - `channels/src/components/readout/readout.tsx` → `Readout` - `channels/src/components/recaps_link/recaps_link.tsx` → `RecapsLink` - `channels/src/components/recaps/recap_channel_card.tsx` → `RecapChannelCard` - `channels/src/components/recaps/recap_item.tsx` → `RecapItem` - `channels/src/components/recaps/recap_text_formatter.tsx` → `RecapTextFormatter` - `channels/src/components/recaps/recaps_list.tsx` → `RecapsList` - `channels/src/components/recaps/recaps.tsx` → `Recaps` - `channels/src/components/remove_flagged_message_confirmation_modal/remove_flagged_message_confirmation_modal.tsx` → `KeepRemoveFlaggedMessageConfirmationModal` - `channels/src/components/resizable_sidebar/resizable_divider.tsx` → `ResizableDivider` - `channels/src/components/resizable_sidebar/resizable_rhs/index.tsx` → `ResizableRhs` - `channels/src/components/rhs_plugin_popout/rhs_plugin_popout.tsx` → `RhsPluginPopout` - `channels/src/components/rhs_popout/rhs_popout.tsx` → `RhsPopout` - `channels/src/components/rhs_search_popout/rhs_search_popout.tsx` → `RhsSearchPopout` - `channels/src/components/rhs_thread/rhs_thread.tsx` → `RhsThread` - `channels/src/components/root_post_divider/root_post_divider.tsx` → `RootPostDivider` - `channels/src/components/root/luxon_controller.tsx` → `LuxonController` - `channels/src/components/root/performance_reporter_controller.tsx` → `PerformanceReporterController` - `channels/src/components/root/shared_package_provider.tsx` → `useEmojiByName` - `channels/src/components/search_hint/search_hint.tsx` → `SearchHint` - `channels/src/components/search_results/messages_or_files_selector.tsx` → `MessagesOrFilesSelector` - `channels/src/components/search_results/post_search_results_item.tsx` → `PostSearchResultsItem` - `channels/src/components/search_results/search_limits_banner.tsx` → `SearchLimitsBanner` - `channels/src/components/search_results/search_results.tsx` → `SearchResults` - `channels/src/components/search/search.tsx` → `Search` - `channels/src/components/should_verify_email/should_verify_email.tsx` → `ShouldVerifyEmail` - `channels/src/components/show_translation_modal/show_translation_modal.tsx` → `ShowTranslationModal` - `channels/src/components/sidebar/add_channels_cta_button.tsx` → `AddChannelsCtaButton` - `channels/src/components/sidebar/invite_members_button.tsx` → `InviteMembersButton` - `channels/src/components/sidebar/sidebar_category/sidebar_category_menu/create_new_category_menu_item.tsx` → `CreateNewCategoryMenuItem` - `channels/src/components/sidebar/sidebar_category/sidebar_category_menu/index.tsx` → `SidebarCategoryMenu` - `channels/src/components/sidebar/sidebar_category/sidebar_category_menu/mark_as_read_menu_item.tsx` → `MarkAsUnreadItem` - `channels/src/components/sidebar/sidebar_category/sidebar_category_sorting_menu.tsx` → `SidebarCategorySortingMenu` - `channels/src/components/sidebar/sidebar_channel/sidebar_channel_menu/sidebar_channel_menu.tsx` → `SidebarChannelMenu` - `channels/src/components/sidebar/sidebar_header/sidebar_browse_or_add_channel_menu.tsx` → `SidebarBrowserOrAddChannelMenu` - `channels/src/components/sidebar/sidebar_header/sidebar_header.tsx` → `SidebarHeader` - `channels/src/components/sidebar/sidebar_header/sidebar_team_menu.tsx` → `AddGroupsToTeamMenuItem`, `CreateTeamMenuItem`, `InvitePeopleMenuItem`, `LeaveTeamMenuItem`, `ManageGroupsMenuItem`, `ManageViewMembersMenuItem`, `PluginMenuItems`, `SidebarTeamMenu`, `TeamSettingsMenuItem` - `channels/src/components/sidebar/unread_channels.tsx` → `UnreadChannels` - `channels/src/components/signup/signup.tsx` → `Signup` - `channels/src/components/start_trial_form_modal/failure_modal.tsx` → `StartTrialFormModalResult` - `channels/src/components/start_trial_form_modal/index.tsx` → `StartTrialFormModal` - `channels/src/components/suggestion/rhs_suggestion_list.tsx` → `RhsSuggestionList` - `channels/src/components/suggestion/switch_channel_provider.tsx` → `(anonymous)` - `channels/src/components/switch_to_yearly_plan_confirm_modal/index.tsx` → `SwitchToYearlyPlanConfirmModal` - `channels/src/components/team_controller/team_controller.tsx` → `TeamController` - `channels/src/components/team_settings_modal/team_settings_modal.tsx` → `TeamSettingsModal` - `channels/src/components/team_settings/team_access_policies_tab/sync_status_footer.tsx` → `SyncStatusFooter` - `channels/src/components/team_settings/team_access_tab/invite_section_input.tsx` → `InviteSectionInput` - `channels/src/components/theme_provider/theme_provider.tsx` → `ThemeProvider` - `channels/src/components/thread_popout/thread_popout.tsx` → `ThreadPopout` - `channels/src/components/threading/channel_threads/posts_channel_reset_watcher/posts_channel_reset_watcher.tsx` → `PostsChannelResetWatcher` - `channels/src/components/threading/channel_threads/thread_footer/thread_footer.tsx` → `ThreadFooter` - `channels/src/components/threading/global_threads_link/global_threads_link.tsx` → `GlobalThreadsLink` - `channels/src/components/threading/global_threads/global_threads.tsx` → `GlobalThreads` - `channels/src/components/threading/global_threads/thread_item/thread_item.tsx` → `ThreadItem` - `channels/src/components/threading/global_threads/thread_list/thread_list.tsx` → `ThreadList` - `channels/src/components/threading/global_threads/thread_menu/thread_menu.tsx` → `ThreadMenu` - `channels/src/components/threading/global_threads/thread_pane/thread_pane.tsx` → `ThreadPane` - `channels/src/components/threading/hooks.ts` → `useThreadRouting` - `channels/src/components/threading/virtualized_thread_viewer/create_comment.tsx` → `(anonymous)` - `channels/src/components/three_days_left_trial_modal/three_days_left_trial_modal.tsx` → `ThreeDaysLeftTrialModal` - `channels/src/components/toggle_modal_button.tsx` → `ToggleModalButton` - `channels/src/components/tours/hooks.ts` → `useGetTourSteps`, `useHandleNavigationAndExtraActions` - `channels/src/components/tours/onboarding_tour/channels_and_direct_messages_tour_tip.tsx` → `ChannelsAndDirectMessagesTour` - `channels/src/components/tours/onboarding_tour/hooks.ts` → `useShowOnboardingTutorialStep` - `channels/src/components/tours/tour_manager.tsx` → `useTourTipManager` - `channels/src/components/trial_benefits_modal/trial_benefits_modal.tsx` → `TrialBenefitsModal` - `channels/src/components/user_account_menu/user_account_away_menuitem.tsx` → `UserAccountAwayMenuItem` - `channels/src/components/user_account_menu/user_account_custom_status_menuitem.tsx` → `UserAccountSetCustomStatusMenuItem` - `channels/src/components/user_account_menu/user_account_dnd_menuitem.tsx` → `UserAccountDndMenuItem` - `channels/src/components/user_account_menu/user_account_name_menuitem.tsx` → `UserAccountNameMenuItem` - `channels/src/components/user_account_menu/user_account_offline_menuitem.tsx` → `UserAccountOfflineMenuItem` - `channels/src/components/user_account_menu/user_account_online_menuitem.tsx` → `UserAccountOnlineMenuItem` - `channels/src/components/user_account_menu/user_account_out_of_office_menuitem.tsx` → `UserAccountOutOfOfficeMenuItem` - `channels/src/components/user_account_menu/user_account_profile_menuitem.tsx` → `UserAccountProfileMenuItem` - `channels/src/components/user_group_popover/group_member_list/group_member_list.tsx` → `Item` - `channels/src/components/user_group_popover/user_group_popover_controller.tsx` → `UserGroupPopoverController` - `channels/src/components/user_group_popover/user_group_popover.tsx` → `UserGroupPopover` - `channels/src/components/user_groups_modal/ad_ldap_upsell_banner.tsx` → `ADLDAPUpsellBanner` - `channels/src/components/user_settings/advanced/enable_concurrent_react_experimental_section.tsx` → `EnableConcurrentReactExperimentalSection` - `channels/src/components/user_settings/general/user_settings_general.tsx` → `PluginDisplayName` - `channels/src/components/user_settings/plugin/plugin_setting.tsx` → `PluginSetting` - `channels/src/components/user_settings/plugin/radio.tsx` → `RadioInput` - `channels/src/components/view_user_group_modal/view_user_group_list_item/view_user_group_list_item.tsx` → `ViewUserGroupListItem` - `channels/src/components/widgets/menu/menu_items/menu_cloud_trial.tsx` → `MenuCloudTrial` - `channels/src/components/widgets/menu/menu_items/menu_item_cloud_limit.tsx` → `MenuItemCloudLimit` - `channels/src/components/widgets/menu/menu_items/menu_start_trial.tsx` → `MenuStartTrial` - `channels/src/components/widgets/tag/guest_tag.tsx` → `GuestTag` - `channels/src/components/widgets/users/avatars/avatars.tsx` → `Avatars`, `UserAvatar` - `channels/src/components/window_size_observer/WindowSizeObserver.tsx` → `WindowSizeObserver` - `channels/src/hooks/useBurnOnReadDeleteModal.ts` → `useBurnOnReadDeleteModal` - `channels/src/hooks/useChannelAccessControlActions.ts` → `useChannelAccessControlActions` - `channels/src/hooks/useChannelSystemPolicies.ts` → `useChannelSystemPolicies` - `channels/src/hooks/useGetCloudPreviewModalContent.ts` → `useGetCloudPreviewModalContent` - `channels/src/hooks/useReadout.ts` → `useReadout` - `channels/src/plugins/pluggable/pluggable.tsx` → `Pluggable` - `channels/src/plugins/rhs_plugin/rhs_plugin.tsx` → `RhsPlugin` - `channels/src/plugins/useGetPluginsActivationState.ts` → `useGetPluginsActivationState` - `channels/src/stores/hooks.ts` → `useGlobalState` - `channels/src/utils/popouts/use_popout_title.ts` → `usePopoutTitle` - `channels/src/utils/post_utils.ts` → `usePostAriaLabel` - `channels/src/utils/products.ts` → `useCurrentProduct`, `useCurrentProductId`, `useProducts` Existing test(s) that load `react-redux` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/burn_on_read_deletion.test.ts`, `channels/src/actions/burn_on_read_posts.test.ts`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js` … (+1103 more). Currently-unexercised functions in `react-redux` (context only — chainstrip removes these; do NOT write tests to reach them): `createInvalidArgFactory`, `get`, `getListeners`, `initMergePropsProxy`, `is`, `isContextConsumer`, `isSubscribed`, `mergePropsProxy`, `notify`, `requireReactRedux_production_min`, `requireUseSyncExternalStoreWithSelector_production`, `stringifyComponent` … (+3 more). ### 22. `tinycolor2` — CLASSIFY 14KB — 14KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/admin_console/classification_markings/components/global_classification_indicators.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `cjs/tinycolor.js (43 fns, 10KB)`, `esm/tinycolor.js (12 fns, 4KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/classification_markings/components/classification_color_input.tsx` → `(anonymous)`, `ClassificationColorInput` - `channels/src/components/color_input.tsx` → `onBlur`, `onChange` - `channels/src/components/gif_picker/gif_picker_search.tsx` → `(anonymous)` - `channels/src/components/widgets/users/avatars/avatars.tsx` → `(anonymous)` Existing test(s) that load `tinycolor2` but don't reach the functions above — **extend these**: `channels/src/components/admin_console/admin_definition_allow_download_logs.test.tsx`, `channels/src/components/admin_console/admin_definition_burn_on_read.test.tsx`, `channels/src/components/admin_console/admin_definition_data_spillage.test.tsx`, `channels/src/components/admin_console/admin_definition_dcr_allowlist.test.tsx`, `channels/src/components/admin_console/admin_definition_enable_testing.test.tsx` … (+55 more). Currently-unexercised functions in `tinycolor2` (context only — chainstrip removes these; do NOT write tests to reach them): `_analogous`, `_applyCombination`, `_applyModification`, `_brighten`, `_complement`, `_darken`, `_desaturate`, `_greyscale`, `_lighten`, `_monochromatic`, `_saturate`, `_spin` … (+58 more). ### 23. `rebound` — CLASSIFY 12KB — 12KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/sidebar/sidebar_list/sidebar_list.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/rebound.js (46 fns, 12KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/sidebar/sidebar_list/sidebar_list.tsx` → `constructor` Existing test(s) that load `rebound` but don't reach the functions above — **extend these**: `channels/src/components/sidebar/sidebar.test.tsx`, `channels/src/components/sidebar/sidebar_list/sidebar_list.test.tsx`, `channels/src/utils/performance_telemetry/element_identification.test.tsx`. Currently-unexercised functions in `rebound` (context only — chainstrip removes these; do NOT write tests to reach them): `BouncyConversion`, `SimulationLooper`, `SteppingSimulationLooper`, `_interpolate`, `activateSpring`, `addListener`, `advance`, `b3Friction1`, `b3Friction2`, `b3Friction3`, `b3Nobounce`, `bind` … (+53 more). ### 24. `ipaddr.js` — CLASSIFY 12KB — 12KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/admin_console/ip_filtering/ip_filtering.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `lib/ipaddr.js (30 fns, 12KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/ip_filtering/ip_filtering_utils.ts` → `isIPAddressInRanges`, `validateCIDR` Existing test(s) that load `ipaddr.js` but don't reach the functions above — **extend these**: `channels/src/components/admin_console/admin_definition_allow_download_logs.test.tsx`, `channels/src/components/admin_console/admin_definition_burn_on_read.test.tsx`, `channels/src/components/admin_console/admin_definition_data_spillage.test.tsx`, `channels/src/components/admin_console/admin_definition_dcr_allowlist.test.tsx`, `channels/src/components/admin_console/admin_definition_enable_testing.test.tsx` … (+10 more). Currently-unexercised functions in `ipaddr.js` (context only — chainstrip removes these; do NOT write tests to reach them): `broadcastAddressFromCIDR`, `fromByteArray`, `isIPv4`, `isIPv4MappedAddress`, `isIPv6`, `isValid`, `isValidFourPartDecimal`, `networkAddressFromCIDR`, `padPart`, `prefixLengthFromSubnetMask`, `process`, `range` … (+10 more). ### 25. `web-vitals` — CLASSIFY 10KB — 10KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/utils/performance_telemetry/reporter.test.ts` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/web-vitals.attribution.umd.cjs (28 fns, 9KB)`, `dist/web-vitals.attribution.js (5 fns, 0KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/utils/performance_telemetry/reporter.ts` → `observe` Existing test(s) that load `web-vitals` but don't reach the functions above — **extend these**: `channels/src/utils/performance_telemetry/reporter.test.ts`. Currently-unexercised functions in `web-vitals` (context only — chainstrip removes these; do NOT write tests to reach them): `B`, `C`, `D`, `E`, `L`, `M`, `O`, `T`, `U`, `_`, `a`, `b` … (+20 more). ### 26. `react-router-dom` — CLASSIFY 8KB — 8KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/admin_console/team_channel_settings/channel/details/channel_details.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `chainstrip-chunk-BfP2Ed6J.cjs (6 fns, 7KB)`, `esm/react-router-dom.js (6 fns, 1KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/admin_console.tsx` → `(anonymous)`, `AdminConsole`, `renderRoutes` - `channels/src/components/admin_console/admin_definition.tsx` → `link` - `channels/src/components/admin_console/admin_sidebar/admin_sidebar_category.tsx` → `AdminSidebarCategory` - `channels/src/components/admin_console/billing/company_info_edit.tsx` → `CompanyInfoEdit` - `channels/src/components/admin_console/blockable_link/blockable_link.tsx` → `BlockableLink` - `channels/src/components/admin_console/custom_enable_disable_guest_accounts_setting.tsx` → `a` - `channels/src/components/admin_console/custom_profile_attributes/custom_profile_attributes.tsx` → `link` - `channels/src/components/admin_console/custom_terms_of_service_settings/custom_terms_of_service_settings.tsx` → `a` - `channels/src/components/admin_console/group_settings/group_details/group_users.tsx` → `a` - `channels/src/components/admin_console/group_settings/group_row.tsx` → `renderActions` - `channels/src/components/admin_console/localization/agents_settings.tsx` → `AgentsSettings` - `channels/src/components/admin_console/localization/auto_translation.tsx` → `AutoTranslation` - `channels/src/components/admin_console/message_export_settings.tsx` → `a` - `channels/src/components/admin_console/permission_schemes_settings/permissions_scheme_summary/permissions_scheme_summary.tsx` → `(anonymous)` - `channels/src/components/admin_console/plugin_management/plugin_management.tsx` → `PluginItem` - `channels/src/components/admin_console/schema_admin_settings.tsx` → `(anonymous)` - `channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx` → `SecureConnectionDetail` - `channels/src/components/admin_console/secure_connections/secure_connection_row.tsx` → `RowMenu` - `channels/src/components/admin_console/secure_connections/secure_connections.tsx` → `AddMenu` - `channels/src/components/admin_console/system_roles/system_roles.tsx` → `(anonymous)` - `channels/src/components/admin_console/system_users/system_users.tsx` → `SystemUsers` - `channels/src/components/admin_console/team_channel_settings/channel/details/channel_access_control_policy.tsx` → `(anonymous)` - `channels/src/components/admin_console/team_channel_settings/channel/list/channel_list.tsx` → `(anonymous)` - `channels/src/components/admin_console/team_channel_settings/team/details/team_access_control_policy.tsx` → `(anonymous)`, `link` - `channels/src/components/admin_console/team_channel_settings/team/list/team_list.tsx` → `(anonymous)` - `channels/src/components/admin_console/workspace-optimization/cta_buttons.tsx` → `CtaButtons` - `channels/src/components/advanced_text_editor/scheduled_post_indicator/scheduled_post_indicator.tsx` → `ScheduledPostIndicator` - `channels/src/components/advanced_text_editor/scheduled_post_indicator/short_scheduled_post_indicator.tsx` → `a` - `channels/src/components/announcement_bar/configuration_bar/configuration_bar.tsx` → `linkConsole` - `channels/src/components/app.tsx` → `App` - `channels/src/components/backstage/backstage_controller.tsx` → `BackstageController`, `BackstageRoute` - `channels/src/components/backstage/components/backstage_category.tsx` → `BackstageCategory` - `channels/src/components/backstage/components/backstage_list.tsx` → `BackstageList` - `channels/src/components/backstage/components/backstage_section.tsx` → `BackstageSection` - `channels/src/components/channel_bookmarks/bookmark_item_content.tsx` → `(anonymous)`, `useBookmarkLink` - `channels/src/components/channel_layout/center_channel/center_channel.tsx` → `render` - `channels/src/components/channel_layout/playbook_runner.tsx` → `PlaybookRunner` - `channels/src/components/channel_members_rhs/channel_members_rhs.tsx` → `ChannelMembersRHS` - `channels/src/components/channel_popout/channel_popout.tsx` → `ChannelPopout` - `channels/src/components/claim/claim_controller.tsx` → `render` - `channels/src/components/commercial_support_modal/commercial_support_modal.tsx` → `debugLink` - `channels/src/components/common/back_button.tsx` → `BackButton` - `channels/src/components/create_recap_modal/create_recap_modal.tsx` → `CreateRecapModal` - `channels/src/components/create_team/create_team.tsx` → `render` - `channels/src/components/custom_status/custom_status_modal.tsx` → `CustomStatusModal` - `channels/src/components/delete_post_modal/delete_post_modal.tsx` → `(anonymous)` - `channels/src/components/desktop_auth_token.tsx` → `DesktopAuthToken` - `channels/src/components/do_verify_email/do_verify_email.tsx` → `DoVerifyEmail` - `channels/src/components/drafts/draft_row.tsx` → `DraftRow` - `channels/src/components/drafts/drafts_and_schedule_posts_tabs.tsx` → `DraftsAndSchedulePostsTabs` - `channels/src/components/drafts/drafts_link/drafts_link.tsx` → `DraftsLink` - `channels/src/components/emoji_picker/components/emoji_picker_custom_emoji_button.tsx` → `EmojiPickerCustomEmojiButton` - `channels/src/components/emoji/add_emoji/add_emoji.tsx` → `render` - `channels/src/components/emoji/emoji_page.tsx` → `EmojiPage` - `channels/src/components/error_page/error_page.tsx` → `render` - `channels/src/components/global_header/left_controls/history_buttons/history_buttons.tsx` → `HistoryButtons` - `channels/src/components/header_footer_route/content_layouts/alternate_link.tsx` → `AlternateLink` - `channels/src/components/header_footer_route/header_footer_route.tsx` → `HFRoute` - `channels/src/components/header_footer_route/header.tsx` → `Header` - `channels/src/components/header_footer_template_route.tsx` → `HFTRoute`, `LoggedInHFTRoute` - `channels/src/components/help/help.tsx` → `Help` - `channels/src/components/integrations/abstract_command.tsx` → `render` - `channels/src/components/integrations/abstract_incoming_webhook.tsx` → `render` - `channels/src/components/integrations/abstract_oauth_app.tsx` → `render` - `channels/src/components/integrations/abstract_outgoing_webhook.tsx` → `render` - `channels/src/components/integrations/add_command/add_command.tsx` → `AddCommand` - `channels/src/components/integrations/add_oauth_app/add_oauth_app.tsx` → `AddOAuthApp` - `channels/src/components/integrations/add_outgoing_webhook/add_outgoing_webhook.tsx` → `AddOutgoingWebhook` - `channels/src/components/integrations/bots/add_bot/add_bot.tsx` → `render` - `channels/src/components/integrations/bots/bot.tsx` → `render` - `channels/src/components/integrations/bots/bots.tsx` → `a` - `channels/src/components/integrations/commands_container/commands_container.tsx` → `CommandRoute`, `render` - `channels/src/components/integrations/confirm_integration/confirm_integration.tsx` → `ConfirmIntegration` - `channels/src/components/integrations/installed_command.tsx` → `render` - `channels/src/components/integrations/installed_incoming_webhook.tsx` → `render` - `channels/src/components/integrations/installed_oauth_app/installed_oauth_app.tsx` → `render` - `channels/src/components/integrations/installed_outgoing_webhook.tsx` → `render` - `channels/src/components/integrations/integration_option.tsx` → `IntegrationOption` - `channels/src/components/integrations/outgoing_oauth_connections/abstract_outgoing_oauth_connection.tsx` → `AbstractOutgoingOAuthConnection` - `channels/src/components/integrations/outgoing_oauth_connections/add_outgoing_oauth_connection.tsx` → `AddOutgoingOAuthConnection` - `channels/src/components/integrations/outgoing_oauth_connections/installed_outgoing_oauth_connection.tsx` → `InstalledOutgoingOAuthConnection` - `channels/src/components/logged_in_route/index.tsx` → `LoggedInRoute` - `channels/src/components/logged_in/logged_in.tsx` → `render` - `channels/src/components/login/login.tsx` → `Login`, `getContent`, `getResetPasswordLink` - `channels/src/components/menu/menu_item_link.tsx` → `MenuItemLink` - `channels/src/components/mfa/mfa_controller/mfa_controller.tsx` → `render` - `channels/src/components/mobile_channel_header/index.ts` → `mapStateToProps` - `channels/src/components/onboarding_tasklist/onboarding_tasklist.tsx` → `OnBoardingTaskList` - `channels/src/components/onboarding_tasks/onboarding_tasks_manager.tsx` → `useHandleOnBoardingTaskTrigger` - `channels/src/components/password_reset_form/password_reset_form.tsx` → `PasswordResetForm` - `channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_plugin/marketplace_item_plugin.tsx` → `getItemButton` - `channels/src/components/plugin_marketplace/marketplace_modal.tsx` → `linkConsole` - `channels/src/components/popout_controller/popout_controller.tsx` → `PopoutController` - `channels/src/components/post_view/data_spillage_report/data_spillage_report.tsx` → `DataSpillageReport` - `channels/src/components/post_view/post_attachment_container/post_attachment_container.tsx` → `PostAttachmentContainer`, `getTeamAndPostIdFromLink` - `channels/src/components/post_view/post_time/post_time.tsx` → `render` - `channels/src/components/query_param_actions/query_param_action_controller.tsx` → `QueryParamActionController` - `channels/src/components/reaction_limit_reached_modal.tsx` → `linkAdmin` - `channels/src/components/recaps_link/recaps_link.tsx` → `RecapsLink` - `channels/src/components/recaps/recaps.tsx` → `Recaps` - `channels/src/components/rhs_card/rhs_card.tsx` → `render` - `channels/src/components/rhs_plugin_popout/rhs_plugin_popout.tsx` → `RhsPluginPopout` - `channels/src/components/rhs_popout/rhs_popout.tsx` → `RhsPopout` - `channels/src/components/rhs_search_popout/rhs_search_popout.tsx` → `RhsSearchPopout` - `channels/src/components/root/root_redirect/root_redirect.tsx` → `RootRedirect` - `channels/src/components/root/root.tsx` → `(anonymous)`, `render` - `channels/src/components/select_team/select_team.tsx` → `a`, `render` - `channels/src/components/should_verify_email/should_verify_email.tsx` → `ShouldVerifyEmail` - `channels/src/components/sidebar/sidebar_channel/sidebar_channel_link/sidebar_channel_link.tsx` → `render` - `channels/src/components/sidebar/sidebar_header/sidebar_team_menu.tsx` → `CreateTeamMenuItem`, `JoinAnotherTeamMenuItem` - `channels/src/components/signup/signup.tsx` → `Signup`, `getContent` - `channels/src/components/team_controller/team_controller.tsx` → `(anonymous)`, `TeamController` - `channels/src/components/team_sidebar/components/team_button.tsx` → `(anonymous)`, `TeamButton` - `channels/src/components/theme_provider/theme_context.ts` → `useAppBodyClass` - `channels/src/components/thread_popout/thread_popout.tsx` → `ThreadPopout` - `channels/src/components/threading/global_threads_link/global_threads_link.tsx` → `GlobalThreadsLink` - `channels/src/components/threading/global_threads/global_threads.tsx` → `GlobalThreads`, `link` - `channels/src/components/threading/hooks.ts` → `useThreadRouting` - `channels/src/components/three_days_left_trial_modal/learn_more_action_button.tsx` → `LearnMoreActionButton` - `channels/src/components/trial_benefits_modal/trial_benefits_modal_step_more.tsx` → `TrialBenefitsModalStepMore` - `channels/src/components/trial_benefits_modal/trial_benefits_modal.tsx` → `TrialBenefitsModal` - `channels/src/components/unreads_status_handler/index.ts` → `mapStateToProps` - `channels/src/components/user_group_popover/group_member_list/group_member_list.tsx` → `GroupMemberList` - `channels/src/components/user_list_row_with_error/user_list_row_with_error.tsx` → `render` - `channels/src/components/user_settings/security/user_settings_security.tsx` → `(anonymous)` - `channels/src/components/widgets/admin_console/admin_panel_with_link.tsx` → `AdminPanelWithLink` - `channels/src/components/widgets/menu/menu_items/menu_item_link.tsx` → `MenuItemLinkImpl` - `channels/src/utils/http_utils.ts` → `useQuery` - `channels/src/utils/popouts/use_browser_popout.ts` → `useBrowserPopout` - `channels/src/utils/products.ts` → `(anonymous)`, `useCurrentProduct`, `useCurrentProductId` Existing test(s) that load `react-router-dom` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/burn_on_read_deletion.test.ts`, `channels/src/actions/burn_on_read_posts.test.ts`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js` … (+1103 more). Currently-unexercised functions in `react-router-dom` (context only — chainstrip removes these; do NOT write tests to reach them): `BrowserRouter`, `HashRouter`, `_setPrototypeOf`, `componentDidMount`, `forwardRefShim`, `invariant`, `render`, `requireReactRouterDom_min`. ### 27. `redux` — CLASSIFY 6KB — 6KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/admin_console/team_channel_settings/channel/details/channel_members/channel_members.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/cjs/redux.cjs (11 fns, 3KB)`, `dist/redux.mjs (7 fns, 3KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/access_history_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/actions_menu/index.ts` → `mapDispatchToProps` - `channels/src/components/activity_log_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/add_groups_to_channel_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/add_groups_to_team_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/add_user_to_channel_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/add_user_to_group_multiselect/index.ts` → `mapDispatchToProps` - `channels/src/components/add_users_to_group_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/add_users_to_team_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/access_control/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/access_control/jobs/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/access_control/policy_details/channel_list/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/access_control/policy_details/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/admin_navbar_dropdown/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/admin_sidebar/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/audits/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/blockable_button/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/blockable_link/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/compliance_reports/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/custom_terms_of_service_settings/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/data_retention_settings/channel_list/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/data_retention_settings/custom_policy_form/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/data_retention_settings/global_policy_form/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/data_retention_settings/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/data_retention_settings/team_list/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/database/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/feature_discovery/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/group_settings/group_details/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/group_settings/groups_list/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/jobs/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/license_settings/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/manage_roles_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/manage_teams_modal/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/manage_tokens_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/member_list_group/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/openid_convert/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/permission_policies/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/permission_policies/policy_details/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_modal/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/permission_schemes_settings/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/permission_schemes_settings/permission_system_scheme_settings/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/permission_schemes_settings/permissions_scheme_summary/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/plugin_management/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/reset_email_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/reset_password_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/revoke_token_button/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/server_logs/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/system_roles/system_role/add_users_to_role_modal/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/system_roles/system_role/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/system_roles/system_role/system_role_users/index.tsx` → `mapDispatchToProps` - `channels/src/components/admin_console/system_user_detail/team_list/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/team_channel_settings/channel/details/channel_members/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/team_channel_settings/channel/details/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/team_channel_settings/channel/list/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/team_channel_settings/group/group_users/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/team_channel_settings/team/details/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/team_channel_settings/team/details/team_members/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/team_channel_settings/team/list/index.ts` → `mapDispatchToProps` - `channels/src/components/admin_console/user_autocomplete_setting/index.tsx` → `mapDispatchToProps` - `channels/src/components/analytics/team_analytics/index.ts` → `mapDispatchToProps` - `channels/src/components/announcement_bar/cloud_trial_announcement_bar/index.ts` → `mapDispatchToProps` - `channels/src/components/announcement_bar/configuration_bar/index.ts` → `mapDispatchToProps` - `channels/src/components/announcement_bar/default_announcement_bar/index.ts` → `mapDispatchToProps` - `channels/src/components/announcement_bar/index.ts` → `mapDispatchToProps` - `channels/src/components/apps_form/apps_form_field/index.ts` → `mapDispatchToProps` - `channels/src/components/apps_form/index.ts` → `mapDispatchToProps` - `channels/src/components/audit_table/index.ts` → `mapDispatchToProps` - `channels/src/components/authorize/index.ts` → `mapDispatchToProps` - `channels/src/components/browse_channels/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_groups_manage_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_header/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_info_rhs/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_invite_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_layout/center_channel/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_layout/channel_identifier_router/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_members_dropdown/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_members_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_members_rhs/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_notifications_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/channel_selector_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/claim/index.ts` → `mapDispatchToProps` - `channels/src/components/convert_channel_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/convert_gm_to_channel_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/create_team/components/create_team_form/index.ts` → `mapDispatchToProps` - `channels/src/components/create_user_groups_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/data_prefetch/index.ts` → `mapDispatchToProps` - `channels/src/components/delete_category_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/delete_channel_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/delete_post_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/dialog_router/index.ts` → `mapDispatchToProps` - `channels/src/components/dnd_custom_time_picker_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/dot_menu/index.ts` → `mapDispatchToProps` - `channels/src/components/edit_category_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/edit_channel_header_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/edit_channel_purpose_modal/index.tsx` → `mapDispatchToProps` - `channels/src/components/edit_scheduled_post/index.ts` → `mapDispatchToProps` - `channels/src/components/emoji_picker/index.ts` → `mapDispatchToProps` - `channels/src/components/emoji/add_emoji/index.ts` → `mapDispatchToProps` - `channels/src/components/emoji/emoji_list_item/index.ts` → `mapDispatchToProps` - `channels/src/components/emoji/emoji_list/index.ts` → `mapDispatchToProps` - `channels/src/components/emoji/index.ts` → `mapDispatchToProps` - `channels/src/components/file_attachment_list/index.ts` → `mapDispatchToProps` - `channels/src/components/file_attachment/index.ts` → `mapDispatchToProps` - `channels/src/components/file_preview/index.ts` → `mapDispatchToProps` - `channels/src/components/file_search_results/index.tsx` → `mapDispatchToProps` - `channels/src/components/file_upload/index.ts` → `mapDispatchToProps` - `channels/src/components/get_public_link_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/global_header/center_controls/user_guide_dropdown/index.ts` → `mapDispatchToProps` - `channels/src/components/global_header/left_controls/product_menu/product_menu_list/index.ts` → `mapDispatchToProps` - `channels/src/components/global_header/right_controls/settings_button/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/add_command/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/add_incoming_webhook/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/add_oauth_app/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/add_outgoing_webhook/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/bots/add_bot/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/bots/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/commands_container/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/edit_command/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/edit_incoming_webhook/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/edit_oauth_app/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/edit_outgoing_webhook/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/installed_commands/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/installed_incoming_webhooks/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/installed_oauth_apps/index.ts` → `mapDispatchToProps` - `channels/src/components/integrations/installed_outgoing_webhooks/index.ts` → `mapDispatchToProps` - `channels/src/components/intl_provider/index.tsx` → `mapDispatchToProps` - `channels/src/components/invitation_modal/index.tsx` → `mapDispatchToProps` - `channels/src/components/leave_channel_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/leave_team_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/logged_in/index.ts` → `mapDispatchToProps` - `channels/src/components/markdown_image/index.ts` → `mapDispatchToProps` - `channels/src/components/member_list_channel/index.ts` → `mapDispatchToProps` - `channels/src/components/member_list_team/index.ts` → `mapDispatchToProps` - `channels/src/components/mfa/setup/index.ts` → `mapDispatchToProps` - `channels/src/components/mobile_channel_header/channel_info_button/index.ts` → `mapDispatchToProps` - `channels/src/components/mobile_channel_header/collapse_lhs_button/index.ts` → `mapDispatchToProps` - `channels/src/components/mobile_channel_header/collapse_rhs_button/index.ts` → `mapDispatchToProps` - `channels/src/components/mobile_channel_header/index.ts` → `mapDispatchToProps` - `channels/src/components/mobile_channel_header/show_search_button/index.ts` → `mapDispatchToProps` - `channels/src/components/mobile_channel_header/unmute_channel_button/index.ts` → `mapDispatchToProps` - `channels/src/components/mobile_sidebar_right/mobile_sidebar_right_items/index.tsx` → `mapDispatchToProps` - `channels/src/components/modal_controller/index.ts` → `mapDispatchToProps` - `channels/src/components/more_direct_channels/index.ts` → `mapDispatchToProps` - `channels/src/components/more_direct_channels/list_item/user_details/index.ts` → `mapDispatchToProps` - `channels/src/components/move_thread_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/new_replies_banner/index.ts` → `mapDispatchToProps` - `channels/src/components/password_reset_form/index.ts` → `mapDispatchToProps` - `channels/src/components/password_reset_send_link/index.ts` → `mapDispatchToProps` - `channels/src/components/permalink_view/index.ts` → `mapDispatchToProps` - `channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_app/index.ts` → `mapDispatchToProps` - `channels/src/components/plugin_marketplace/marketplace_item/marketplace_item_plugin/index.ts` → `mapDispatchToProps` - `channels/src/components/post_edit_history/edited_post_item/index.ts` → `mapDispatchToProps` - `channels/src/components/post_reminder_custom_time_picker_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/channel_intro_message/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/combined_system_message/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/embedded_bindings/button_binding/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/embedded_bindings/select_binding/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/failed_post_options/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/message_attachments/message_attachment/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_add_channel_member/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_attachment_opengraph/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_body_additional_content/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_edited_indicator/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_flag_icon/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_image/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_list_row/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_list/index.tsx` → `mapDispatchToProps` - `channels/src/components/post_view/post_message_preview/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_pre_header/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_reaction/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/post_recent_reactions/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/reaction_list/index.ts` → `mapDispatchToProps` - `channels/src/components/post_view/reaction/index.ts` → `mapDispatchToProps` - `channels/src/components/post/index.tsx` → `mapDispatchToProps` - `channels/src/components/preparing_workspace/index.tsx` → `mapDispatchToProps` - `channels/src/components/product_notices_modal/index.tsx` → `mapDispatchToProps` - `channels/src/components/quick_switch_modal/index.tsx` → `mapDispatchToProps` - `channels/src/components/rename_channel_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/reset_status_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/rhs_card_header/index.tsx` → `mapDispatchToProps` - `channels/src/components/root/index.ts` → `mapDispatchToProps` - `channels/src/components/root/root_redirect/index.ts` → `mapDispatchToProps` - `channels/src/components/search_results_header/index.tsx` → `mapDispatchToProps` - `channels/src/components/search/index.tsx` → `mapDispatchToProps` - `channels/src/components/select_team/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar_right/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar/channel_filter/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar/channel_navigator/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar/sidebar_category/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar/sidebar_channel/sidebar_base_channel/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar/sidebar_channel/sidebar_channel_link/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar/sidebar_channel/sidebar_direct_channel/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar/sidebar_channel/sidebar_group_channel/index.ts` → `mapDispatchToProps` - `channels/src/components/sidebar/sidebar_list/index.ts` → `mapDispatchToProps` - `channels/src/components/single_image_view/index.ts` → `mapDispatchToProps` - `channels/src/components/suggestion/suggestion_box/index.js` → `mapDispatchToProps` - `channels/src/components/system_notice/index.ts` → `mapDispatchToProps` - `channels/src/components/team_groups_manage_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/team_members_dropdown/index.ts` → `mapDispatchToProps` - `channels/src/components/team_members_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/team_selector_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/team_settings/team_access_policies_tab/index.ts` → `mapDispatchToProps` - `channels/src/components/team_settings/team_access_tab/index.ts` → `mapDispatchToProps` - `channels/src/components/team_settings/team_info_tab/index.ts` → `mapDispatchToProps` - `channels/src/components/team_sidebar/index.ts` → `mapDispatchToProps` - `channels/src/components/terms_of_service/index.ts` → `mapDispatchToProps` - `channels/src/components/textbox/index.ts` → `mapDispatchToProps` - `channels/src/components/threading/thread_viewer/index.ts` → `mapDispatchToProps` - `channels/src/components/toast_wrapper/index.ts` → `mapDispatchToProps` - `channels/src/components/unarchive_channel_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/update_user_group_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/user_account_menu/index.ts` → `mapDispatchToProps` - `channels/src/components/user_group_popover/group_member_list/index.ts` → `mapDispatchToProps` - `channels/src/components/user_groups_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/user_groups_modal/user_groups_list/index.ts` → `mapDispatchToProps` - `channels/src/components/user_profile/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/advanced/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/advanced/join_leave_section/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/display/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/display/manage_languages/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/display/manage_timezones/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/display/render_emoticons_as_emoji/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/display/user_settings_theme/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/general/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/modal/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/notifications/email_notification_setting/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/security/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/security/mfa_section/index.ts` → `mapDispatchToProps` - `channels/src/components/user_settings/security/user_access_token_section/index.ts` → `mapDispatchToProps` - `channels/src/components/view_user_group_modal/index.ts` → `mapDispatchToProps` - `channels/src/components/view_user_group_modal/view_user_group_header_sub_menu/index.ts` → `mapDispatchToProps` - `channels/src/components/view_user_group_modal/view_user_group_list_item/index.ts` → `mapDispatchToProps` - `channels/src/components/view_user_group_modal/view_user_group_modal_header/index.ts` → `mapDispatchToProps` - `channels/src/packages/mattermost-redux/src/store/configureStore.ts` → `configureStore` - `channels/src/packages/mattermost-redux/src/store/helpers.ts` → `createReducer` - `channels/src/plugins/channel_header_plug/index.ts` → `mapDispatchToProps` Existing test(s) that load `redux` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+970 more). Currently-unexercised functions in `redux` (context only — chainstrip removes these; do NOT write tests to reach them): `__DO_NOT_USE__ActionTypes`, `ctorName`, `dispatch`, `formatProdErrorMessage`, `isAction`, `isDate`, `isError`, `isPlainObject`, `kindOf`, `miniKindOf`, `observable`, `observeState` … (+4 more). ### 28. `react-window-infinite-loader` — CLASSIFY 5KB — 5KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/threading/global_threads/thread_list/thread_list.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/index.esm.js (5 fns, 5KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/channel_members_rhs/member_list.tsx` → `(anonymous)` - `channels/src/components/emoji_picker/components/emoji_picker_current_results.tsx` → `(anonymous)` - `channels/src/components/threading/global_threads/thread_list/virtualized_thread_list.tsx` → `(anonymous)` - `channels/src/components/user_group_popover/group_member_list/group_member_list.tsx` → `(anonymous)` - `channels/src/components/user_groups_modal/user_groups_list/user_groups_list.tsx` → `UserGroupsList` Existing test(s) that load `react-window-infinite-loader` but don't reach the functions above — **extend these**: `channels/src/actions/command.test.js`, `channels/src/components/actions_menu/actions_menu.test.tsx`, `channels/src/components/actions_menu/actions_menu_mobile.test.tsx`, `channels/src/components/actions_menu/index.test.tsx`, `channels/src/components/add_user_to_group_multiselect/add_user_to_group_multiselect.test.tsx` … (+198 more). Currently-unexercised functions in `react-window-infinite-loader` (context only — chainstrip removes these; do NOT write tests to reach them): `_loadUnloadedRanges`, `_loop`, `isRangeVisible`, `resetloadMoreItemsCache`. ### 29. `color-hash` — CLASSIFY 5KB — 5KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/user_profile/user_profile.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/color-hash.js (7 fns, 5KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/user_profile/utils.ts` → `generateColor` Existing test(s) that load `color-hash` but don't reach the functions above — **extend these**: `channels/src/components/admin_console/access_control/editors/table_editor/table_editor.test.tsx`, `channels/src/components/admin_console/access_control/editors/table_editor/table_editor_channel_admin.test.tsx`, `channels/src/components/admin_console/admin_definition_allow_download_logs.test.tsx`, `channels/src/components/admin_console/admin_definition_burn_on_read.test.tsx`, `channels/src/components/admin_console/admin_definition_data_spillage.test.tsx` … (+83 more). Currently-unexercised functions in `color-hash` (context only — chainstrip removes these; do NOT write tests to reach them): `BKDRHash`, `HmacSha2562`, `array`, `arrayBuffer`, `digest`, `finalize`, `toString`. ### 30. `moment-timezone` — CLASSIFY 4KB — 4KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/packages/mattermost-redux/src/utils/emoji_utils.test.ts` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `index.js (18 fns, 4KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/apps_form/apps_form_component.tsx` → `(anonymous)` - `channels/src/components/custom_status/custom_status_modal.tsx` → `CustomStatusModal`, `calculateExpiryTime` - `channels/src/components/custom_status/expiry_time.tsx` → `ExpiryTime` - `channels/src/components/datetime_input/datetime_input.tsx` → `(anonymous)`, `getRoundedTime`, `getTimeInIntervals`, `handleDayChange` - `channels/src/components/timestamp/timestamp.tsx` → `formatLabel`, `formatParts` - `channels/src/packages/mattermost-redux/src/utils/post_list.ts` → `pushPostDateIfNeeded` - `channels/src/selectors/views/custom_status.ts` → `isCustomStatusExpired` - `channels/src/utils/datetime.ts` → `getDiff`, `isWithinLastWeek`, `relativeFormatDate` - `channels/src/utils/timezone.ts` → `getBrowserUtcOffset`, `getCurrentDateForTimezone`, `getCurrentDateTimeForTimezone`, `getCurrentMomentForTimezone`, `getUtcOffsetForTimeZone`, `isValidTimezone`, `parseDateInTimezone` Existing test(s) that load `moment-timezone` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+960 more). Currently-unexercised functions in `moment-timezone` (context only — chainstrip removes these; do NOT write tests to reach them): `OffsetAt`, `ZoneScore`, `countries`, `findChange`, `getCountry`, `getCountryNames`, `guess`, `guessesForUserOffsets`, `logError`, `offset`, `rebuildGuess`, `scoreOffsetAt` … (+5 more). ### 31. `@atlaskit/pragmatic-drag-and-drop-hitbox` — CLASSIFY 2KB — 2KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/channel_bookmarks/hooks/use_keyboard_reorder.test.ts` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/cjs/closest-edge.js (8 fns, 2KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/channel_bookmarks/hooks/use_bookmark_drag_drop.ts` → `getData`, `onDrag` - `channels/src/components/channel_bookmarks/hooks/use_bookmarks_dnd.ts` → `onDrop` Existing test(s) that load `@atlaskit/pragmatic-drag-and-drop-hitbox` but don't reach the functions above — **extend these**: `channels/src/components/channel_bookmarks/bookmark_item_content.test.tsx`, `channels/src/components/channel_bookmarks/bookmarks_bar_menu.test.tsx`, `channels/src/components/channel_bookmarks/hooks/use_bookmark_drag_drop.test.ts`, `channels/src/components/channel_bookmarks/hooks/use_bookmarks_dnd.test.ts`. Currently-unexercised functions in `@atlaskit/pragmatic-drag-and-drop-hitbox` (context only — chainstrip removes these; do NOT write tests to reach them): `_defineProperty`, `_objectSpread`, `_typeof`, `attachClosestEdge`, `bottom`, `extractClosestEdge`, `left`, `ownKeys`, `right`, `toPrimitive`, `toPropertyKey`, `top`. ### 32. `serialize-error` — CLASSIFY 2KB — 2KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/packages/mattermost-redux/src/actions/channels.test.ts` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `index.js (5 fns, 2KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/packages/mattermost-redux/src/actions/errors.ts` → `(anonymous)` Existing test(s) that load `serialize-error` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/burn_on_read_deletion.test.ts`, `channels/src/actions/burn_on_read_posts.test.ts`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js` … (+549 more). Currently-unexercised functions in `serialize-error` (context only — chainstrip removes these; do NOT write tests to reach them): `continueDestroyCircular`, `destroyCircular`, `getErrorConstructor`, `isErrorLike`, `serializeError`, `toJSON`. ### 33. `@redux-devtools/extension` — CLASSIFY 2KB — 2KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/packages/mattermost-redux/src/store/reducer_registry.test.ts` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `lib/cjs/index.js (8 fns, 2KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/packages/mattermost-redux/src/store/configureStore.ts` → `configureStore` Existing test(s) that load `@redux-devtools/extension` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+925 more). Currently-unexercised functions in `@redux-devtools/extension` (context only — chainstrip removes these; do NOT write tests to reach them): `_getRequireWildcardCache`, `assign$1`, `composeWithDevTools`, `composeWithEnhancer`, `enhancer`, `extensionComposeStub`, `get`. ### 34. `color-contrast-checker` — CLASSIFY 2KB — 2KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/user_profile/user_profile.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `src/color-contrast-checker.js (8 fns, 2KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/user_profile/utils.ts` → `generateColor` Existing test(s) that load `color-contrast-checker` but don't reach the functions above — **extend these**: `channels/src/components/admin_console/access_control/editors/table_editor/table_editor.test.tsx`, `channels/src/components/admin_console/access_control/editors/table_editor/table_editor_channel_admin.test.tsx`, `channels/src/components/admin_console/admin_definition_allow_download_logs.test.tsx`, `channels/src/components/admin_console/admin_definition_burn_on_read.test.tsx`, `channels/src/components/admin_console/admin_definition_data_spillage.test.tsx` … (+83 more). Currently-unexercised functions in `color-contrast-checker` (context only — chainstrip removes these; do NOT write tests to reach them): `checkPairs`, `convertColorToSixDigit`, `isLevelAA`, `isLevelAAA`, `toString`, `verifyContrastRatio`. ### 35. `smooth-scroll-into-view-if-needed` — CLASSIFY 1KB — 1KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/common/agents/agent_dropdown.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/index.cjs (7 fns, 1KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/common/auto_height_switcher.tsx` → `(anonymous)` Existing test(s) that load `smooth-scroll-into-view-if-needed` but don't reach the functions above — **extend these**: `channels/src/components/advanced_text_editor/advanced_text_editor.test.tsx`, `channels/src/components/advanced_text_editor/use_submit.test.tsx`, `channels/src/components/browse_channels/browse_channels.test.tsx`, `channels/src/components/channel_header/channel_header.test.tsx`, `channels/src/components/channel_header/channel_header_text.test.tsx` … (+50 more). Currently-unexercised functions in `smooth-scroll-into-view-if-needed` (context only — chainstrip removes these; do NOT write tests to reach them): `e`, `l`, `method`, `n`, `o`, `o$2`, `r`, `t`. ### 36. `react-is` — CLASSIFY 1KB — 1KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/timestamp/timestamp.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `index.js (2 fns, 1KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/timestamp/timestamp.tsx` → `(anonymous)` - `channels/src/plugins/registry.ts` → `resolveReactElement` Existing test(s) that load `react-is` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/burn_on_read_deletion.test.ts`, `channels/src/actions/burn_on_read_posts.test.ts`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js` … (+1103 more). Currently-unexercised functions in `react-is` (context only — chainstrip removes these; do NOT write tests to reach them): `isAsyncMode`, `isConcurrentMode`, `isContextConsumer`, `isContextProvider`, `isElement`, `isForwardRef`, `isFragment`, `isLazy`, `isMemo`, `isPortal`, `isProfiler`, `isStrictMode` … (+2 more). ### 37. `redux-batched-actions` — CLASSIFY 0KB — 0KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/packages/mattermost-redux/src/actions/channels.test.ts` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `lib/index.js (1 fns, 0KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/actions/channel_actions.ts` → `(anonymous)` - `channels/src/actions/file_actions.ts` → `onerror`, `onload` - `channels/src/actions/global_actions.tsx` → `switchToChannel` - `channels/src/actions/new_post.ts` → `(anonymous)` - `channels/src/actions/post_actions.ts` → `(anonymous)` - `channels/src/actions/user_actions.ts` → `(anonymous)` - `channels/src/actions/views/channel.ts` → `(anonymous)` - `channels/src/actions/views/drafts.ts` → `(anonymous)` - `channels/src/actions/views/login.ts` → `handleLoginSuccess` - `channels/src/actions/views/rhs.ts` → `(anonymous)` - `channels/src/actions/views/threads.ts` → `manuallyMarkThreadAsUnread` - `channels/src/actions/websocket_actions.ts` → `(anonymous)`, `handleClose`, `handleDeleteTeamEvent`, `handleFirstConnect`, `handleLeaveTeamEvent`, `handleMyGroupUpdate`, `handleUserRemovedEvent` - `channels/src/packages/mattermost-redux/src/actions/access_control.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/admin.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/channel_categories.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/channels.ts` → `(anonymous)`, `removeFromChannelWrapper` - `channels/src/packages/mattermost-redux/src/actions/emojis.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/general.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/groups.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/integrations.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/posts.ts` → `(anonymous)`, `createPostWrapper` - `channels/src/packages/mattermost-redux/src/actions/search.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/teams.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/threads.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/users.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/actions/websocket.ts` → `(anonymous)` - `channels/src/packages/mattermost-redux/src/store/helpers.ts` → `createReducer` Existing test(s) that load `redux-batched-actions` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+934 more). Currently-unexercised functions in `redux-batched-actions` (context only — chainstrip removes these; do NOT write tests to reach them): `batchDispatchMiddleware`. ### 38. `exif2css` — CLASSIFY 0KB — 0KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/utils/message_html_to_component.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `build/index.js (1 fns, 0KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/utils/file_utils.tsx` → `getOrientationStyles` Existing test(s) that load `exif2css` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/command.test.js`, `channels/src/actions/global_actions.test.ts`, `channels/src/actions/websocket_actions.test.jsx`, `channels/src/components/actions_menu/actions_menu.test.tsx` … (+315 more). Currently-unexercised functions in `exif2css` (context only — chainstrip removes these; do NOT write tests to reach them): `exif2css`, `expandTransform`, `expandTransformStrings`, `expandTransforms`, `getValue`. ### 39. `country-list` — CLASSIFY 0KB — 0KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) ⚠ **Flake risk:** every call site is a React component/hook file — timing-flaky tests DESTROY existing eliminations; take this only if you can await real async and pin time (no settle-waits). Runner evidence: `channels/src/components/admin_console/billing/billing_history.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `country-list.js (2 fns, 0KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/billing/company_info_edit.tsx` → `CompanyInfoEdit` - `channels/src/components/payment_form/country_selector.tsx` → `CountrySelector` - `channels/src/utils/utils.tsx` → `getBlankAddressWithCountry` Existing test(s) that load `country-list` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+465 more). Currently-unexercised functions in `country-list` (context only — chainstrip removes these; do NOT write tests to reach them): `getCode`, `getCodeList`, `getCodes`, `getName`, `getNameList`, `getNames`. ### 40. `memoize-one` — CLASSIFY 0KB — 0KB of functions are REACHABLE from your code's imports but never executed by any test, so covtrim holds them un-stubbed (the default disposition). A test exercising those paths converts unknown risk into truth: functions it executes are proven LIVE (correctly kept — a false-dead averted); what stays unexecuted stays held. This buys SAFETY and classification, not bytes — held bytes are removed by reachability precision, not by tests. (Reachability is lexical + conservative: if you are confident these paths cannot run in production, say so in your report instead of forcing a test.) Runner evidence: `channels/src/components/admin_console/access_control/policy_details/channel_list/channel_list.test.tsx` already runs under jest near these call sites — a test placed alongside it WILL be picked up. Do not assume a workspace exclusion without verifying. Held functions live in: `dist/memoize-one.cjs.js (1 fns, 0KB)`, `dist/memoize-one.esm.js (1 fns, 0KB)` — if existing tests look like they cover this dep, the at-risk surface is in THESE files, not the ones they touch. Your call sites to test (write/extend tests for these functions): - `channels/src/components/admin_console/access_control/policy_details/channel_list/index.ts` → `makeMapStateToProps` Existing test(s) that load `memoize-one` but don't reach the functions above — **extend these**: `channels/src/actions/admin_actions.test.js`, `channels/src/actions/channel_actions.test.ts`, `channels/src/actions/command.test.js`, `channels/src/actions/emoji_actions.test.js`, `channels/src/actions/emoji_actions_load_recent.test.ts` … (+902 more). Currently-unexercised functions in `memoize-one` (context only — chainstrip removes these; do NOT write tests to reach them): `clear`, `ponyfill`. ## Recommended skips — reasons given; override only with good cause 16 dep(s) we recommend NOT writing unit tests for. Each lists why — if you disagree (e.g. you can add a test under the right runner, or an e2e), go ahead; otherwise leave them: they are covered by the production-build oracle + pinning. - `katex` (~211KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/components/latex_block/latex_block.tsx`, `channels/src/components/latex_inline/latex_inline.tsx`, `channels/src/entry.tsx` - `localforage` (~123KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/reducers/storage.ts`, `channels/src/store/index.ts` - `@popperjs/core` (~104KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/components/advanced_text_editor/formatting_bar/hooks.tsx` - `intl-messageformat` (~94KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/components/admin_console/types.ts`, `channels/src/components/widgets/modals/components/base_setting_item.tsx` - `tippy.js` (~59KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/components/app_bar/new_channel_with_board_tour_tip.tsx`, `channels/src/components/tours/channels_tour_tip.tsx`, `platform/components/src/tour_tip/tour_tip.tsx` - `@testing-library/jest-dom` (~56KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `platform/components/setup_jest.ts`, `platform/shared/setup_jest.ts` - `history` (~49KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/components/admin_console/admin_console.tsx`, `channels/src/components/admin_console/secure_connections/utils.ts`, `channels/src/components/channel_layout/channel_identifier_router/actions.ts`, `channels/src/components/channel_layout/channel_identifier_router/channel_identifier_router.tsx` … - `node-fetch` (~44KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `platform/client/setup_jest.ts` - `regenerator-runtime` (~22KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/plugins/index.ts` - `react-router` (~17KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/components/terms_of_service/terms_of_service.tsx` - `@tippyjs/react` (~15KB) — skip because every importer sits outside jest's scope (no traced test file lives in those packages) — a unit test here can't load it via the sanctioned runner. Coverable only with that package's own runner or an e2e. imported at: `platform/components/src/tour_tip/tour_tip.tsx` - `zen-observable` (~14KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/store/index.ts` - `localforage-observable` (~8KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/store/index.ts` - `prop-types` (~7KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/components/suggestion/suggestion_box/suggestion_box.jsx`, `channels/src/plugins/export.ts` - `p-queue` (~6KB) — skip because it has no plain function call site — only module-scope/DI/decorator wiring imports it, so a unit test can't exercise it in isolation. An e2e/integration test could; meanwhile the production-build oracle + pinning cover it. imported at: `channels/src/components/data_prefetch/data_prefetch.tsx` - `@testing-library/react` (~2KB) — skip because every importer sits outside jest's scope (no traced test file lives in those packages) — a unit test here can't load it via the sanctioned runner. Coverable only with that package's own runner or an e2e. imported at: `platform/shared/src/testing/react_testing_utils.tsx` ## When done Run `npm run test --` until green, then re-run `chainstrip coverage` — the covered percentages should rise and chainstrip can trim/eliminate more of those dependencies. _Generated by `chainstrip coverage --prompt` at 2026-07-26T19:16:30.167Z. Worklist is prioritised: live-CVE deps first, then least-covered._
What's left
The marked upgrade is the team's to make, callers named. The 4 unresolved
advisories stay on the books. The 36 pinned-stock dependencies ship
hash-pinned and update-gated, waiting on evidence. And the run report
records the per-dependency extraction frontiers by name — chart.js's
jest-mock module identity, @mui's load layer behind @emotion/styled,
react-select and react-color's export interop — each with its reason, and
the export-shape oracle keeps a broken bundle from ever shipping while
those stay open.
And the standing caveat: every removal above means proven dead, removed from the artifact, and revalidated by Mattermost's own suite and build — not "verified safe in production."
Sound like your stack?
These results should transfer if:
- You maintain a large, long-lived React frontend — webpack or similar, a monorepo, dependency versions with history behind them.
- You have a big suite you trust (a thousand-plus test files). Here that meant every extraction validated against tests, none leaning on the build oracle alone.
- Your nightmare is hardening breaking the build: the toolchain-hold rule and the build gate exist for exactly the lodash and react-table incidents this study shows being caught.
- Your audit noise is old versions, not fresh CVEs — the win is learning which of them never enter the artifact at all (35 of 40 here), and getting named callers for the one that does.
Book a demo A 15-minute walkthrough: a live elimination on an open-source tree, plus a rough cut of your own ladder from nothing but your lockfile.