├── .github └── workflows │ └── tests.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── src ├── browser │ └── getAllDomNodes.js ├── cli.cjs ├── cli.js ├── customWaitForPageIdle.js ├── defaultScenario.js ├── format.js ├── getDescriptors.js ├── index.js ├── metrics │ ├── collections │ │ ├── collections.js │ │ └── index.js │ ├── domNodesAndListeners │ │ ├── analyzeDomNodes.js │ │ ├── analyzeEventListeners.js │ │ ├── eventListeners.js │ │ └── index.js │ └── heapsnapshots │ │ ├── analyzeHeapsnapshots.js │ │ ├── heapsnapshots.js │ │ └── index.js ├── prettifyStacktrace.js ├── promisePool.js ├── puppeteerUtil.js ├── resolveSourceMappedPositions.js ├── thirdparty │ └── source-map-resolve │ │ ├── LICENSE │ │ └── source-map-resolve.js └── util.js ├── test ├── spec │ ├── basic.test.js │ ├── cli.test.js │ ├── collections.test.js │ ├── customIdleLogic.test.js │ ├── customScenario.test.js │ ├── domNodes.test.js │ ├── errors.test.js │ ├── eventListeners.test.js │ ├── heapsnapshots.test.js │ ├── invalidCollection.test.js │ ├── promisePool.test.js │ ├── shadowDom.test.js │ └── util.js └── www │ ├── basic │ └── index.html │ ├── basicRouter.js │ ├── collections │ ├── index.html │ └── script.js │ ├── collectionsThatCannotBeTracked │ ├── index.html │ └── script.js │ ├── collectionsWithBrokenSourceMaps │ ├── index.html │ └── script.min.js │ ├── collectionsWithLotsOfLeaks │ ├── index.html │ └── script.js │ ├── collectionsWithSourceMaps │ ├── index.html │ ├── script.js │ ├── script.min.js │ └── script.min.js.map │ ├── customIdleLogic │ └── index.html │ ├── domNodes │ └── index.html │ ├── domNodesLeakWithNewNames │ └── index.html │ ├── eventListeners │ └── index.html │ ├── eventListenersNewNodes │ └── index.html │ ├── invalidCollection │ └── index.html │ ├── invisibleLinks │ └── index.html │ ├── listenersLeakWithNewNames │ └── index.html │ ├── login │ └── index.html │ ├── lotsOfLeakingCollections │ ├── index.html │ └── script.js │ ├── minimal │ └── index.html │ ├── multiPage │ ├── a.html │ └── b.html │ ├── recyclesDomNodes │ └── index.html │ ├── recyclesDomNodesNewIds │ └── index.html │ ├── recyclesDomNodesNewIdsAndActualLeak │ └── index.html │ ├── recyclesEventListeners │ └── index.html │ ├── recyclesEventListenersNewNodeIds │ └── index.html │ └── shadowDom │ └── index.html └── types └── index.d.ts /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | onlyBuiltDependencies: 2 | - puppeteer 3 | -------------------------------------------------------------------------------- /src/browser/getAllDomNodes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/browser/getAllDomNodes.js -------------------------------------------------------------------------------- /src/cli.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/cli.cjs -------------------------------------------------------------------------------- /src/cli.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/cli.js -------------------------------------------------------------------------------- /src/customWaitForPageIdle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/customWaitForPageIdle.js -------------------------------------------------------------------------------- /src/defaultScenario.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/defaultScenario.js -------------------------------------------------------------------------------- /src/format.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/format.js -------------------------------------------------------------------------------- /src/getDescriptors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/getDescriptors.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/index.js -------------------------------------------------------------------------------- /src/metrics/collections/collections.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/metrics/collections/collections.js -------------------------------------------------------------------------------- /src/metrics/collections/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/metrics/collections/index.js -------------------------------------------------------------------------------- /src/metrics/domNodesAndListeners/analyzeDomNodes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/metrics/domNodesAndListeners/analyzeDomNodes.js -------------------------------------------------------------------------------- /src/metrics/domNodesAndListeners/analyzeEventListeners.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/metrics/domNodesAndListeners/analyzeEventListeners.js -------------------------------------------------------------------------------- /src/metrics/domNodesAndListeners/eventListeners.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/metrics/domNodesAndListeners/eventListeners.js -------------------------------------------------------------------------------- /src/metrics/domNodesAndListeners/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/metrics/domNodesAndListeners/index.js -------------------------------------------------------------------------------- /src/metrics/heapsnapshots/analyzeHeapsnapshots.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/metrics/heapsnapshots/analyzeHeapsnapshots.js -------------------------------------------------------------------------------- /src/metrics/heapsnapshots/heapsnapshots.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/metrics/heapsnapshots/heapsnapshots.js -------------------------------------------------------------------------------- /src/metrics/heapsnapshots/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/metrics/heapsnapshots/index.js -------------------------------------------------------------------------------- /src/prettifyStacktrace.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/prettifyStacktrace.js -------------------------------------------------------------------------------- /src/promisePool.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/promisePool.js -------------------------------------------------------------------------------- /src/puppeteerUtil.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/puppeteerUtil.js -------------------------------------------------------------------------------- /src/resolveSourceMappedPositions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/resolveSourceMappedPositions.js -------------------------------------------------------------------------------- /src/thirdparty/source-map-resolve/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/thirdparty/source-map-resolve/LICENSE -------------------------------------------------------------------------------- /src/thirdparty/source-map-resolve/source-map-resolve.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/thirdparty/source-map-resolve/source-map-resolve.js -------------------------------------------------------------------------------- /src/util.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/src/util.js -------------------------------------------------------------------------------- /test/spec/basic.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/basic.test.js -------------------------------------------------------------------------------- /test/spec/cli.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/cli.test.js -------------------------------------------------------------------------------- /test/spec/collections.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/collections.test.js -------------------------------------------------------------------------------- /test/spec/customIdleLogic.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/customIdleLogic.test.js -------------------------------------------------------------------------------- /test/spec/customScenario.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/customScenario.test.js -------------------------------------------------------------------------------- /test/spec/domNodes.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/domNodes.test.js -------------------------------------------------------------------------------- /test/spec/errors.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/errors.test.js -------------------------------------------------------------------------------- /test/spec/eventListeners.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/eventListeners.test.js -------------------------------------------------------------------------------- /test/spec/heapsnapshots.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/heapsnapshots.test.js -------------------------------------------------------------------------------- /test/spec/invalidCollection.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/invalidCollection.test.js -------------------------------------------------------------------------------- /test/spec/promisePool.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/promisePool.test.js -------------------------------------------------------------------------------- /test/spec/shadowDom.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/shadowDom.test.js -------------------------------------------------------------------------------- /test/spec/util.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/spec/util.js -------------------------------------------------------------------------------- /test/www/basic/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/basic/index.html -------------------------------------------------------------------------------- /test/www/basicRouter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/basicRouter.js -------------------------------------------------------------------------------- /test/www/collections/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collections/index.html -------------------------------------------------------------------------------- /test/www/collections/script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collections/script.js -------------------------------------------------------------------------------- /test/www/collectionsThatCannotBeTracked/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsThatCannotBeTracked/index.html -------------------------------------------------------------------------------- /test/www/collectionsThatCannotBeTracked/script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsThatCannotBeTracked/script.js -------------------------------------------------------------------------------- /test/www/collectionsWithBrokenSourceMaps/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsWithBrokenSourceMaps/index.html -------------------------------------------------------------------------------- /test/www/collectionsWithBrokenSourceMaps/script.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsWithBrokenSourceMaps/script.min.js -------------------------------------------------------------------------------- /test/www/collectionsWithLotsOfLeaks/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsWithLotsOfLeaks/index.html -------------------------------------------------------------------------------- /test/www/collectionsWithLotsOfLeaks/script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsWithLotsOfLeaks/script.js -------------------------------------------------------------------------------- /test/www/collectionsWithSourceMaps/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsWithSourceMaps/index.html -------------------------------------------------------------------------------- /test/www/collectionsWithSourceMaps/script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsWithSourceMaps/script.js -------------------------------------------------------------------------------- /test/www/collectionsWithSourceMaps/script.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsWithSourceMaps/script.min.js -------------------------------------------------------------------------------- /test/www/collectionsWithSourceMaps/script.min.js.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/collectionsWithSourceMaps/script.min.js.map -------------------------------------------------------------------------------- /test/www/customIdleLogic/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/customIdleLogic/index.html -------------------------------------------------------------------------------- /test/www/domNodes/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/domNodes/index.html -------------------------------------------------------------------------------- /test/www/domNodesLeakWithNewNames/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/domNodesLeakWithNewNames/index.html -------------------------------------------------------------------------------- /test/www/eventListeners/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/eventListeners/index.html -------------------------------------------------------------------------------- /test/www/eventListenersNewNodes/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/eventListenersNewNodes/index.html -------------------------------------------------------------------------------- /test/www/invalidCollection/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/invalidCollection/index.html -------------------------------------------------------------------------------- /test/www/invisibleLinks/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/invisibleLinks/index.html -------------------------------------------------------------------------------- /test/www/listenersLeakWithNewNames/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/listenersLeakWithNewNames/index.html -------------------------------------------------------------------------------- /test/www/login/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/login/index.html -------------------------------------------------------------------------------- /test/www/lotsOfLeakingCollections/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/lotsOfLeakingCollections/index.html -------------------------------------------------------------------------------- /test/www/lotsOfLeakingCollections/script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/lotsOfLeakingCollections/script.js -------------------------------------------------------------------------------- /test/www/minimal/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/minimal/index.html -------------------------------------------------------------------------------- /test/www/multiPage/a.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/multiPage/a.html -------------------------------------------------------------------------------- /test/www/multiPage/b.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/multiPage/b.html -------------------------------------------------------------------------------- /test/www/recyclesDomNodes/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/recyclesDomNodes/index.html -------------------------------------------------------------------------------- /test/www/recyclesDomNodesNewIds/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/recyclesDomNodesNewIds/index.html -------------------------------------------------------------------------------- /test/www/recyclesDomNodesNewIdsAndActualLeak/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/recyclesDomNodesNewIdsAndActualLeak/index.html -------------------------------------------------------------------------------- /test/www/recyclesEventListeners/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/recyclesEventListeners/index.html -------------------------------------------------------------------------------- /test/www/recyclesEventListenersNewNodeIds/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/recyclesEventListenersNewNodeIds/index.html -------------------------------------------------------------------------------- /test/www/shadowDom/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/test/www/shadowDom/index.html -------------------------------------------------------------------------------- /types/index.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nolanlawson/fuite/HEAD/types/index.d.ts --------------------------------------------------------------------------------