gitextract_j7l_cmv1/ ├── .eslintrc.json ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── 1-package-build-failure---inaccurate-sizes.md │ │ ├── 2-similar-package-suggestion.md │ │ ├── 3-feature-request---improvement.md │ │ └── 4-bug_report.md │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .npmrc ├── .nvmrc ├── .prettierignore ├── .travis.yml ├── .yarnrc.yml ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── LICENSE ├── README.md ├── __tests__/ │ ├── errors-cache.test.js │ ├── stress-test.sh │ └── utils.test.js ├── bin/ │ ├── generate-sitemap.js │ ├── getResults.js │ └── updateHistoricalData.js ├── build-service/ │ ├── .yarnrc.yml │ ├── index.js │ └── package.json ├── cache-service/ │ ├── .gitignore │ ├── cache.utils.js │ ├── index.js │ ├── middlewares/ │ │ ├── exports-size.middleware.js │ │ └── package-size.middleware.js │ └── package.json ├── client/ │ ├── analytics.ts │ ├── api.ts │ ├── assets/ │ │ └── public/ │ │ ├── browserconfig.xml │ │ ├── manifest.json │ │ ├── open-search-description.xml │ │ ├── robots.txt │ │ └── sitemap.xml │ ├── components/ │ │ ├── AnnouncementBanner/ │ │ │ ├── AnnouncementBanner.scss │ │ │ ├── AnnouncementBanner.tsx │ │ │ └── index.ts │ │ ├── AutocompleteInput/ │ │ │ ├── AutocompleteInput.scss │ │ │ ├── AutocompleteInput.tsx │ │ │ ├── components/ │ │ │ │ └── SuggestionItem.tsx │ │ │ ├── hooks/ │ │ │ │ ├── useAutocompleteInput.ts │ │ │ │ └── useFontSize.ts │ │ │ └── index.ts │ │ ├── AutocompleteInputBox/ │ │ │ ├── AutocompleteInputBox.scss │ │ │ ├── AutocompleteInputBox.tsx │ │ │ └── index.ts │ │ ├── BarGraph/ │ │ │ ├── BarGraph.scss │ │ │ ├── BarGraph.tsx │ │ │ └── index.ts │ │ ├── BarVersion/ │ │ │ ├── BarVersion.scss │ │ │ └── BarVersion.tsx │ │ ├── BlogLayout/ │ │ │ ├── BlogLayout.scss │ │ │ ├── BlogLayout.tsx │ │ │ └── index.ts │ │ ├── BuildProgressIndicator/ │ │ │ ├── BuildProgressIndicator.scss │ │ │ ├── BuildProgressIndicator.tsx │ │ │ └── index.ts │ │ ├── Header/ │ │ │ ├── Header.tsx │ │ │ └── index.ts │ │ ├── Icons/ │ │ │ ├── SearchIcon.tsx │ │ │ ├── SideEffectIcon.scss │ │ │ ├── SideEffectIcon.tsx │ │ │ ├── TreeShakeIcon.scss │ │ │ └── TreeShakeIcon.tsx │ │ ├── JumpingDots/ │ │ │ ├── JumpingDots.scss │ │ │ ├── JumpingDots.tsx │ │ │ └── index.ts │ │ ├── Layout/ │ │ │ ├── Layout.scss │ │ │ ├── Layout.tsx │ │ │ └── index.ts │ │ ├── MetaTags.tsx │ │ ├── PageNav/ │ │ │ ├── PageNav.tsx │ │ │ └── index.ts │ │ ├── ProgressHex/ │ │ │ ├── ProgressHex.scss │ │ │ ├── ProgressHex.tsx │ │ │ ├── index.ts │ │ │ └── progress-hex-timeline.ts │ │ ├── QuickStatsBar/ │ │ │ ├── QuickStatsBar.scss │ │ │ ├── QuickStatsBar.tsx │ │ │ └── index.ts │ │ ├── ResultLayout/ │ │ │ ├── ResultLayout.scss │ │ │ ├── ResultLayout.tsx │ │ │ └── index.ts │ │ ├── Separator.tsx │ │ ├── SimilarPackageCard/ │ │ │ ├── SimilarPackageCard.scss │ │ │ ├── SimilarPackageCard.tsx │ │ │ └── index.ts │ │ ├── Stat/ │ │ │ ├── Stat.scss │ │ │ ├── Stat.tsx │ │ │ └── index.ts │ │ ├── Treemap/ │ │ │ ├── Treemap.tsx │ │ │ ├── TreemapSquare.tsx │ │ │ ├── index.ts │ │ │ └── squarify.js │ │ └── Warning/ │ │ ├── Warning.scss │ │ ├── Warning.tsx │ │ └── index.ts │ └── config/ │ ├── colors.ts │ └── scanBlacklist.ts ├── index.js ├── index.ts ├── next.config.js ├── nodemon.json ├── package.json ├── pages/ │ ├── _app.page.tsx │ ├── _document.page.tsx │ ├── blog/ │ │ ├── components/ │ │ │ ├── Article.tsx │ │ │ ├── ContentfulProvider.tsx │ │ │ └── Post.tsx │ │ ├── digital-ocean-partnership.page.tsx │ │ └── index.page.tsx │ ├── compare/ │ │ ├── ComparePage.js │ │ ├── ComparePage.scss │ │ └── index.js │ ├── index.page.tsx │ ├── index.scss │ ├── package/ │ │ └── [...packageString]/ │ │ ├── ResultPage.js │ │ ├── ResultPage.scss │ │ ├── components/ │ │ │ ├── ExportAnalysisSection/ │ │ │ │ ├── ExportAnalysisSection.js │ │ │ │ ├── ExportAnalysisSection.scss │ │ │ │ └── index.js │ │ │ ├── InterLinksSection/ │ │ │ │ ├── InterLinksSection.js │ │ │ │ ├── InterLinksSection.scss │ │ │ │ ├── InterLinksSectionCard/ │ │ │ │ │ ├── InterLinksSectionCard.js │ │ │ │ │ ├── InterLinksSectionCard.scss │ │ │ │ │ └── index.js │ │ │ │ └── index.js │ │ │ ├── SimilarPackagesSection/ │ │ │ │ ├── SimilarPackagesSection.js │ │ │ │ ├── SimilarPackagesSection.scss │ │ │ │ └── index.js │ │ │ └── TreemapSection.js │ │ └── index.page.js │ ├── scan/ │ │ ├── Scan.js │ │ ├── Scan.scss │ │ └── index.page.js │ └── scan-results/ │ ├── ScanResults.js │ ├── ScanResults.scss │ └── index.page.js ├── process.yml ├── scripts/ │ ├── README.md │ ├── cleanup-old-keys.ts │ ├── generate-top-packages.js │ ├── package.json │ └── populate-v3.js ├── server/ │ ├── CustomError.js │ ├── Logger.js │ ├── Queue.js │ ├── api/ │ │ └── BuildService.js │ ├── config.js │ ├── data/ │ │ └── similar-packages/ │ │ ├── date-time.js │ │ ├── index.js │ │ ├── markdown.js │ │ └── storage.js │ ├── init.js │ ├── middlewares/ │ │ ├── exports.middleware.js │ │ ├── exportsSizes.middleware.js │ │ ├── generateImg.middleware.js │ │ ├── jsonCache.middleware.js │ │ ├── rateLimit.middleware.js │ │ ├── requestLogger.middleware.js │ │ ├── results/ │ │ │ ├── blockBlacklist.middleware.js │ │ │ ├── build.middleware.js │ │ │ ├── cachedResponse.middleware.js │ │ │ ├── error.middleware.js │ │ │ ├── index.js │ │ │ └── resolvePackage.middleware.js │ │ └── similar-packages/ │ │ ├── fixtures.js │ │ └── similarPackages.middleware.js │ └── worker.js ├── stylesheets/ │ ├── base.scss │ ├── colors.scss │ ├── index.scss │ ├── mixins.scss │ └── variables.scss ├── test-packages/ │ ├── blacklist-error/ │ │ ├── index.js │ │ └── package.json │ ├── build-error/ │ │ ├── index.js │ │ └── package.json │ ├── entry-point-error/ │ │ ├── package.json │ │ └── random-js-file.js │ └── missing-dependency-error/ │ ├── index.js │ └── package.json ├── tsconfig.json ├── tsconfig.server.json ├── types/ │ ├── amplitude.d.ts │ ├── index.ts │ └── react-contentful.d.ts └── utils/ ├── cache.utils.js ├── common.utils.js ├── draw.utils.js ├── firebase.utils.js ├── index.js ├── rebuild.utils.js └── server.utils.js