{"bin":{"depcruise":"bin/dependency-cruise.mjs","depcruise-fmt":"bin/depcruise-fmt.mjs","dependency-cruise":"bin/dependency-cruise.mjs","depcruise-baseline":"bin/depcruise-baseline.mjs","dependency-cruiser":"bin/dependency-cruise.mjs","depcruise-wrap-stream-in-html":"bin/wrap-stream-in-html.mjs"},"bugs":{"url":"https://github.com/sverweij/dependency-cruiser/issues"},"dist":{"shasum":"ad4ac039ef4c0aa71ca4bb23f49a90e7b23cb0fa","tarball":"https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-17.3.8.tgz","fileCount":239,"integrity":"sha512-ziP2ziP7D6MVFK/mFTOQAAb7t2VAD6mhBMjD1Pu9CWDMzozssDN49RprKn8u85mTuK/W6kyiRg9WOyr1Y7lNqg==","signatures":[{"sig":"MEUCIBVYZpxsjz9sYdiRrlDWZy1anJ2A3b5GZYC0aH8JvFSAAiEAqlCd15Td/bZph+O3UPEYZvU0/0gnpA/YyKgipHqOc/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dependency-cruiser@17.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":958337},"main":"src/main/index.mjs","name":"dependency-cruiser","type":"commonjs","upem":{"policies":[{"policy":"wanted","because":"we want to keep interpret ~similar to what webpack-cli uses (which is ^3.1.1 since 2022-11-15). See https://github.com/webpack/webpack-cli/blame/main/packages/webpack-cli/package.json","package":"interpret"},{"policy":"wanted","because":"we want to keep rechoir ~similar to what webpack-cli uses (which is ^0.8.0 since 2022-11-15). See https://github.com/webpack/webpack-cli/blame/main/packages/webpack-cli/package.json","package":"rechoir"},{"policy":"wanted","because":"in the next version (7) some things incompatible with the current setup happen)","package":"eslint-plugin-budapestian"},{"policy":"wanted","because":"in the next version (11) some things incompatible with the current setup happen (probably esm related)","package":"eslint-plugin-mocha"},{"policy":"wanted","because":"in the next version (57) some things incompatible with the current setup happen (e.g. unicorn/catch-error-name dropped? troubles with esm-ness?)","package":"eslint-plugin-unicorn"},{"policy":"wanted","because":"our unit tests that use this fail when upgrading to version 9 - unclear why","package":"symlink-dir"}]},"types":"types/dependency-cruiser.d.mts","author":{"url":"https://sverweij.github.io","name":"Sander Verweij"},"engines":{"node":"^20.12||^22||>=24"},"exports":{".":{"types":"./types/dependency-cruiser.d.mts","import":"./src/main/index.mjs"},"./sample-reporter-plugin":{"types":"./types/plugins/stats-reporter-plugin.d.mts","import":"./configs/plugins/stats-reporter-plugin.mjs"},"./mermaid-reporter-plugin":{"types":"./types/plugins/mermaid-reporter-plugin.d.mts","import":"./src/report/mermaid.mjs"},"./sample-3d-reporter-plugin":{"types":"./types/plugins/3d-reporter-plugin.d.mts","import":"./configs/plugins/3d-reporter-plugin.mjs"},"./config-utl/extract-ts-config":{"types":"./types/config-utl/extract-ts-config.d.mts","import":"./src/config-utl/extract-ts-config.mjs"},"./config-utl/extract-babel-config":{"types":"./types/config-utl/extract-babel-config.d.mts","import":"./src/config-utl/extract-babel-config.mjs"},"./config-utl/extract-depcruise-config":{"types":"./types/config-utl/extract-depcruise-config.d.mts","import":"./src/config-utl/extract-depcruise-config/index.mjs"},"./config-utl/extract-depcruise-options":{"types":"./types/config-utl/extract-depcruise-options.d.mts","import":"./src/config-utl/extract-depcruise-options.mjs"},"./config-utl/extract-webpack-resolve-config":{"types":"./types/config-utl/extract-webpack-resolve-config.d.mts","import":"./src/config-utl/extract-webpack-resolve-config.mjs"}},"gitHead":"d3b9ce28f4266648b9f97ba4ae014afcdcde308a","imports":{"#*":"./src/*"},"license":"MIT","scripts":{"lint":"npm-run-all --parallel --aggregate-output lint:eslint format:check lint:types","test":"LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings NO_COLOR=1 mocha","build":"make build","check":"npm-run-all build lint depcruise test:cover","format":"prettier --log-level warn --write \"src/**/*.?js\" \"configs/**/*.?js\" \"tools/**/*.mjs\" \"bin/*\" \"types/*.d.mts\" \"test/**/*.spec.{cjs,js}\" \"test/**/*.{spec,utl}.mjs\"","test:e":"LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings NO_COLOR=1 mocha --grep \"^\\[[E]\\]\"","test:i":"LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings NO_COLOR=1 mocha --grep \"^\\[[I]\\]\"","test:u":"LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings NO_COLOR=1 mocha --grep \"^\\[[U]\\]\"","prepack":"npm-run-all prepack:format-src-with-tabs prepack:clean-pkg-json","prepare":"husky","version":"npm-run-all build depcruise:graph:doc scm:stage","lint:fix":"npm-run-all lint:eslint:fix format lint:types:fix","postpack":"git restore package.json bin src types configs","scm:push":"run-p --aggregate-output scm:push:*","depcruise":"node ./bin/dependency-cruise.mjs src bin test configs types tools --ignore-known","scm:stage":"git add .","test:glob":"set -f && test \"`bin/dependency-cruise.mjs --no-config test/extract/__mocks__/gather-globbing/packages/**/src/**/*.js | grep \"no dependency violations found\"`\" = \"✔ no dependency violations found (6 modules, 0 dependencies cruised)\"","test:load":"hyperfine --warmup 3 --runs 30 \"bin/dependency-cruise.mjs src bin test configs types tools --ignore-known --no-cache --no-progress\"","check:full":"npm-run-all check test:glob","lint:types":"npm-run-all lint:types:tsc lint:types:lint","test:cover":"LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings NO_COLOR=1 c8 mocha","build:clean":"make clean","lint:eslint":"eslint bin/dependency-cruise.mjs bin src test configs tools/**/*.mjs --cache --cache-location node_modules/.cache/eslint/","upem:update":"npm outdated --json --long | upem | pbcopy && pbpaste","format:check":"prettier --log-level warn --check \"src/**/*.?js\" \"configs/**/*.?js\" \"tools/**/*.mjs\" \"bin/*\" \"types/*.d.mts\" \"test/**/*.spec.{cjs,js}\" \"test/**/*.{spec,utl}.mjs\"","upem:install":"npm install","depcruise:all":"node ./bin/dependency-cruise.mjs src bin test configs types tools","upem-outdated":"npm outdated --json --long | upem --dry-run","lint:types:fix":"eslint --no-ignore --config types/eslint.config.mjs --fix types/*.d.mts","lint:types:tsc":"tsc --project types/tsconfig.json","depcruise:focus":"node ./bin/dependency-cruise.mjs src bin test configs types tools --progress --no-cache --output-type text --focus","lint:eslint:fix":"eslint --fix bin src test configs tools/**/*.mjs --cache --cache-location node_modules/.cache/eslint/","lint:types:lint":"eslint --no-ignore --config types/eslint.config.mjs types/*.d.mts","scm:push:github":"run-p --aggregate-output scm:push:github:*","test:load:short":"hyperfine --warmup 1 --runs 5 \"bin/dependency-cruise.mjs src bin test configs types tools --ignore-known --no-cache --no-progress\"","depcruise:report":"node ./bin/dependency-cruise.mjs src bin test configs types --output-type err-html --config configs/.dependency-cruiser-show-metrics-config.mjs --output-to dependency-violations.html","test:load:cached":"hyperfine --warmup 3 --runs 30 \"bin/dependency-cruise.mjs src bin test configs types tools --ignore-known --cache node_modules/.cache/dependency-cruiser/load-cached --no-progress\"","depcruise:explain":"node ./bin/dependency-cruise.mjs src bin test configs types tools --output-type err-long --progress none","depcruise:reaches":"node ./bin/dependency-cruise.mjs src bin test configs types tools --progress --no-cache --config configs/.dependency-cruiser-unlimited.mjs --output-type text --reaches","depcruise:baseline":"node ./bin/depcruise-baseline.mjs src bin test configs types tools","depcruise:graph:doc":"npm-run-all depcruise:graph:doc:json --parallel depcruise:graph:doc:fmt-* depcruise:graph:doc:samples","update-dependencies":"npm-run-all upem:update upem:install build:clean build lint:eslint:clear-caches lint:fix depcruise test:cover","depcruise:graph:view":"node ./bin/dependency-cruise.mjs bin src --prefix vscode://file/$(pwd)/ --config configs/.dependency-cruiser-show-metrics-config.mjs --output-type x-dot-webpage --progress cli-feedback --highlight \"$(watskeburt main)\" | browser","scm:push:github:tags":"git push --tags","depcruise:report:view":"node ./bin/dependency-cruise.mjs src bin test configs types --output-type err-html --config configs/.dependency-cruiser-show-metrics-config.mjs --output-to - | browser","prepack:clean-pkg-json":"clean-pkg-json --dry --keep overrides --keep resolutions | jq '.scripts = {test: \"echo see github for test, build and analysis scripts\"}' | jq '.type = \"module\"' > smaller-package.json && mv smaller-package.json package.json && prettier --log-level warn --write --use-tabs package.json","scm:push:gitlab-mirror":"run-p --aggregate-output scm:push:gitlab-mirror:*","test:load:cached:short":"hyperfine --warmup 1 --runs 5 \"bin/dependency-cruise.mjs src bin test configs types tools --ignore-known --cache node_modules/.cache/dependency-cruiser/load-cached --no-progress\"","depcruise:graph:mermaid":"node ./bin/dependency-cruise.mjs bin src --include-only ^src/ --collapse 2 --output-type mermaid","scm:push:github:commits":"git push","depcruise:graph:doc:json":"node ./bin/dependency-cruise.mjs bin src test --output-type json --output-to node_modules/.cache/tmp_graph_deps.json --progress","lint:eslint:clear-caches":"rm -rf node_modules/.cache/eslint/","depcruise:graph:view:diff":"node ./bin/dependency-cruise.mjs bin src test --prefix vscode://file/$(pwd)/ --config configs/.dependency-cruiser-unlimited.mjs --output-type x-dot-webpage --progress cli-feedback --affected | browser","scm:push:bitbucket-mirror":"run-p --aggregate-output scm:push:bitbucket-mirror:*","depcruise:graph:doc:fmt-dir":"./bin/depcruise-fmt.mjs -T ddot -f - node_modules/.cache/tmp_graph_deps.json | dot -T svg -Grankdir=TD | tee doc/real-world-samples/dependency-cruiser-dir-graph.svg | node bin/wrap-stream-in-html.mjs > docs/dependency-cruiser-dir-graph.html","depcruise:graph:doc:samples":"sh tools/generate-samples.sh","scm:push:gitlab-mirror:tags":"git push --tags gitlab-mirror","depcruise:graph:mermaid:diff":"node ./bin/dependency-cruise.mjs bin src test types tools --config configs/.dependency-cruiser-unlimited.mjs --output-type mermaid --affected $SHA","prepack:format-src-with-tabs":"prettier --log-level warn --write --use-tabs bin src types configs","depcruise:graph:doc:fmt-archi":"./bin/depcruise-fmt.mjs -T archi -f - node_modules/.cache/tmp_graph_deps.json | dot -T svg -Gordering=in -Grankdir=TD | tee doc/real-world-samples/dependency-cruiser-archi-graph.svg | node bin/wrap-stream-in-html.mjs > docs/dependency-cruiser-archi-graph.html","depcruise:graph:doc:fmt-types":"cd types && node ../bin/dependency-cruise.mjs . --output-type dot | dot -T svg | tee overview.svg | ../bin/wrap-stream-in-html.mjs > overview.html && cd -","depcruise:graph:doc:fmt-detail":"./bin/depcruise-fmt.mjs -T dot -f - node_modules/.cache/tmp_graph_deps.json | dot -T svg | tee doc/real-world-samples/dependency-cruiser-without-node_modules.svg | node bin/wrap-stream-in-html.mjs > docs/dependency-cruiser-dependency-graph.html","depcruise:graph:doc:fmt-schema":"cd tools/schema && node ../../bin/dependency-cruise.mjs . --output-type dot | dot -T svg | tee ../overview.svg | node ../../bin/wrap-stream-in-html.mjs > ../../docs/schema-overview.html && cd -","scm:push:bitbucket-mirror:tags":"git push --tags bitbucket-mirror","scm:push:gitlab-mirror:commits":"git push gitlab-mirror","scm:push:bitbucket-mirror:commits":"git push bitbucket-mirror"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:441d0fce-9c07-40ac-ab76-fd092c63d775"}},"homepage":"https://github.com/sverweij/dependency-cruiser","keywords":["static analysis","circular","dependencies","typescript","javascript","coffeescript","ES6","ES2015","AMD","CommonJS","validation","spelunking"],"overrides":{"diff":"8.0.3","baseline-browser-mapping":"^2.9.15"},"repository":{"url":"git+https://github.com/sverweij/dependency-cruiser.git","type":"git"},"_npmVersion":"11.6.2","description":"Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.","directories":{},"maintainers":[{"name":"sverweij","email":"sander_verweij@yahoo.com"},{"name":"foureightone","email":"foureightone@gmail.com"}],"_nodeVersion":"24.13.0","contributors":[{"url":"https://github.com/0xflotus","name":"0xflotus"},{"url":"https://github.com/alvaro-cuesta","name":"Álvaro Cuesta"},{"url":"https://github.com/annamooseity","name":"anna"},{"url":"https://github.com/bashess","name":"Bastian Hess"},{"url":"https://github.com/soulhat","name":"Bin"},{"url":"https://github.com/mrmckeb","name":"Brody McKee"},{"url":"https://github.com/christianvuerings","name":"Christian Vuerings"},{"url":"https://github.com/Creative-Ataraxia","name":"Creative Ataraxia"},{"url":"https://github.com/cunzaizhuyi","name":"cunzaizhuyi"},{"url":"https://github.com/dignite","name":"Daniel Edholm Ignat"},{"url":"https://danielorodriguez.com","name":"Daniel Rodríguez Rivero"},{"url":"https://github.com/davidparkagoda","name":"davidparkagoda"},{"url":"https://github.com/electrovir","name":"electrovir"},{"url":"https://forivall.com","name":"Emily Marigold Klassen"},{"url":"https://github.com/ferdynator","name":"Frederik Schubert"},{"url":"https://github.com/friederbluemle","name":"Frieder Bluemle"},{"url":"https://github.com/lin-hun","name":"fusheng"},{"url":"https://github.com/greglockwood","name":"Greg Lockwood"},{"url":"https://mh4gf.dev","name":"Hirotaka Miyagi"},{"url":"https://github.com/Winner95","name":"Ivan"},{"url":"https://github.com/magland","name":"Jeremy Magland"},{"url":"https://jessitron.com","name":"Jessica Kerr"},{"url":"https://jonlauridsen.com","name":"Jon Lauridsen"},{"url":"https://github.com/radiantly","name":"Joshua T"},{"url":"https://github.com/kubotak-is","name":"KenjiroKubota"},{"url":"https://github.com/sushichan044","name":"Kentaro Suzuki"},{"url":"https://github.com/ajafff","name":"Klaus Meinhardt"},{"url":"https://larsartmann.com","name":"Lars Artmann"},{"url":"https://github.com/lukeapage","name":"Luke Page"},{"url":"https://github.com/martinslota","name":"Martin Slota"},{"url":"https://github.com/BRMatt","name":"Matt Button"},{"url":"https://github.com/1000i100","name":"Millicent Billette"},{"url":"https://github.com/elektronik2k5","name":"Nick Ribal"},{"url":"https://github.com/quentindemetz","name":"Quentin de Metz"},{"url":"https://klos.dev","name":"Radosław Kłos"},{"url":"https://github.com/neelance","name":"Richard Musiol"},{"url":"https://github.com/donroyco","name":"Roy Swinkels"},{"url":"https://sebastianlandwehr.com","name":"Sebastian Landwehr"},{"url":"https://sharangpai.me","name":"Sharang Pai"},{"url":"https://stefan-gojan.de","name":"Stefan Gojan"},{"url":"https://github.com/tharun208","name":"Tharun Rajendran"},{"url":"https://truongsinh.pro","name":"TruongSinh Tran-Nguyen"},{"url":"https://github.com/7rulnik","name":"Valentin Semirulnik"},{"url":"https://bestmike007.com","name":"Yuanhai He"},{"url":"https://www.zigae.com/","name":"정건우"}],"dependencies":{"acorn":"8.15.0","json5":"2.2.3","ignore":"7.0.5","semver":"7.7.4","prompts":"2.4.2","rechoir":"0.8.0","acorn-jsx":"5.3.2","commander":"14.0.3","interpret":"3.1.1","picomatch":"4.0.3","acorn-walk":"8.3.4","safe-regex":"2.1.1","watskeburt":"5.0.2","acorn-loose":"8.5.2","acorn-jsx-walk":"2.0.0","enhanced-resolve":"5.19.0","is-installed-globally":"1.0.0","tsconfig-paths-webpack-plugin":"4.2.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"10.1.3","ajv":"8.17.1","svgo":"4.0.0","upem":"10.0.3","yarn":"1.22.22","husky":"9.1.7","mocha":"11.7.5","eslint":"9.39.2","svelte":"5.49.2","esbuild":"0.27.3","globals":"17.3.0","prettier":"3.8.1","@swc/core":"1.15.11","@eslint/js":"9.39.2","proxyquire":"2.1.3","typescript":"5.9.3","@babel/core":"7.29.0","@types/node":"25.2.1","lint-staged":"16.2.7","symlink-dir":"^7.1.0","coffeescript":"2.7.0","npm-run-all2":"8.0.4","@types/prompts":"2.4.9","clean-pkg-json":"1.3.0","eslint-plugin-n":"17.23.2","@eslint/eslintrc":"3.3.3","@vue/compiler-sfc":"3.5.27","normalize-newline":"5.0.0","eslint-plugin-mocha":"^10.5.0","eslint-plugin-import":"2.32.0","eslint-plugin-unicorn":"^56.0.1","vue-template-compiler":"2.7.16","eslint-config-prettier":"10.1.8","eslint-plugin-security":"3.0.1","@babel/preset-typescript":"7.28.5","@typescript-eslint/parser":"8.54.0","eslint-plugin-budapestian":"^6.0.0","eslint-config-moving-meadow":"5.0.0","eslint-plugin-eslint-comments":"3.2.0","@typescript-eslint/eslint-plugin":"8.54.0","@babel/plugin-transform-modules-commonjs":"7.28.6"},"supportedTranspilers":{"swc":">=1.0.0 <2.0.0","babel":">=7.0.0 <8.0.0","svelte":">=3.0.0 <6.0.0","livescript":">=1.0.0 <2.0.0","typescript":">=2.0.0 <6.0.0","coffeescript":">=1.0.0 <3.0.0","coffee-script":">=1.0.0 <2.0.0","@vue/compiler-sfc":">=3.0.0 <4.0.0","vue-template-compiler":">=2.0.0 <3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dependency-cruiser_17.3.8_1770579931742_0.6329574970023348","host":"s3://npm-registry-packages-npm-production"},"we-have-these-dependencies-because":{"overrides":{"diff":"Transitive dependency of mocha 11.7.5. diff has a low severity vulnerability in < 8.0.3 (see https://github.com/advisories/GHSA-73rr-hh4g-fpgx)","baseline-browser-mapping":"Without this override this transitive dependency will start rudely printing that it is outdated in the middle of our tests (for reading babel configurations, go figure)"}},"_id":"dependency-cruiser@17.3.8","version":"17.3.8"}