- Как возникают дубли и почему необходима дедупликация: https://www.npmjs.com/package/yarn-deduplicate#why-is-this-necessary
- NPM
npm dedupe
: https://docs.npmjs.com/cli/v11/commands/npm-dedupe - Yarn 1
yarn-deduplicate
: https://www.npmjs.com/package/yarn-deduplicate - Yarn 4
yarn dedupe
: https://yarnpkg.com/cli/dedupe - Yarn dedupes inconsistently: yarnpkg/yarn#6070
- Bun overrides and resolutions: https://bun.sh/docs/install/overrides
- Webpack
resolve.alias
: https://webpack.js.org/configuration/resolve/#resolvealias
- Webpack Tree Shaking: https://webpack.js.org/guides/tree-shaking/
- Tobias Koppers "Rethinking Bundling Strategies": https://gitnation.com/contents/rethinking-bundling-strategies
- Webpack DefinePlugin: https://webpack.js.org/plugins/define-plugin/
- Песочницы для Terser:
- Правила ESLint: https://eslint.org/docs/latest/rules/
- eslint-plugin-import no-unused-modules: https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-unused-modules.md
- Knip:
- GitHub repo: https://github.com/webpro-nl/knip
- Website: https://knip.dev/
- Сравнение с другими инструментами: https://knip.dev/explanations/comparison-and-migration
- TSR (ts-remove-unused): https://github.com/line/tsr
- Depcheck: https://github.com/depcheck/depcheck#readme
- ts-prune: https://github.com/nadeesha/ts-prune
- DevTools Lighthouse Treemap: https://umaar.com/dev-tips/247-lighthouse-treemap/
- How to Collect Native V8 Coverage Data: https://gist.github.com/cenfun/0754c23f03d1aa541b4467920ab4d09f#how-to-collect-native-v8-coverage-data
- C8: native V8 code-coverage: https://github.com/bcoe/c8/
NODE_V8_COVERAGE
: https://nodejs.org/docs/latest/api/cli.html#node_v8_coveragedirv8.takeCoverage
: https://nodejs.org/docs/latest/api/v8.html#v8takecoverage- Пример
v8.takeCoverage
: https://github.com/cenfun/monocart-coverage-reports/blob/main/test/test-node-api.js - Кэш в CommonJS module loader: https://nodejs.org/docs/latest/api/modules.html#requirecache
- Кэш в ES module loader: https://nodejs.org/docs/latest/api/esm.html#no-requirecache
- Кэш
loadCache
в ES module loader: https://github.com/nodejs/node/blob/a4f556fc368f42e830e914a635cc0604b1188eed/lib/internal/modules/esm/loader.js#L160 - Поиск копипасты:
- Code Similarity: https://github.com/fengzilong/code-similarity
- jscpd (JavaScript Copy/Paste Detector): https://github.com/kucherenko/jscpd
- string-similarity (deprecated): https://github.com/aceakash/string-similarity
- simhash: https://github.com/admazely/simhash
- Запуск WebStorm code inspections из командной строки: https://www.jetbrains.com/help/webstorm/command-line-code-inspector.html#inspection-profiles
- CSSO (CSS Optimizer): https://github.com/css/csso
- Detect unused CSS selectors: https://gist.github.com/victor-homyakov/aefd2ed05a050b1068c667d829a17419