├── .c8rc.json ├── .codeclimate.yml ├── .dependency-cruiser-known-violations.json ├── .dependency-cruiser.mjs ├── .gitattributes ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bug-report.md │ ├── feature-request.md │ ├── other.md │ ├── question.md │ └── use-without-config.md ├── PULL_REQUEST_TEMPLATE.md ├── codeql │ ├── codeql-config-actions.yml │ └── codeql-config-javascript.yml ├── copilot-instructions.md ├── dependabot.yml └── workflows │ ├── ci.yml │ ├── codeql-schedule.yml │ ├── prerelease.yml │ ├── release.yml │ ├── semantic-pr-title.yml │ └── stale.yml ├── .gitignore ├── .gitlab-ci.yml ├── .husky └── pre-commit ├── .lintstagedrc.json ├── .mailmap ├── .mocharc.cjs ├── .npmrc ├── .prettierignore ├── .yarnrc ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── bin ├── depcruise-baseline.mjs ├── depcruise-fmt.mjs ├── dependency-cruise.mjs └── wrap-stream-in-html.mjs ├── configs ├── .dependency-cruiser-show-metrics-config.mjs ├── .dependency-cruiser-unlimited.mjs ├── plugins │ ├── 3d-reporter-plugin.mjs │ └── stats-reporter-plugin.mjs ├── recommended-strict.cjs ├── recommended-warn-only.cjs ├── recommended.cjs └── rules │ ├── no-circular.cjs │ ├── no-deprecated-core.cjs │ ├── no-duplicate-dependency-types.cjs │ ├── no-non-package-json.cjs │ ├── no-orphans.cjs │ ├── not-to-deprecated.cjs │ └── not-to-unresolvable.cjs ├── doc ├── README.md ├── api.md ├── assets │ ├── ZKH-Dependency-recolored-160.png │ ├── ZKH-Dependency-recolored-320.png │ ├── ZKH-Dependency-recolored-320.svg │ ├── and-now-with-the-typescript-compiler.svg │ ├── d2.svg │ ├── filtering │ │ ├── focus-depth-2.svg │ │ ├── focus.config.json │ │ ├── focus.svg │ │ ├── reaches-example.svg │ │ ├── reaches-with-highlight.svg │ │ ├── reaches-without-highlight.svg │ │ ├── snazzy-focus.config.json │ │ └── snazzy-focus.svg │ ├── flat-report-counter-example.svg │ ├── flat-report-example.svg │ ├── highlight-on-hover.png │ ├── obfuscated.png │ ├── original.png │ ├── reachable-deps-rule-off.png │ ├── reachable-deps-rule-on.png │ ├── sample-cruise │ │ ├── .dependency-cruiser.js │ │ └── src │ │ │ ├── index.js │ │ │ ├── one-only-one.js │ │ │ ├── one.js │ │ │ ├── orphan.txt │ │ │ ├── shared.js │ │ │ ├── somedata.json │ │ │ ├── sub │ │ │ ├── depindir.js │ │ │ └── index.js │ │ │ └── two.js │ ├── sample-csv-output.csv │ ├── sample-csv-output.png │ ├── sample-dot-output.png │ ├── sample-err-html-output.png │ ├── sample-err-output.png │ ├── sample-err-output.txt │ ├── sample-html-output.html │ ├── sample-html-output.png │ ├── sample-html-rotated-output.png │ ├── sample-json-output.json │ ├── sample-markdown-output.png │ ├── theming │ │ ├── bare.config.js │ │ ├── bare.svg │ │ ├── base.config.js │ │ ├── base.svg │ │ ├── engineering.config.js │ │ ├── engineering.svg │ │ ├── one-tweak.config.js │ │ ├── vertical.config.js │ │ └── vertical.svg │ ├── whoops-no-typescript-compiler.svg │ ├── with-highlight.svg │ ├── with-metrics.png │ └── with-reaches.svg ├── cli.md ├── faq.md ├── options-reference.md ├── output-format.md ├── real-world-samples.md ├── real-world-samples │ ├── berry-dependency-cruiser-config.js │ ├── berry-high-level-dependencies.svg │ ├── bluebird.png │ ├── chalk.png │ ├── coffee-script-coffee-without-node_modules.png │ ├── coffee-script-js-without-node_modules.png │ ├── commander.png │ ├── debug.png │ ├── dependency-cruiser-archi-graph.svg │ ├── dependency-cruiser-dir-graph.svg │ ├── dependency-cruiser-max-depth-1.svg │ ├── dependency-cruiser-max-depth-2.svg │ ├── dependency-cruiser-max-depth-3.svg │ ├── dependency-cruiser-without-node_modules.svg │ ├── moment.png │ ├── no-use-with-pre-compilation-deps.png │ ├── no-use-without-pre-compilation-deps.png │ ├── only-types-with-pre-compilation-deps.png │ ├── only-types-without-pre-compilation-deps.png │ ├── react-dependency-cruiser-config.js │ ├── react-high-level-dependencies.svg │ ├── resolve.png │ ├── safe-regex.png │ ├── tslint-without-node_modules.png │ └── yargs.png ├── recipes │ ├── internal-orphans │ │ ├── .dependency-cruiser-options-only.js │ │ ├── .dependency-cruiser-with-rules.js │ │ ├── before.svg │ │ ├── rules-applied.svg │ │ ├── runme.sh │ │ └── src │ │ │ ├── do-things │ │ │ ├── analyze.ts │ │ │ ├── ingest.ts │ │ │ ├── main.ts │ │ │ ├── not-used-but-using-path.ts │ │ │ ├── parse.ts │ │ │ ├── report.ts │ │ │ └── validate.ts │ │ │ ├── index.ts │ │ │ ├── node_modules │ │ │ └── snodash │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── package.json │ ├── isolating-peer-folders │ │ ├── .dependency-cruiser-options-only.js │ │ ├── .dependency-cruiser-with-rules.js │ │ ├── before.svg │ │ ├── rules-applied.svg │ │ ├── runme.sh │ │ └── src │ │ │ ├── app │ │ │ └── touchpoint-web.ts │ │ │ ├── common │ │ │ └── utensils.ts │ │ │ └── features │ │ │ ├── buy-ticket │ │ │ ├── checkout.ts │ │ │ └── search.ts │ │ │ ├── check-in │ │ │ ├── confirm.ts │ │ │ ├── identify.ts │ │ │ └── index.ts │ │ │ ├── information │ │ │ └── index.ts │ │ │ ├── refund │ │ │ └── index.ts │ │ │ └── select-icecream │ │ │ └── index.ts │ ├── must-use │ │ ├── .dependency-cruiser-options-only.js │ │ ├── .dependency-cruiser-with-rules.js │ │ ├── before.svg │ │ ├── rules-applied.svg │ │ ├── runme.sh │ │ └── src │ │ │ ├── a-controller-this-is-not.ts │ │ │ ├── base-controller.ts │ │ │ ├── cloud-controller.ts │ │ │ ├── index.ts │ │ │ ├── rain-controller.ts │ │ │ ├── sun-controller.ts │ │ │ └── wind-controller.ts │ └── shared-or-not │ │ ├── .dependency-cruiser-options-only.js │ │ ├── .dependency-cruiser-with-rules.js │ │ ├── before.svg │ │ ├── rules-applied.svg │ │ ├── runme.sh │ │ └── src │ │ ├── common │ │ ├── customer.ts │ │ ├── guitar.ts │ │ ├── icecream.ts │ │ └── movie.ts │ │ └── features │ │ ├── check-in.ts │ │ ├── checkout.ts │ │ ├── information.ts │ │ ├── refund.ts │ │ └── search.ts ├── rules-reference.md ├── rules-tutorial.md ├── runme.sh └── sample-output.md ├── docs ├── README.md ├── assets │ ├── berry-high-level-dependencies.html │ ├── dependency-cruiser-social-sharing-image.kra │ ├── dependency-cruiser-social-sharing-image.png │ ├── metal.svg │ └── react-high-level-dependencies.html ├── dependency-cruiser-archi-graph.html ├── dependency-cruiser-dependency-graph.html ├── dependency-cruiser-dir-graph.html ├── index.html ├── nav-onetree.html ├── nav.html ├── schema-overview.html └── sitemap.xml ├── eslint.config.mjs ├── package-lock.json ├── package.json ├── src ├── cache │ ├── cache.mjs │ ├── content-strategy.mjs │ ├── find-content-changes.mjs │ ├── helpers.mjs │ ├── metadata-strategy.mjs │ └── options-compatible.mjs ├── cli │ ├── assert-node-environment-suitable.mjs │ ├── defaults.mjs │ ├── format-meta-info.mjs │ ├── format.mjs │ ├── index.mjs │ ├── init-config │ │ ├── build-config.mjs │ │ ├── config-template.mjs │ │ ├── environment-helpers.mjs │ │ ├── find-extensions.mjs │ │ ├── get-user-input.mjs │ │ ├── index.mjs │ │ ├── normalize-init-options.mjs │ │ ├── types.d.ts │ │ ├── utl.mjs │ │ ├── validators.mjs │ │ ├── write-config.mjs │ │ └── write-run-scripts-to-manifest.mjs │ ├── listeners │ │ ├── cli-feedback.mjs │ │ ├── ndjson.mjs │ │ └── performance-log │ │ │ ├── format-helpers.mjs │ │ │ ├── handlers.mjs │ │ │ └── index.mjs │ ├── normalize-cli-options.mjs │ ├── tools │ │ └── wrap-stream-in-html.mjs │ └── utl │ │ ├── assert-file-existence.mjs │ │ └── io.mjs ├── config-utl │ ├── extract-babel-config.mjs │ ├── extract-depcruise-config │ │ ├── index.mjs │ │ ├── merge-configs.mjs │ │ └── read-config.mjs │ ├── extract-depcruise-options.mjs │ ├── extract-known-violations.mjs │ ├── extract-ts-config.mjs │ ├── extract-webpack-resolve-config.mjs │ └── make-absolute.mjs ├── enrich │ ├── add-validations.mjs │ ├── derive │ │ ├── circular.mjs │ │ ├── dependents │ │ │ ├── get-dependents.mjs │ │ │ └── index.mjs │ │ ├── folders │ │ │ ├── aggregate-to-folders.mjs │ │ │ ├── index.mjs │ │ │ └── utl.mjs │ │ ├── metrics │ │ │ ├── get-module-metrics.mjs │ │ │ └── index.mjs │ │ ├── module-utl.mjs │ │ ├── orphan │ │ │ ├── index.mjs │ │ │ └── is-orphan.mjs │ │ └── reachable.mjs │ ├── enrich-modules.mjs │ ├── index.mjs │ ├── soften-known-violations.mjs │ └── summarize │ │ ├── add-rule-set-used.mjs │ │ ├── get-stats.mjs │ │ ├── index.mjs │ │ ├── is-same-violation.mjs │ │ ├── summarize-folders.mjs │ │ ├── summarize-modules.mjs │ │ └── summarize-options.mjs ├── extract │ ├── acorn │ │ ├── estree-helpers.mjs │ │ ├── extract-amd-deps.mjs │ │ ├── extract-cjs-deps.mjs │ │ ├── extract-es6-deps.mjs │ │ ├── extract-stats.mjs │ │ ├── extract.mjs │ │ └── parse.mjs │ ├── clear-caches.mjs │ ├── extract-dependencies.mjs │ ├── extract-stats.mjs │ ├── gather-initial-sources.mjs │ ├── helpers.mjs │ ├── index.mjs │ ├── resolve │ │ ├── determine-dependency-types.mjs │ │ ├── external-module-helpers.mjs │ │ ├── get-manifest.mjs │ │ ├── index.mjs │ │ ├── is-built-in.mjs │ │ ├── merge-manifests.mjs │ │ ├── module-classifiers.mjs │ │ ├── resolve-amd.mjs │ │ ├── resolve-cjs.mjs │ │ ├── resolve-helpers.mjs │ │ └── resolve.mjs │ ├── swc │ │ ├── dependency-visitor.mjs │ │ ├── extract-swc-deps.mjs │ │ ├── extract.mjs │ │ └── parse.mjs │ ├── transpile │ │ ├── babel-wrap.mjs │ │ ├── coffeescript-wrap.mjs │ │ ├── index.mjs │ │ ├── javascript-wrap.mjs │ │ ├── jsx-implementation-rationale.md │ │ ├── livescript-wrap.mjs │ │ ├── meta.d.ts │ │ ├── meta.mjs │ │ ├── svelte-preprocess.mjs │ │ ├── svelte-wrap.mjs │ │ ├── try-import-available.mjs │ │ ├── typescript-wrap.mjs │ │ └── vue-template-wrap.cjs │ └── tsc │ │ ├── extract-stats.mjs │ │ ├── extract-typescript-deps.mjs │ │ ├── extract.mjs │ │ └── parse.mjs ├── graph-utl │ ├── add-focus.mjs │ ├── compare.mjs │ ├── consolidate-module-dependencies.mjs │ ├── consolidate-modules.mjs │ ├── consolidate-to-folder.mjs │ ├── consolidate-to-pattern.mjs │ ├── filter-bank.mjs │ ├── indexed-module-graph.mjs │ ├── match-facade.mjs │ ├── rule-set.mjs │ └── strip-self-transitions.mjs ├── main │ ├── cruise.mjs │ ├── files-and-dirs │ │ └── normalize.mjs │ ├── format.mjs │ ├── helpers.mjs │ ├── index.d.ts │ ├── index.mjs │ ├── options │ │ ├── assert-validity.mjs │ │ ├── defaults.mjs │ │ └── normalize.mjs │ ├── report-wrap.mjs │ ├── resolve-options │ │ └── normalize.mjs │ └── rule-set │ │ ├── assert-validity.mjs │ │ └── normalize.mjs ├── meta.cjs ├── report │ ├── anon │ │ ├── anonymize-path-element.mjs │ │ ├── anonymize-path.mjs │ │ ├── index.mjs │ │ └── random-string.mjs │ ├── azure-devops.mjs │ ├── baseline.mjs │ ├── csv.mjs │ ├── d2.mjs │ ├── dot-webpage │ │ ├── dot-module.mjs │ │ ├── svg-in-html-snippets │ │ │ ├── script.cjs │ │ │ └── style.css │ │ └── wrap-in-html.mjs │ ├── dot │ │ ├── default-theme.mjs │ │ ├── dot-custom.mjs │ │ ├── dot-flat.mjs │ │ ├── dot-folder.mjs │ │ ├── dot-module.mjs │ │ ├── index.mjs │ │ ├── module-utl.mjs │ │ ├── prepare-custom-level.mjs │ │ ├── prepare-flat-level.mjs │ │ ├── prepare-folder-level.mjs │ │ └── theming.mjs │ ├── error-html │ │ ├── error-html-template.mjs │ │ ├── index.mjs │ │ └── utl.mjs │ ├── error-long.mjs │ ├── error.mjs │ ├── html │ │ ├── html-template.mjs │ │ └── index.mjs │ ├── identity.mjs │ ├── index.mjs │ ├── json.mjs │ ├── markdown.mjs │ ├── mermaid.mjs │ ├── metrics.mjs │ ├── null.mjs │ ├── plugins.mjs │ ├── teamcity.mjs │ ├── text.mjs │ └── utl │ │ ├── dependency-to-incidence-transformer.mjs │ │ └── index.mjs ├── schema │ ├── README.md │ ├── baseline-violations.schema.json │ ├── baseline-violations.schema.mjs │ ├── configuration.schema.json │ ├── configuration.schema.mjs │ ├── cruise-result.schema.json │ └── cruise-result.schema.mjs ├── utl │ ├── array-util.mjs │ ├── bus.mjs │ ├── extract-root-module-name.cjs │ ├── find-all-files.mjs │ ├── get-extension.mjs │ ├── object-util.mjs │ ├── path-to-posix.mjs │ ├── regex-util.mjs │ ├── try-import.mjs │ ├── try-require.cjs │ └── wrap-and-indent.mjs └── validate │ ├── index.d.ts │ ├── index.mjs │ ├── match-dependency-rule.mjs │ ├── match-folder-dependency-rule.mjs │ ├── match-module-rule-helpers.mjs │ ├── match-module-rule.mjs │ ├── matchers.mjs │ ├── rule-classifiers.mjs │ └── violates-required-rule.mjs ├── test ├── api.spec.mjs ├── backwards.utl.mjs ├── cache │ ├── __mocks__ │ │ ├── cache │ │ │ ├── invalid-json │ │ │ │ └── cache.json │ │ │ └── valid-minimal-cache │ │ │ │ └── cache.json │ │ ├── calculate-shasum-of-this.aap │ │ ├── content-strategy │ │ │ ├── extensions-check │ │ │ │ ├── aap-extension-hence-ignored.aap │ │ │ │ ├── noot-extension-hence-returned.noot │ │ │ │ └── zus-extension-hence-ignored.zus │ │ │ └── prepared-revision-data │ │ │ │ ├── bar.js │ │ │ │ ├── baz.js │ │ │ │ └── foo.js │ │ └── find-content-changes │ │ │ ├── both-modified │ │ │ ├── in-folder-as-well-different-checksum.js │ │ │ └── in-folder-as-well-no-checksum.js │ │ │ ├── empty-folder │ │ │ └── .gitkeep │ │ │ ├── exclude-filter │ │ │ ├── excluded-based-on-exclude-option.js │ │ │ └── interesting-extension.js │ │ │ ├── extensions-only │ │ │ ├── interesting-extension.js │ │ │ └── non-interesting-extension.ts │ │ │ ├── folder-with-unfollowable-extensions │ │ │ └── not-in-content-changes-as-extension.weird │ │ │ ├── include-only-filter │ │ │ ├── boeie.js │ │ │ ├── interesting-as-well.js │ │ │ ├── interesting-extension.js │ │ │ └── not-interested-in-this-one.js │ │ │ └── unmodified │ │ │ └── in-folder-as-well-unmodified.js │ ├── cache.spec.mjs │ ├── content-strategy.spec.mjs │ ├── find-content-changes.spec.mjs │ ├── metadata-strategy.spec.mjs │ └── options-compatible.spec.mjs ├── cli │ ├── __fixtures__ │ │ ├── alternate-basedir │ │ │ ├── expected.json │ │ │ └── src │ │ │ │ └── index.ts │ │ ├── babel │ │ │ ├── babel-es6-result.json │ │ │ ├── babel-ts-result.json │ │ │ ├── es6 │ │ │ │ ├── babelrc.valid.json │ │ │ │ ├── src │ │ │ │ │ ├── index.js │ │ │ │ │ ├── shared │ │ │ │ │ │ └── index.js │ │ │ │ │ └── something │ │ │ │ │ │ └── else.js │ │ │ │ └── webpack-cache-bust.config.js │ │ │ └── ts │ │ │ │ ├── babelrc.json │ │ │ │ ├── src │ │ │ │ ├── index.ts │ │ │ │ ├── shared │ │ │ │ │ └── index.ts │ │ │ │ └── something │ │ │ │ │ ├── else.ts │ │ │ │ │ ├── home.ts │ │ │ │ │ ├── routes-config.ts │ │ │ │ │ └── some-page.tsx │ │ │ │ └── webpack-cache-bust.config.js │ │ ├── cjs.dir.filtered.csv │ │ ├── cjs.dir.filtered.dot │ │ ├── cjs.dir.filtered.html │ │ ├── cjs.dir.filtered.json │ │ ├── cjs.dir.json │ │ ├── cjs.dir.stdout.json │ │ ├── cjs.file.json │ │ ├── cjs │ │ │ ├── node_modules │ │ │ │ └── somemodule │ │ │ │ │ ├── node_modules │ │ │ │ │ └── someothermodule │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── package.json │ │ │ │ │ └── src │ │ │ │ │ ├── moar-javascript.js │ │ │ │ │ └── somemodule.js │ │ │ ├── one_only_one.js │ │ │ ├── one_only_two.js │ │ │ ├── root_one.js │ │ │ ├── root_two.js │ │ │ ├── shared.js │ │ │ ├── somedata.json │ │ │ ├── sub │ │ │ │ ├── depindir.js │ │ │ │ └── dir.js │ │ │ └── two_only_one.js │ │ ├── duplicate-subs │ │ │ ├── expected.dot │ │ │ ├── nested-sub │ │ │ │ └── sub │ │ │ │ │ ├── index.js │ │ │ │ │ ├── sub.js │ │ │ │ │ └── wakka.js │ │ │ └── sub │ │ │ │ ├── index.js │ │ │ │ ├── more-in-sub.js │ │ │ │ └── most-in-sub.js │ │ ├── dynamic-import-nok.json │ │ ├── dynamic-import-ok.json │ │ ├── empty.json │ │ ├── init-config │ │ │ ├── config-file-exists │ │ │ │ └── .dependency-cruiser.js │ │ │ ├── no-config-files-exist │ │ │ │ ├── .keepalive │ │ │ │ ├── oeleboele.cjs │ │ │ │ └── oeleboele.js │ │ │ ├── pnpIsEnabled │ │ │ │ ├── no-installConfig-key │ │ │ │ │ └── package.json │ │ │ │ ├── no-package-json-here │ │ │ │ │ └── .keepalive │ │ │ │ ├── package-json-invalid │ │ │ │ │ └── package.json │ │ │ │ ├── pnp-attribute-false │ │ │ │ │ └── package.json │ │ │ │ ├── pnp-attribute-missing │ │ │ │ │ └── package.json │ │ │ │ └── pnp-attribute-true │ │ │ │ │ └── package.json │ │ │ ├── ts-config-exists │ │ │ │ └── tsconfig.json │ │ │ ├── validate-location │ │ │ │ ├── another-existing-folder │ │ │ │ │ └── .keepalive │ │ │ │ ├── existing-file │ │ │ │ └── existing-folder │ │ │ │ │ └── .keepalive │ │ │ └── webpack-config-exists │ │ │ │ └── webpack.config.js │ │ ├── jsdoc-import-tags │ │ │ ├── dependency-cruiser-config.mjs │ │ │ ├── expected.json │ │ │ └── src │ │ │ │ ├── index.mjs │ │ │ │ └── types.d.mts │ │ ├── known-errors-known.txt │ │ ├── known-errors-not-known.txt │ │ ├── known-violations │ │ │ ├── config.js │ │ │ ├── invalid-known-violation-file.json │ │ │ ├── known.json │ │ │ └── src │ │ │ │ ├── aap.js │ │ │ │ ├── forbidden-fruit │ │ │ │ ├── apple.js │ │ │ │ └── peach.js │ │ │ │ ├── mies.js │ │ │ │ ├── noot.js │ │ │ │ └── rotten-fruit │ │ │ │ └── mispel.js │ │ ├── multiple-in-one-go.json │ │ ├── normalize-config │ │ │ ├── both-js-and-json │ │ │ │ ├── .dependency-cruiser.js │ │ │ │ └── .dependency-cruiser.json │ │ │ ├── js-only │ │ │ │ └── .dependency-cruiser.js │ │ │ ├── json-only │ │ │ │ └── .dependency-cruiser.json │ │ │ ├── known-violations │ │ │ │ ├── .dependency-cruiser-known-violations.json │ │ │ │ └── custom-known-violations.json │ │ │ └── no-default-config │ │ │ │ └── .keepalive │ │ ├── result-has-a-dependency-violation.json │ │ ├── rules.empty.json │ │ ├── rules.sub-not-allowed-error.json │ │ ├── rules.sub-not-allowed.json │ │ ├── rules.tsConfigNoFileName.json │ │ ├── rules.webpackConfigNoFileName.json │ │ ├── rules.withcomments.js │ │ ├── rules.withcomments.json │ │ ├── transgression-count.json │ │ ├── typescript-path-resolution.json │ │ ├── typescriptconfig │ │ │ ├── cli-config-with-path │ │ │ │ ├── src │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── shared │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── something │ │ │ │ │ │ └── else.ts │ │ │ │ ├── tsconfig.json │ │ │ │ └── webpack.config.js │ │ │ └── cli-dynamic-imports │ │ │ │ ├── import_dynamically.ts │ │ │ │ ├── import_dynamically2.ts │ │ │ │ ├── import_this.ts │ │ │ │ ├── tsconfig.compile_dynamic_imports.json │ │ │ │ └── tsconfig.error_on_compile_dynamic_imports.json │ │ ├── unresolvable-in-sub │ │ │ └── refers-to-an-unresolvable-module.js │ │ ├── webpack-config-alias-cruiser-config.json │ │ ├── webpack-config-alias.json │ │ ├── webpackconfig │ │ │ └── aliassy │ │ │ │ ├── dependency-cruiser-json-with-webpack-config.json │ │ │ │ ├── src │ │ │ │ ├── configspullen │ │ │ │ │ ├── index.js │ │ │ │ │ └── someconfig.json │ │ │ │ └── index.js │ │ │ │ └── webpack.regularexport.config.js │ │ ├── workspaces-mono-repo-aliases │ │ │ ├── .dependency-cruiser.js │ │ │ ├── apps │ │ │ │ └── admin │ │ │ │ │ ├── direct-relative-import.ts │ │ │ │ │ ├── from-subpath-import.ts │ │ │ │ │ ├── from-tsconfig-base-url.ts │ │ │ │ │ ├── from-tsconfig-path-star.ts │ │ │ │ │ ├── from-tsconfig-path.ts │ │ │ │ │ └── from-workspace.ts │ │ │ ├── expected.json │ │ │ ├── libs │ │ │ │ ├── aap │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── mies │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── noot │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── wim │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── zus │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ ├── node_modules │ │ │ │ ├── .package-lock.json │ │ │ │ ├── aap │ │ │ │ ├── mies │ │ │ │ ├── noot │ │ │ │ ├── wim │ │ │ │ └── zus │ │ │ ├── package.json │ │ │ └── tsconfig.json │ │ └── workspaces-mono-repo │ │ │ ├── apps │ │ │ └── index.mjs │ │ │ ├── expected.json │ │ │ ├── libs │ │ │ ├── books │ │ │ │ └── index.mjs │ │ │ ├── bücher │ │ │ │ └── index.mjs │ │ │ ├── livres │ │ │ │ └── index.mjs │ │ │ ├── package.json │ │ │ └── 图书 │ │ │ │ └── index.mjs │ │ │ ├── node_modules │ │ │ ├── .package-lock.json │ │ │ ├── 3kq578f │ │ │ ├── chose │ │ │ ├── ding │ │ │ ├── libs │ │ │ └── thing │ │ │ ├── package.json │ │ │ └── packages │ │ │ ├── chose │ │ │ ├── index.js │ │ │ └── package.json │ │ │ ├── ding │ │ │ ├── index.js │ │ │ └── package.json │ │ │ ├── thing │ │ │ ├── index.js │ │ │ └── package.json │ │ │ └── 事物 │ │ │ ├── index.js │ │ │ └── package.json │ ├── __output__ │ │ └── .keepalive │ ├── asserthelpers.utl.mjs │ ├── delete-dammit.utl.cjs │ ├── format-meta-info.spec.mjs │ ├── format.spec.mjs │ ├── index.spec.mjs │ ├── init-config │ │ ├── __fixtures__ │ │ │ ├── bun-config │ │ │ │ └── bunfig.toml │ │ │ ├── bun-lockfile │ │ │ │ └── bun.lockb │ │ │ ├── get-matching-filenames-babel-manifest │ │ │ │ ├── .babelrc │ │ │ │ ├── .babelrc.js │ │ │ │ ├── .babelrc.json │ │ │ │ ├── babel.blabla-config.json │ │ │ │ ├── babel.config.js │ │ │ │ ├── babel.config.json │ │ │ │ ├── package.json │ │ │ │ └── tower-of-babel.config.json5 │ │ │ ├── get-matching-filenames-babel │ │ │ │ ├── .babelrc │ │ │ │ ├── .babelrc.js │ │ │ │ ├── .babelrc.json │ │ │ │ ├── babel.blabla-config.json │ │ │ │ ├── babel.config.js │ │ │ │ ├── babel.config.json │ │ │ │ ├── package.json │ │ │ │ └── tower-of-babel.config.json5 │ │ │ ├── get-matching-filenames-empty │ │ │ │ └── .keepalive │ │ │ ├── get-matching-filenames-ts │ │ │ │ ├── extended-tsconfig-from-base.json │ │ │ │ ├── jsconfig.json │ │ │ │ ├── thingie-jsconfig.json │ │ │ │ ├── tsconfig.base.json │ │ │ │ ├── tsconfig.js │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.ts │ │ │ ├── get-matching-filenames-webpack │ │ │ │ ├── spiderwebpackconfig.cjs │ │ │ │ ├── webpack-base-config.js │ │ │ │ ├── webpack.conf.json │ │ │ │ └── webpack.config.js │ │ │ ├── is-type-module-commonjs │ │ │ │ └── package.json │ │ │ ├── is-type-module-empty │ │ │ │ └── .gitkeep │ │ │ ├── is-type-module-not-present │ │ │ │ └── package.json │ │ │ ├── is-type-module │ │ │ │ └── package.json │ │ │ ├── update-manifest-dc-config-exists │ │ │ │ ├── .dependency-cruiser.js │ │ │ │ ├── .keepalive │ │ │ │ └── src │ │ │ │ │ └── .keepalive │ │ │ ├── update-manifest │ │ │ │ ├── .keepalive │ │ │ │ └── src │ │ │ │ │ └── .keepalive │ │ │ └── validate-file-existence │ │ │ │ └── i-have-bytes-therefore-i-exist │ │ ├── __mocks__ │ │ │ ├── extensions │ │ │ │ ├── both-js-and-ts-extensions │ │ │ │ │ └── src │ │ │ │ │ │ ├── only-javascript │ │ │ │ │ │ ├── explicity-common-js-1.cjs │ │ │ │ │ │ ├── javascript-1.js │ │ │ │ │ │ ├── javascript-2.js │ │ │ │ │ │ └── javascript-3.js │ │ │ │ │ │ └── only-typescript │ │ │ │ │ │ ├── types.d.mts │ │ │ │ │ │ ├── typescript-1.ts │ │ │ │ │ │ └── typescript-2.ts │ │ │ │ └── no-extensions │ │ │ │ │ ├── another-file-without-an-extension │ │ │ │ │ └── file-without-an-extension │ │ │ ├── mono-repo-with-other-files │ │ │ │ ├── lalalaconfig.coffee │ │ │ │ └── packages │ │ │ │ │ └── some-source.js │ │ │ ├── no-typescript-here │ │ │ │ └── this-is-javascript.js │ │ │ ├── typescript-here │ │ │ │ └── src │ │ │ │ │ └── esm-typescript.mts │ │ │ └── typescript-in-test-only │ │ │ │ ├── src │ │ │ │ └── this-is-only-javasript.js │ │ │ │ └── test │ │ │ │ └── this-is-a-test.spec.cts │ │ ├── build-config.spec.mjs │ │ ├── environment-helpers-matching-filenames.spec.mjs │ │ ├── environment-helpers.spec.mjs │ │ ├── find-extensions.spec.mjs │ │ ├── index.spec.mjs │ │ ├── normalize-init-options.spec.mjs │ │ ├── utl.spec.mjs │ │ ├── validators.spec.mjs │ │ ├── write-config.spec.mjs │ │ └── write-run-scripts-to-manifest.spec.mjs │ ├── listeners │ │ └── performance-log-listener │ │ │ ├── format-helpers.spec.mjs │ │ │ └── handlers.spec.mjs │ ├── normalize-cli-options.spec.mjs │ ├── tools │ │ └── wrap-stream-in-html.spec.mjs │ ├── utl │ │ ├── __fixtures__ │ │ │ └── empty.json │ │ ├── assert-file-existence.spec.mjs │ │ └── io.spec.mjs │ ├── validate-node-environment.spec.mjs │ └── writable-test-stream.utl.mjs ├── config-utl │ ├── __mocks__ │ │ ├── babelconfig-js │ │ │ ├── babel.config.wildly-unsupported-extension │ │ │ ├── babel.es-module.config.js │ │ │ ├── babel.es-module.config.mjs │ │ │ ├── babel.function-export.config.js │ │ │ └── babel.object-export.config.js │ │ ├── babelconfig │ │ │ ├── babelrc.empty.json │ │ │ ├── babelrc.invalid.json │ │ │ ├── babelrc.not-a-babel-option.json │ │ │ ├── babelrc.valid.json │ │ │ ├── babelrc.with-a-preset.json │ │ │ ├── no-babel-config-in-this-package.json │ │ │ └── package.json │ │ ├── depcruiseconfig │ │ │ ├── empty.mjs │ │ │ ├── rules.sub-not-allowed-error-with-options.json │ │ │ └── rules.sub-not-allowed-error.json │ │ ├── known-violations │ │ │ ├── known-violations-with-cycles-in-new-format.json │ │ │ ├── known-violations-with-cycles-in-old-format.json │ │ │ ├── known-violations-with-vias-in-new-format.json │ │ │ ├── known-violations-with-vias-in-old-format.json │ │ │ ├── known-violations.json │ │ │ └── this-is-no-json.txt │ │ ├── typescriptconfig │ │ │ ├── dummysrc.ts │ │ │ ├── tsconfig.asgeneratedbydefault.json │ │ │ ├── tsconfig.circular.json │ │ │ ├── tsconfig.compileroptionsbase.json │ │ │ ├── tsconfig.compileroptionsextends.json │ │ │ ├── tsconfig.compileroptionsextendslib.json │ │ │ ├── tsconfig.empty.json │ │ │ ├── tsconfig.extendsnonexisting.json │ │ │ ├── tsconfig.invalid.json │ │ │ ├── tsconfig.noncompileroptionsbase.json │ │ │ ├── tsconfig.noncompileroptionsbaselib.json │ │ │ ├── tsconfig.noncompileroptionsextends.json │ │ │ ├── tsconfig.ralucric.json │ │ │ ├── tsconfig.simplebase.json │ │ │ ├── tsconfig.simpleextends.json │ │ │ └── tsconfig.withcomments.json │ │ └── webpackconfig │ │ │ ├── aliassy │ │ │ ├── webpack.arrayexport.config.js │ │ │ ├── webpack.functionarrayexport.config.js │ │ │ └── webpack.functionexport.config.js │ │ │ ├── hasaresolve.config.js │ │ │ ├── hastwoseparateresolves.config.js │ │ │ ├── invalid.config.js │ │ │ ├── noresolve.config.js │ │ │ ├── webpack.config.json5 │ │ │ ├── webpack.config.ls │ │ │ ├── webpack.config.mjs │ │ │ └── webpack.config.unknown-extension │ ├── extract-babel-config.spec.mjs │ ├── extract-depcruise-config │ │ ├── __mocks__ │ │ │ ├── extends │ │ │ │ ├── base-for-base.js │ │ │ │ ├── base-for-extends.js │ │ │ │ ├── circular-one.js │ │ │ │ ├── circular-two.js │ │ │ │ ├── extending-array-with-one-member.json │ │ │ │ ├── extending-array-with-two-members.json │ │ │ │ ├── extending-array-with-zero-members.json │ │ │ │ ├── extending-from-node-modules.json │ │ │ │ ├── extending.json │ │ │ │ ├── merged-array-1.json │ │ │ │ ├── merged-array-2.json │ │ │ │ ├── merged.json │ │ │ │ ├── node_modules │ │ │ │ │ └── base-from-node-modules │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ └── second-base-for-extends.json │ │ │ ├── read-config │ │ │ │ ├── dc.alien │ │ │ │ ├── dc.cjs │ │ │ │ ├── dc.js │ │ │ │ ├── dc.json │ │ │ │ └── dc.mjs │ │ │ └── rules.sub-not-allowed-error.json │ │ ├── index.spec.mjs │ │ ├── merge-rule-sets.spec.mjs │ │ └── read-config.spec.mjs │ ├── extract-depcruise-options.spec.mjs │ ├── extract-known-violations.spec.mjs │ ├── extract-ts-config.spec.mjs │ ├── extract-webpack-resolve-config-native.spec.mjs │ ├── extract-webpack-resolve-config-non-native.spec.mjs │ └── make-absolute.spec.mjs ├── configs │ └── no-orphans.spec.mjs ├── enrich │ ├── __mocks__ │ │ ├── cycle-fest.mjs │ │ ├── cycle-starts-on-one.mjs │ │ └── cycle-starts-on-two.mjs │ ├── derive │ │ ├── circular.spec.mjs │ │ ├── dependents │ │ │ ├── get-dependents.spec.mjs │ │ │ └── index.spec.mjs │ │ ├── folders │ │ │ ├── aggregate-to-folders.spec.mjs │ │ │ ├── index.spec.mjs │ │ │ └── utl.spec.mjs │ │ ├── metrics │ │ │ └── module.spec.mjs │ │ ├── orphan │ │ │ ├── __mocks__ │ │ │ │ ├── one-module.afterprocessing.mjs │ │ │ │ ├── one-module.mjs │ │ │ │ ├── two-module.afterprocessing.mjs │ │ │ │ └── two-module.mjs │ │ │ ├── index.spec.mjs │ │ │ └── is-orphan.spec.mjs │ │ └── reachable.spec.mjs │ ├── is-same-violation.spec.mjs │ ├── soften-known-violations.spec.mjs │ ├── summarize-folders.spec.mjs │ └── summarize.spec.mjs ├── extract │ ├── __fixtures__ │ │ ├── amd-bang-CJSWrapper.json │ │ ├── amd-bang-requirejs.json │ │ ├── amd.json │ │ ├── cache-busting-first-tree.json │ │ ├── cache-busting-second-tree.json │ │ ├── cjs.json │ │ ├── coffee.json │ │ ├── donotfollow-dependency-types.json │ │ ├── donotfollow.json │ │ ├── es6.json │ │ ├── max-depth-0.json │ │ ├── max-depth-1.json │ │ ├── max-depth-2.json │ │ ├── max-depth-4.json │ │ ├── ts-types.json │ │ ├── ts.json │ │ ├── vue.json │ │ └── with-stats │ │ │ └── output.json │ ├── __mocks__ │ │ ├── amd-bangs │ │ │ ├── excitingpolyfill.js │ │ │ ├── hurray.js │ │ │ ├── root_one.js │ │ │ ├── simplified-commonjs-wrapper.js │ │ │ └── somedata.json │ │ ├── amd │ │ │ ├── looks-like-amd-but-isnt.js │ │ │ ├── module-as-a-function.js │ │ │ ├── module-with-a-name.js │ │ │ ├── one_only_one.js │ │ │ ├── one_only_two.js │ │ │ ├── requires-non-relative-module.js │ │ │ ├── root-module-require.js │ │ │ ├── root_one.js │ │ │ ├── root_two.js │ │ │ ├── shared.js │ │ │ ├── simplified-commonjs-wrapper.js │ │ │ ├── somedata.json │ │ │ ├── sub │ │ │ │ ├── depindir.js │ │ │ │ ├── dir.js │ │ │ │ └── local-module-in-drag.js │ │ │ ├── symlink.js │ │ │ └── two_only_one.js │ │ ├── cache-busting-first-tree │ │ │ ├── index.ts │ │ │ ├── local.js │ │ │ ├── node_modules │ │ │ │ └── different-in-other-tree │ │ │ │ │ ├── index-a.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── cache-busting-second-tree │ │ │ ├── index.ts │ │ │ ├── local.js │ │ │ ├── node_modules │ │ │ │ └── different-in-other-tree │ │ │ │ │ ├── index-a.js │ │ │ │ │ ├── index-b.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── cjs-bangs │ │ │ ├── dependency.js │ │ │ └── index.js │ │ ├── cjs-multi-bangs │ │ │ ├── dependency.js │ │ │ └── index.js │ │ ├── cjs-require-non-strings │ │ │ ├── othermodule.js │ │ │ ├── require-a-function.js │ │ │ ├── require-a-number.js │ │ │ ├── require-an-iife.js │ │ │ └── requiredfromafunction.js │ │ ├── cjs │ │ │ ├── circle-one.js │ │ │ ├── circle-three.js │ │ │ ├── circle-two.js │ │ │ ├── circular.js │ │ │ ├── declare-and-use.js │ │ │ ├── direct-require.js │ │ │ ├── directory-inclusion.js │ │ │ ├── dot-js-inclusion.js │ │ │ ├── duplicates.js │ │ │ ├── empty.js │ │ │ ├── one_only_one.js │ │ │ ├── one_only_two.js │ │ │ ├── pointed-to-by-circular.js │ │ │ ├── points-to-circle-one.js │ │ │ ├── ralucric.js │ │ │ ├── require-tester.js │ │ │ ├── requires-non-existing-module.js │ │ │ ├── root_one.js │ │ │ ├── root_two.js │ │ │ ├── shared.js │ │ │ ├── somedata.json │ │ │ ├── sub │ │ │ │ ├── depends-on-some-module.js │ │ │ │ ├── depindir.js │ │ │ │ ├── dir.js │ │ │ │ ├── node_modules │ │ │ │ │ └── some-module │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── package.json │ │ │ │ ├── not-the-index.js │ │ │ │ └── package.json │ │ │ ├── symlink.js │ │ │ └── two_only_one.js │ │ ├── coffee │ │ │ ├── index.coffee │ │ │ ├── javascriptThing.js │ │ │ └── sub │ │ │ │ ├── index.coffee │ │ │ │ ├── kaching.litcoffee │ │ │ │ └── willBeReExported.coffee.md │ │ ├── donotfollow-dependency-types │ │ │ ├── dofollowstuffinhere │ │ │ │ ├── callfromlocal.js │ │ │ │ └── index.js │ │ │ ├── donotfollowonceinthisfolder │ │ │ │ ├── index.js │ │ │ │ ├── meta.js │ │ │ │ └── notcalledfromoutside.js │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ ├── in-package-json │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── somethinginternal.js │ │ │ │ └── not-in-package-json │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── somethinginternal.js │ │ │ └── package.json │ │ ├── donotfollow │ │ │ ├── dofollowstuffinhere │ │ │ │ ├── callfromlocal.js │ │ │ │ └── index.js │ │ │ ├── donotfollowonceinthisfolder │ │ │ │ ├── index.js │ │ │ │ ├── meta.js │ │ │ │ └── notcalledfromoutside.js │ │ │ └── index.js │ │ ├── es6 │ │ │ ├── imports-and-exports.js │ │ │ └── system-import.js │ │ ├── exclude │ │ │ ├── dynamic │ │ │ │ └── es │ │ │ │ │ ├── output.json │ │ │ │ │ └── src │ │ │ │ │ ├── circular.js │ │ │ │ │ ├── dynamic-to-circular.js │ │ │ │ │ └── index.js │ │ │ └── path │ │ │ │ └── es │ │ │ │ ├── output.json │ │ │ │ └── src │ │ │ │ ├── circular.js │ │ │ │ ├── dynamic-to-circular.js │ │ │ │ └── index.js │ │ ├── exotic-require │ │ │ ├── index.js │ │ │ └── required-with-need.js │ │ ├── extra-extensions │ │ │ ├── gathered.ratm │ │ │ ├── in-the-name-of.ratm │ │ │ ├── innocent-javascript.js │ │ │ ├── not-in-extra-extensions-and-no-available-parser-so.notparsed │ │ │ └── not-parsed-when-in-extra-extensions.yolo │ │ ├── extract-stats-nop.mjs │ │ ├── extract-stats-testfile.mjs │ │ ├── gather-globbing │ │ │ ├── lerna.json │ │ │ ├── package.json │ │ │ └── packages │ │ │ │ ├── baldr │ │ │ │ ├── package.json │ │ │ │ ├── spec │ │ │ │ │ ├── bow.spec.js │ │ │ │ │ ├── index.spec.js │ │ │ │ │ └── typo.spec.ts │ │ │ │ └── src │ │ │ │ │ ├── bow.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── typo.ts │ │ │ │ ├── freyja │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ │ ├── loki │ │ │ │ ├── index.ts │ │ │ │ ├── package.json │ │ │ │ ├── script │ │ │ │ │ └── hots.js │ │ │ │ └── src │ │ │ │ │ ├── fake │ │ │ │ │ └── nothing.to.see.here.ts │ │ │ │ │ ├── index.spec.ts │ │ │ │ │ └── index.ts │ │ │ │ └── odin │ │ │ │ ├── package.json │ │ │ │ ├── src │ │ │ │ └── deep │ │ │ │ │ ├── ly.js │ │ │ │ │ ├── ly.spec.js │ │ │ │ │ └── ly │ │ │ │ │ ├── index.js │ │ │ │ │ └── nested.js │ │ │ │ └── test │ │ │ │ ├── deeplynested.spec.ts │ │ │ │ └── index.spec.js │ │ ├── include │ │ │ ├── di.js │ │ │ └── src │ │ │ │ ├── bla.js │ │ │ │ └── index.js │ │ ├── invalid-symlink │ │ │ └── index.js │ │ ├── maxDepth │ │ │ ├── index.js │ │ │ ├── oneAndTwoDeep.js │ │ │ ├── oneDeep.js │ │ │ ├── sub │ │ │ │ ├── oneDeepInSub.js │ │ │ │ ├── threeDeepInSub.js │ │ │ │ └── twoDeepInSub.js │ │ │ └── twoDeep.js │ │ ├── reachable │ │ │ ├── .dependency-cruiser.js │ │ │ └── src │ │ │ │ ├── index.js │ │ │ │ ├── other-stuff │ │ │ │ ├── index.js │ │ │ │ ├── untouched-one.js │ │ │ │ └── untouched-two.js │ │ │ │ └── relevant │ │ │ │ ├── dothings.js │ │ │ │ ├── gimmedata.js │ │ │ │ ├── index.js │ │ │ │ └── to-untouched.js │ │ ├── specifyTsPreCompilationDeps │ │ │ ├── index.ts │ │ │ ├── pre-compilation-only.d.ts │ │ │ └── real-deal.ts │ │ ├── symlinkTarget │ │ │ └── index.js │ │ ├── syntax-error.js │ │ ├── ts-types │ │ │ ├── things.ts │ │ │ ├── two-import-types-one-dependency-one-import-statement.ts │ │ │ ├── two-import-types-one-dependency.mts │ │ │ └── two-import-types-one-dependency.ts │ │ ├── ts │ │ │ ├── README.md │ │ │ ├── index.ts │ │ │ ├── javascriptThing.js │ │ │ └── sub │ │ │ │ ├── index.ts │ │ │ │ ├── kaching.ts │ │ │ │ └── willBeReExported.ts │ │ ├── vue │ │ │ ├── javascriptThing.js │ │ │ ├── sub │ │ │ │ ├── index.ts │ │ │ │ └── kaching.ts │ │ │ └── vue.vue │ │ └── with-stats │ │ │ ├── aap.mjs │ │ │ ├── mies.mjs │ │ │ └── noot.mjs │ ├── acorn │ │ ├── extract-amd-deps.spec.mjs │ │ ├── extract-cjs-deps.spec.mjs │ │ ├── extract-es6-deps.spec.mjs │ │ ├── extract-stats.spec.mjs │ │ └── parse.spec.mjs │ ├── all-shapes-of-import-export.md │ ├── extract-stats.spec.mjs │ ├── gather-initial-sources.spec.mjs │ ├── get-dependencies.amd.spec.mjs │ ├── get-dependencies.cjs.spec.mjs │ ├── get-dependencies.es6.spec.mjs │ ├── get-dependencies.odds-and-ends.spec.mjs │ ├── get-dependencies.ts-types.spec.mjs │ ├── get-dependencies.ts.spec.mjs │ ├── helpers-dependencies-equal.spec.mjs │ ├── helpers-detect-pre-compilation-ness.spec.mjs │ ├── helpers-extract-module-attributes.spec.mjs │ ├── helpers-strip-query-parameters.spec.mjs │ ├── index.cachebusting.spec.mjs │ ├── index.donotfollow.spec.mjs │ ├── index.exclude.spec.mjs │ ├── index.maxdepth.spec.mjs │ ├── index.with-stats.spec.mjs │ ├── normalize-source.utl.mjs │ ├── resolve │ │ ├── __fixtures__ │ │ │ ├── amok-prevention-bogus-sub │ │ │ │ └── .keepalive │ │ │ ├── amok-prevention-non-exist │ │ │ │ └── .keepalive │ │ │ ├── empty-package-json │ │ │ │ └── package.json │ │ │ ├── invalid-package-json │ │ │ │ └── package.json │ │ │ ├── minimal-package-json │ │ │ │ └── package.json │ │ │ ├── no-package-json-here │ │ │ │ └── .keepalive │ │ │ ├── package-json-in-here │ │ │ │ └── package.json │ │ │ └── two-level-package-jsons │ │ │ │ ├── package.json │ │ │ │ └── packages │ │ │ │ └── subthing │ │ │ │ └── package.json │ │ ├── __mocks__ │ │ │ ├── deprecated-node-module │ │ │ │ ├── node_modules │ │ │ │ │ └── deprecated-at-the-start-for-test-purposes │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ └── require-something-deprecated.js │ │ │ ├── donot-resolve-to-non-ts │ │ │ │ └── there-is-a-cjs-variant-of-me-but-you-will-not-find-it.cjs │ │ │ ├── followability │ │ │ │ ├── _partial.scss │ │ │ │ ├── something.json │ │ │ │ └── something.scss │ │ │ ├── i-got-aliased-to-hoepla │ │ │ │ └── hoi │ │ │ │ │ └── index.js │ │ │ ├── licenses │ │ │ │ ├── node_modules │ │ │ │ │ ├── GPL-license │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── array-licenses │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── boolean-license │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── no-license │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── object-license │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ └── require-something-deprecated.js │ │ │ ├── localmodulesfix │ │ │ │ └── localmoduleshere │ │ │ │ │ └── shared │ │ │ │ │ └── index.js │ │ │ ├── no-package-json │ │ │ │ ├── .keepalive │ │ │ │ └── index.js │ │ │ ├── package-json-with-exports │ │ │ │ ├── node_modules │ │ │ │ │ └── export-testinga │ │ │ │ │ │ ├── feature.cjs │ │ │ │ │ │ ├── feature.mjs │ │ │ │ │ │ ├── main.cjs │ │ │ │ │ │ ├── main.mjs │ │ │ │ │ │ └── package.json │ │ │ │ ├── yolo.cjs │ │ │ │ └── yolo.mjs │ │ │ ├── resolve-hashmarks │ │ │ │ ├── # │ │ │ │ │ └── hashmark.js │ │ │ │ └── hashmark-after-this.js#this-is-extra │ │ │ ├── resolve-to-cjs-when-imported-as-cjs │ │ │ │ ├── i-am-just-commonjs.cjs │ │ │ │ └── i-am-just-commonjs.cts │ │ │ ├── resolve-to-cts-even-when-imported-as-cjs │ │ │ │ ├── i-am-secretly-typescript.cts │ │ │ │ └── i-am-secretly-typescript.d.cts │ │ │ ├── resolve-to-d-cts-even-when-imported-as-cjs │ │ │ │ └── i-am-secretly-typescript.d.cts │ │ │ ├── resolve-to-d-mts-even-when-imported-as-mjs │ │ │ │ └── i-am-secretly-typescript.d.mts │ │ │ ├── resolve-to-js-even-when-imported-as-js │ │ │ │ ├── i-am-genuinely-javascript.js │ │ │ │ └── i-am-genuinely-javascript.ts │ │ │ ├── resolve-to-mjs-when-imported-as-mjs │ │ │ │ ├── i-am-just-esm.mjs │ │ │ │ └── i-am-just-esm.mts │ │ │ ├── resolve-to-mts-even-when-imported-as-mjs │ │ │ │ ├── i-am-secretly-typescript.d.mts │ │ │ │ └── i-am-secretly-typescript.mts │ │ │ ├── resolve-to-ts-even-when-imported-as-js │ │ │ │ └── i-am-secretly-typescript.ts │ │ │ ├── resolve-type-only-packages │ │ │ │ ├── index.ts │ │ │ │ └── node_modules │ │ │ │ │ └── lalala-interfaces │ │ │ │ │ ├── dist │ │ │ │ │ └── interfaces │ │ │ │ │ │ └── index.d.ts │ │ │ │ │ └── package.json │ │ │ ├── resolve │ │ │ │ └── hots.js │ │ │ ├── triple-slash-directives │ │ │ │ ├── hello.ts │ │ │ │ ├── node_modules │ │ │ │ │ └── something │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── ts-config-with-path-correct-resolution-prio │ │ │ │ ├── src │ │ │ │ │ └── aliassed │ │ │ │ │ │ ├── dts-before-ts.d.ts │ │ │ │ │ │ ├── dts-before-ts.ts │ │ │ │ │ │ ├── js-before-ts.js │ │ │ │ │ │ └── js-before-ts.ts │ │ │ │ └── tsconfig.json │ │ │ ├── ts-config-with-path │ │ │ │ ├── src │ │ │ │ │ ├── common │ │ │ │ │ │ └── wood │ │ │ │ │ │ │ └── tree.ts │ │ │ │ │ ├── shared │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── typos │ │ │ │ │ │ └── daddayaddaya.ts │ │ │ │ ├── tsconfig-no-paths.json │ │ │ │ └── tsconfig.json │ │ │ ├── unreadable-package-json-because-not-exported │ │ │ │ └── node_modules │ │ │ │ │ └── testinga-two │ │ │ │ │ ├── feature.cjs │ │ │ │ │ ├── feature.mjs │ │ │ │ │ ├── main.cjs │ │ │ │ │ ├── main.mjs │ │ │ │ │ └── package.json │ │ │ └── vue-last │ │ │ │ ├── x.ts │ │ │ │ ├── y.ts │ │ │ │ └── y.vue │ │ ├── determine-dependency-types.spec.mjs │ │ ├── external-module-helpers.spec.mjs │ │ ├── get-manifest.spec.mjs │ │ ├── index.general.spec.mjs │ │ ├── index.tsconfig.spec.mjs │ │ ├── index.typescript.spec.mjs │ │ ├── is-built-in.spec.mjs │ │ ├── merge-manifests.spec.mjs │ │ ├── module-classifiers.get-alias-types.spec.mjs │ │ ├── module-classifiers.is-external-module.spec.mjs │ │ ├── module-classifiers.is-relative-module-name.spec.mjs │ │ └── resolve-helpers.spec.mjs │ ├── run-get-dependencies-fixture.utl.mjs │ ├── swc │ │ ├── extract-with-swc-commonjs.spec.mjs │ │ ├── extract-with-swc-dynamic-imports.spec.mjs │ │ ├── extract-with-swc-exotics.spec.mjs │ │ ├── extract-with-swc-exports.spec.mjs │ │ ├── extract-with-swc-imports.spec.mjs │ │ ├── extract-with-swc-type-imports.spec.mjs │ │ └── extract-with-swc.utl.mjs │ ├── transpile │ │ ├── __fixtures__ │ │ │ ├── babel-out-es-old.js │ │ │ ├── babel-out-no-options.js │ │ │ ├── coffee.js │ │ │ ├── csx.jsx │ │ │ ├── jsx.js │ │ │ ├── litcoffee.js │ │ │ ├── markdownlitcoffee.js │ │ │ ├── mjs.js │ │ │ ├── mts.mjs │ │ │ ├── svelte-too.js │ │ │ ├── svelte.js │ │ │ ├── tsx.js │ │ │ ├── typescriptscript.js │ │ │ ├── vue-script-setup-and-script.js │ │ │ ├── vue-script-setup.js │ │ │ └── vue.js │ │ ├── __mocks__ │ │ │ ├── babel-in.js │ │ │ ├── coffee.coffee │ │ │ ├── csx.cjsx │ │ │ ├── dontconfuse_ts_for_tsx │ │ │ │ ├── input │ │ │ │ │ ├── Observable.ts │ │ │ │ │ └── observable │ │ │ │ │ │ └── throwError.ts │ │ │ │ └── transpiled │ │ │ │ │ ├── Observable.js │ │ │ │ │ └── observable │ │ │ │ │ └── throwError.js │ │ │ ├── jsx.jsx │ │ │ ├── litcoffee.litcoffee │ │ │ ├── markdownlitcoffee.coffee.md │ │ │ ├── mjs.mjs │ │ │ ├── mts.mts │ │ │ ├── svelte-js.svelte │ │ │ ├── svelte-ts.svelte │ │ │ ├── tsx.tsx │ │ │ ├── typescriptscript.ts │ │ │ ├── vue-invalid.vue │ │ │ ├── vue-noscript.vue │ │ │ ├── vue-script-setup-and-script.vue │ │ │ ├── vue-script-setup.vue │ │ │ └── vue.vue │ │ ├── babel-wrap.spec.mjs │ │ ├── coffeescript-wrap.spec.mjs │ │ ├── index.spec.mjs │ │ ├── javascript-wrap.spec.mjs │ │ ├── livescript-wrap.spec.mjs │ │ ├── meta.spec.mjs │ │ ├── svelte-preprocess.spec.mjs │ │ ├── svelte-wrap.spec.mjs │ │ ├── try-import-available.spec.mjs │ │ ├── typescript-wrap.spec.mjs │ │ ├── vue-template-wrap.spec.mjs │ │ └── vue3-template-wrap.spec.mjs │ └── tsc │ │ ├── __mocks__ │ │ ├── extract-stats-testfile.mts │ │ └── typescript2.8-union-types-ast.json │ │ ├── commonjs.spec.mjs │ │ ├── dynamic-imports.spec.mjs │ │ ├── exotics.spec.mjs │ │ ├── exports.spec.mjs │ │ ├── extract-stats.spec.mjs │ │ ├── extract-typescript.utl.mjs │ │ ├── imports.spec.mjs │ │ ├── jsdoc-bracket-imports.spec.mjs │ │ ├── jsdoc-import-tags.spec.mjs │ │ ├── others.spec.mjs │ │ ├── triple-slash-directives.spec.mjs │ │ └── type-imports-and-exports.spec.mjs ├── graph-utl │ ├── __fixtures__ │ │ ├── focus │ │ │ ├── dependency-cruiser-focus-on-main-depth-2.mjs │ │ │ ├── dependency-cruiser-focus-on-main.mjs │ │ │ └── dependency-cruiser-only-src.mjs │ │ ├── highlight │ │ │ └── highlight-result.mjs │ │ └── reaches │ │ │ ├── multi-module-regex-result.mjs │ │ │ └── report-index-module.mjs │ ├── __mocks__ │ │ ├── cycle-input-graphs.mjs │ │ ├── report-modules.mjs │ │ ├── un-indexed-modules-without-dependents.mjs │ │ └── un-indexed-modules.mjs │ ├── add-focus.spec.mjs │ ├── compare.rules.spec.mjs │ ├── compare.severities.spec.mjs │ ├── compare.violations.spec.mjs │ ├── consolidate-to-folder.spec.mjs │ ├── consolidate-to-pattern.spec.mjs │ ├── filter-bank.spec.mjs │ ├── indexed-module-graph.spec.mjs │ └── rule-set.spec.mjs ├── main │ ├── __fixtures__ │ │ ├── cruise-reporterless │ │ │ ├── amd.json │ │ │ ├── bundled-dependencies.json │ │ │ ├── coffee.json │ │ │ ├── commonjs.json │ │ │ ├── deprecated-node-module.json │ │ │ ├── folder.json │ │ │ ├── metrics.json │ │ │ ├── typescript.json │ │ │ └── vue.json │ │ ├── jsx-as-object.json │ │ ├── jsx.json │ │ ├── ts-no-precomp-cjs.json │ │ ├── ts-no-precomp-es.json │ │ ├── ts-precomp-cjs.json │ │ ├── ts-precomp-es.json │ │ ├── ts.json │ │ └── tsx.json │ ├── __mocks__ │ │ ├── cache-too │ │ │ └── three.js │ │ ├── cache │ │ │ ├── one.js │ │ │ └── two.js │ │ ├── collapse-after-cruise │ │ │ ├── expected-result.json │ │ │ └── src │ │ │ │ ├── index.js │ │ │ │ ├── input │ │ │ │ ├── aap │ │ │ │ │ └── index.js │ │ │ │ ├── index.js │ │ │ │ └── noot │ │ │ │ │ └── index.js │ │ │ │ ├── output │ │ │ │ └── index.js │ │ │ │ ├── post-processing │ │ │ │ └── index.js │ │ │ │ ├── pre-processing │ │ │ │ └── index.js │ │ │ │ └── utl │ │ │ │ └── do-interesting-things.js │ │ ├── cruise-reporterless │ │ │ ├── amd │ │ │ │ ├── looks-like-amd-but-isnt.js │ │ │ │ ├── module-as-a-function.js │ │ │ │ ├── module-with-a-name.js │ │ │ │ ├── one_only_one.js │ │ │ │ ├── one_only_two.js │ │ │ │ ├── requires-non-relative-module.js │ │ │ │ ├── root-module-require.js │ │ │ │ ├── root_one.js │ │ │ │ ├── root_two.js │ │ │ │ ├── shared.js │ │ │ │ ├── simplified-commonjs-wrapper.js │ │ │ │ ├── somedata.json │ │ │ │ ├── sub │ │ │ │ │ ├── depindir.js │ │ │ │ │ ├── dir.js │ │ │ │ │ └── local-module-in-drag.js │ │ │ │ ├── symlink.js │ │ │ │ └── two_only_one.js │ │ │ ├── bundled-dependencies │ │ │ │ ├── index.js │ │ │ │ ├── node_modules │ │ │ │ │ ├── idontgetbundled │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── igetbundled │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── cjs-require-non-strings │ │ │ │ ├── othermodule.js │ │ │ │ ├── require-a-function.js │ │ │ │ ├── require-a-number.js │ │ │ │ ├── require-an-iife.js │ │ │ │ └── requiredfromafunction.js │ │ │ ├── coffee │ │ │ │ ├── index.coffee │ │ │ │ ├── javascriptThing.js │ │ │ │ └── sub │ │ │ │ │ ├── index.coffee │ │ │ │ │ ├── kaching.litcoffee │ │ │ │ │ └── willBeReExported.coffee.md │ │ │ ├── commonjs │ │ │ │ ├── circle-one.js │ │ │ │ ├── circle-three.js │ │ │ │ ├── circle-two.js │ │ │ │ ├── circular.js │ │ │ │ ├── declare-and-use.js │ │ │ │ ├── direct-require.js │ │ │ │ ├── directory-inclusion.js │ │ │ │ ├── dot-js-inclusion.js │ │ │ │ ├── duplicates.js │ │ │ │ ├── empty.js │ │ │ │ ├── one_only_one.js │ │ │ │ ├── one_only_two.js │ │ │ │ ├── pointed-to-by-circular.js │ │ │ │ ├── points-to-circle-one.js │ │ │ │ ├── ralucric.js │ │ │ │ ├── require-tester.js │ │ │ │ ├── requires-non-existing-module.js │ │ │ │ ├── root_one.js │ │ │ │ ├── root_two.js │ │ │ │ ├── shared.js │ │ │ │ ├── somedata.json │ │ │ │ ├── sub │ │ │ │ │ ├── depends-on-some-module.js │ │ │ │ │ ├── depindir.js │ │ │ │ │ ├── dir.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── some-module │ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── not-the-index.js │ │ │ │ │ └── package.json │ │ │ │ ├── symlink.js │ │ │ │ └── two_only_one.js │ │ │ ├── deprecated-node-module │ │ │ │ ├── node_modules │ │ │ │ │ └── deprecated-at-the-start-for-test-purposes │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ └── require-something-deprecated.js │ │ │ ├── folder │ │ │ │ ├── stable │ │ │ │ │ ├── index.js │ │ │ │ │ └── utl.js │ │ │ │ └── unstable │ │ │ │ │ └── index.js │ │ │ ├── metrics │ │ │ │ ├── format-output │ │ │ │ │ └── index.js │ │ │ │ ├── mangle-entry │ │ │ │ │ ├── do-something-else.js │ │ │ │ │ ├── do-something.js │ │ │ │ │ └── index.js │ │ │ │ ├── parse-input │ │ │ │ │ └── index.js │ │ │ │ └── root.js │ │ │ ├── typescript-circular-with-types │ │ │ │ ├── A.ts │ │ │ │ └── B.ts │ │ │ ├── typescript-unused-dependencies │ │ │ │ ├── a.ts │ │ │ │ ├── b.ts │ │ │ │ └── c.ts │ │ │ ├── typescript │ │ │ │ ├── README.md │ │ │ │ ├── index.ts │ │ │ │ ├── javascriptThing.js │ │ │ │ └── sub │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── kaching.ts │ │ │ │ │ └── willBeReExported.ts │ │ │ └── vue │ │ │ │ ├── App.vue │ │ │ │ ├── components │ │ │ │ └── HelloWorld.vue │ │ │ │ └── main.js │ │ ├── cruise-results-dc-2020-08-30-src-cli.json │ │ ├── dynamic-imports │ │ │ ├── es │ │ │ │ ├── output.json │ │ │ │ └── src │ │ │ │ │ ├── circular.js │ │ │ │ │ ├── dynamic-to-circular.js │ │ │ │ │ └── index.js │ │ │ └── typescript │ │ │ │ ├── output-pre-compilation-deps.json │ │ │ │ ├── output.json │ │ │ │ └── src │ │ │ │ ├── circular.ts │ │ │ │ ├── dynamic-to-circular.ts │ │ │ │ └── index.ts │ │ ├── jsx │ │ │ ├── index.js │ │ │ └── jsx.jsx │ │ ├── reachables │ │ │ ├── allowed-dead-wood.js │ │ │ ├── allowed-isolation.js │ │ │ ├── dependency-cruiser-options.js │ │ │ ├── forbidden-dead-wood-and-isolation.js │ │ │ └── src │ │ │ │ ├── db │ │ │ │ ├── admin.js │ │ │ │ ├── one.js │ │ │ │ ├── three.js │ │ │ │ └── two.js │ │ │ │ ├── functionality │ │ │ │ ├── hat.js │ │ │ │ ├── kazam.js │ │ │ │ ├── kazoom.js │ │ │ │ └── rabit.js │ │ │ │ ├── index.js │ │ │ │ ├── schema-declarations │ │ │ │ ├── admin.info.js │ │ │ │ ├── naughty.info.js │ │ │ │ ├── one.info.js │ │ │ │ └── two.info.js │ │ │ │ └── utilities │ │ │ │ ├── electricity.js │ │ │ │ ├── heating.js │ │ │ │ ├── insula.js │ │ │ │ ├── pen.js │ │ │ │ └── plumbing.js │ │ ├── ts-precompilation-deps-off-cjs │ │ │ ├── also-used.ts │ │ │ ├── definitely-used.ts │ │ │ ├── imported-from-index-but-not-used.ts │ │ │ └── index.ts │ │ ├── ts-precompilation-deps-off-es │ │ │ ├── also-used.ts │ │ │ ├── definitely-used.ts │ │ │ ├── imported-from-index-but-not-used.ts │ │ │ └── index.ts │ │ ├── ts-precompilation-deps-on-cjs │ │ │ ├── also-used.ts │ │ │ ├── definitely-used.ts │ │ │ ├── imported-from-index-but-not-used.ts │ │ │ └── index.ts │ │ ├── ts-precompilation-deps-on-es │ │ │ ├── also-used.ts │ │ │ ├── definitely-used.ts │ │ │ ├── imported-from-index-but-not-used.ts │ │ │ └── index.ts │ │ ├── ts │ │ │ ├── README.md │ │ │ ├── index.ts │ │ │ ├── javascriptThing.js │ │ │ └── sub │ │ │ │ ├── index.ts │ │ │ │ ├── kaching.ts │ │ │ │ └── willBeReExported.ts │ │ ├── tsconfig.targetcjs.json │ │ ├── tsconfig.targetes.json │ │ ├── tsx │ │ │ ├── index.ts │ │ │ └── sub │ │ │ │ └── render.tsx │ │ ├── type-only-imports │ │ │ ├── output-with-rules.json │ │ │ ├── output.json │ │ │ └── src │ │ │ │ ├── bla.ts │ │ │ │ └── types.ts │ │ └── type-only-module-references │ │ │ ├── node_modules │ │ │ └── @types │ │ │ │ └── graphql │ │ │ │ ├── package.json │ │ │ │ └── tsutils │ │ │ │ └── Maybe.d.ts │ │ │ ├── output-no-ts.json │ │ │ ├── output.json │ │ │ └── src │ │ │ └── use-maybe.ts │ ├── files-and-dirs │ │ └── normalize.spec.mjs │ ├── helpers.spec.mjs │ ├── main.cruise-reporterless.spec.mjs │ ├── main.cruise.cache.spec.mjs │ ├── main.cruise.dynamic-imports.spec.mjs │ ├── main.cruise.reachable-integration.spec.mjs │ ├── main.cruise.spec.mjs │ ├── main.cruise.ts-pre-compilation-deps.spec.mjs │ ├── main.cruise.type-only-imports.spec.mjs │ ├── main.cruise.type-only-module-references.spec.mjs │ ├── main.format.spec.mjs │ ├── norm-base-directory.utl.mjs │ ├── options │ │ ├── assert-validity.spec.mjs │ │ ├── normalize.cruise-options.spec.mjs │ │ └── normalize.format-options.spec.mjs │ ├── resolve-options │ │ ├── __mocks__ │ │ │ └── tsconfig.test.json │ │ └── normalize.spec.mjs │ └── rule-set │ │ ├── assert-validity.spec.mjs │ │ └── normalize.spec.mjs ├── report │ ├── anon │ │ ├── __fixtures__ │ │ │ ├── cycle.mjs │ │ │ ├── dependents.mjs │ │ │ ├── folder-cycles.mjs │ │ │ ├── folders.mjs │ │ │ ├── reaches-report.mjs │ │ │ ├── src-report-wordlist.mjs │ │ │ └── src-report.mjs │ │ ├── __mocks__ │ │ │ ├── cycle.mjs │ │ │ ├── dependents.mjs │ │ │ ├── folder-cycles.mjs │ │ │ ├── folders.mjs │ │ │ ├── reaches-report.mjs │ │ │ ├── src-report-wordlist.mjs │ │ │ └── src-report.mjs │ │ ├── anonymize-path-element.spec.mjs │ │ ├── anonymize-path.spec.mjs │ │ ├── anonymize.spec.mjs │ │ └── random-string.spec.mjs │ ├── azure-devops │ │ ├── __mocks__ │ │ │ ├── circular-deps-azure-devops-format.txt │ │ │ ├── circular-deps.mjs │ │ │ ├── errors-and-known-violations-azure-devops-format.txt │ │ │ ├── errors-and-known-violations.mjs │ │ │ ├── everything-fine-azure-devops-format.txt │ │ │ ├── everything-fine.mjs │ │ │ ├── instabilities-azure-devops-format.txt │ │ │ ├── instabilities.mjs │ │ │ ├── known-violations-azure-devops-format.txt │ │ │ ├── known-violations.mjs │ │ │ ├── module-errors-azure-devops-format.txt │ │ │ ├── module-errors.mjs │ │ │ ├── required-errors-azure-devops-format.txt │ │ │ ├── required-errors.mjs │ │ │ ├── there-are-errors-azure-devops-format.txt │ │ │ ├── there-are-errors.mjs │ │ │ ├── there-are-warnings-azure-devops-format.txt │ │ │ ├── there-are-warnings.mjs │ │ │ ├── unsupported-severity-azure-devops-format.txt │ │ │ ├── unsupported-severity.mjs │ │ │ ├── via-deps-azure-devops-format.txt │ │ │ └── via-deps.mjs │ │ └── azure-devops.spec.mjs │ ├── baseline │ │ ├── __fixtures__ │ │ │ └── baseline-result.json │ │ ├── __mocks__ │ │ │ ├── dc-result-no-violations.json │ │ │ └── dc-result-with-violations.json │ │ └── baseline.spec.mjs │ ├── csv │ │ ├── __mocks__ │ │ │ ├── cjs-no-dependency-valid.csv │ │ │ └── cjs-no-dependency-valid.mjs │ │ └── csv.spec.mjs │ ├── d2 │ │ ├── __fixtures__ │ │ │ ├── 00-empty.d2 │ │ │ ├── 01-one-module-no-dependencies.d2 │ │ │ ├── 02-one-module-invalid-error.d2 │ │ │ ├── 03-one-module-invalid-info-and-warning.d2 │ │ │ ├── 04-one-module-invalid-weird-severity.d2 │ │ │ ├── 05-one-module-in-root.d2 │ │ │ ├── 06-one-module-npm.d2 │ │ │ ├── 07-one-module-matches-highlight.d2 │ │ │ ├── 08-one-module-is-consolidated-and-node-module.d2 │ │ │ ├── 10-one-dependency.d2 │ │ │ ├── 11-one-dependency-invalid.d2 │ │ │ ├── 12-one-dependency-invalid-with-weird-severity.d2 │ │ │ ├── 13-one-dependency-cycle-invalid.d2 │ │ │ ├── 14-one-dependency-cycle-valid.d2 │ │ │ ├── 15-one-dependency-dynamic.d2 │ │ │ ├── 16-one-dependency-dynamic-invalid.d2 │ │ │ └── 20-real-world-sample.d2 │ │ ├── __mocks__ │ │ │ ├── 00-empty.mjs │ │ │ ├── 01-one-module-no-dependencies.mjs │ │ │ ├── 02-one-module-invalid-error.mjs │ │ │ ├── 03-one-module-invalid-info-and-warning.mjs │ │ │ ├── 04-one-module-invalid-weird-severity.mjs │ │ │ ├── 05-one-module-in-root.mjs │ │ │ ├── 06-one-module-npm.mjs │ │ │ ├── 07-one-module-matches-highlight.mjs │ │ │ ├── 08-one-module-is-consolidated-and-node-module.mjs │ │ │ ├── 10-one-dependency.mjs │ │ │ ├── 11-one-dependency-invalid.mjs │ │ │ ├── 12-one-dependency-invalid-with-weird-severity.mjs │ │ │ ├── 13-one-dependency-cycle-invalid.mjs │ │ │ ├── 14-one-dependency-cycle-valid.mjs │ │ │ ├── 15-one-dependency-dynamic.mjs │ │ │ ├── 16-one-dependency-dynamic-invalid.mjs │ │ │ └── 20-real-world-sample.mjs │ │ └── d2.spec.mjs │ ├── dot-webpage │ │ └── dot-module.spec.mjs │ ├── dot │ │ ├── custom-level │ │ │ ├── __fixtures__ │ │ │ │ ├── dependency-cruiser-2020-01-25.dot │ │ │ │ ├── orphans.dot │ │ │ │ └── rxjs.dot │ │ │ ├── __mocks__ │ │ │ │ ├── dependency-cruiser-2020-01-25.json │ │ │ │ ├── orphans.json │ │ │ │ └── rxjs.json │ │ │ └── index.spec.mjs │ │ ├── flat-level │ │ │ ├── __fixtures__ │ │ │ │ ├── dependency-cruiser-2020-01-25.dot │ │ │ │ ├── orphans.dot │ │ │ │ └── rxjs.dot │ │ │ ├── __mocks__ │ │ │ │ ├── dependency-cruiser-2020-01-25.json │ │ │ │ ├── orphans.json │ │ │ │ └── rxjs.json │ │ │ └── index.spec.mjs │ │ ├── folder-level │ │ │ ├── __fixtures__ │ │ │ │ ├── dependency-cruiser-2019-01-14.dot │ │ │ │ ├── orphans.dot │ │ │ │ └── rxjs.dot │ │ │ ├── __mocks__ │ │ │ │ ├── dependency-cruiser-2019-01-14.json │ │ │ │ ├── orphans.json │ │ │ │ └── rxjs.json │ │ │ └── folder-level.spec.mjs │ │ ├── module-level │ │ │ ├── __fixtures__ │ │ │ │ ├── bunch-of-modules-default-theme.dot │ │ │ │ ├── bunch-of-modules.dot │ │ │ │ ├── clusterless-default-theme.dot │ │ │ │ ├── clusterless.dot │ │ │ │ ├── dependency-cruiser-2022-07-17-focus-me.dot │ │ │ │ ├── do-not-follow-deps-default-theme.dot │ │ │ │ ├── do-not-follow-deps.dot │ │ │ │ ├── es6-unresolvable-deps-default-theme.dot │ │ │ │ ├── es6-unresolvable-deps.dot │ │ │ │ ├── orphan-deps-default-theme.dot │ │ │ │ ├── orphan-deps.dot │ │ │ │ ├── prefix-non-uri-default-theme.dot │ │ │ │ ├── prefix-non-uri.dot │ │ │ │ ├── prefix-uri-default-theme.dot │ │ │ │ └── prefix-uri.dot │ │ │ ├── __mocks__ │ │ │ │ ├── bunch-of-modules.json │ │ │ │ ├── clusterless.json │ │ │ │ ├── dependency-cruiser-2022-07-17-focus-me.json │ │ │ │ ├── do-not-follow-deps.json │ │ │ │ ├── es6-unresolvable-deps.json │ │ │ │ ├── orphan-deps.json │ │ │ │ ├── prefix-non-uri.json │ │ │ │ └── prefix-uri.json │ │ │ ├── bare-theme.json │ │ │ └── index.spec.mjs │ │ ├── module-utl.spec.mjs │ │ └── theming.spec.mjs │ ├── eol.spec.mjs │ ├── error-html │ │ ├── __mocks__ │ │ │ ├── everything-fine.mjs │ │ │ ├── orphans-cycles-metrics.mjs │ │ │ ├── via-deps.mjs │ │ │ ├── violation-more-than-once-with-an-ignore.mjs │ │ │ └── violation-more-than-once.mjs │ │ ├── error-html.spec.mjs │ │ └── utl.spec.mjs │ ├── error │ │ ├── __mocks__ │ │ │ ├── circular-deps.mjs │ │ │ ├── cjs-no-dependency-valid.mjs │ │ │ ├── err-only-warnings.mjs │ │ │ ├── err-with-additional-information.mjs │ │ │ ├── everything-fine.mjs │ │ │ ├── ignored-and-real-violations.mjs │ │ │ ├── ignored-violations.mjs │ │ │ ├── missing-violation-type.mjs │ │ │ ├── orphan-deps.mjs │ │ │ ├── sdp-errors.mjs │ │ │ ├── unknown-violation-type.mjs │ │ │ ├── via-deps.mjs │ │ │ └── violation-more-than-once.mjs │ │ ├── error-long.spec.mjs │ │ └── error.spec.mjs │ ├── html │ │ ├── __mocks__ │ │ │ ├── cjs-no-dependency-valid.html │ │ │ └── cjs-no-dependency-valid.mjs │ │ └── html.spec.mjs │ ├── markdown │ │ ├── __mocks__ │ │ │ ├── everything-fine.mjs │ │ │ ├── orphans-cycles-metrics.mjs │ │ │ ├── violation-more-than-once-with-an-ignore.mjs │ │ │ └── violation-more-than-once.mjs │ │ └── markdown.spec.mjs │ ├── mermaid │ │ ├── __mocks__ │ │ │ ├── clusterless.json │ │ │ ├── clusterless.mmd │ │ │ ├── collapsed.json │ │ │ ├── collapsed.min.mmd │ │ │ ├── contains-strings-to-be-escaped.json │ │ │ ├── contains-strings-to-be-escaped.mmd │ │ │ ├── dependency-cruiser-2019-01-14.json │ │ │ ├── dependency-cruiser-2019-01-14.min.mmd │ │ │ ├── dependency-cruiser-2019-01-14.mmd │ │ │ ├── do-not-follow-deps.json │ │ │ ├── do-not-follow-deps.mmd │ │ │ ├── es6-unresolvable-deps.json │ │ │ ├── es6-unresolvable-deps.mmd │ │ │ ├── orphan-deps.json │ │ │ ├── orphan-deps.mmd │ │ │ ├── unknown-deps.json │ │ │ ├── unknown-deps.mmd │ │ │ ├── with-focus.json │ │ │ ├── with-focus.min.mmd │ │ │ └── with-focus.mmd │ │ └── mermaid.spec.mjs │ ├── metrics │ │ ├── __mocks │ │ │ └── cruise-result-with-metrics-for-modules-and-folders.mjs │ │ └── metrics.spec.mjs │ ├── null │ │ └── null.spec.mjs │ ├── plugins │ │ ├── __fixtures__ │ │ │ ├── invalid-no-exit-code-plugin.cjs │ │ │ ├── invalid-no-output-plugin.cjs │ │ │ ├── invalid-non-number-exit-code-plugin.cjs │ │ │ ├── invalid-not-a-function-plugin.cjs │ │ │ ├── valid-non-functional-plugin.cjs │ │ │ └── valid-plugin.cjs │ │ ├── index.get-external-plugin-reporter.spec.mjs │ │ └── index.is-valid-plugin.spec.mjs │ ├── teamcity │ │ ├── __mocks__ │ │ │ ├── circular-deps-teamcity-format.txt │ │ │ ├── circular-deps.mjs │ │ │ ├── everything-fine-teamcity-format.txt │ │ │ ├── everything-fine.mjs │ │ │ ├── instabilities-teamcity-format.txt │ │ │ ├── instabilities.mjs │ │ │ ├── known-violations-teamcity-format.txt │ │ │ ├── known-violations.mjs │ │ │ ├── module-errors-teamcity-format.txt │ │ │ ├── module-errors.mjs │ │ │ ├── required-errors-teamcity-format.txt │ │ │ ├── required-errors.mjs │ │ │ ├── unsupported-severity-teamcity-format.txt │ │ │ ├── unsupported-severity.mjs │ │ │ ├── via-deps-teamcity-format.txt │ │ │ └── via-deps.mjs │ │ └── teamcity.spec.mjs │ ├── text │ │ ├── __fixtures__ │ │ │ └── dependencies.txt │ │ ├── __mocks__ │ │ │ ├── cruise-result-with-focus.mjs │ │ │ └── dependencies.mjs │ │ └── text.spec.mjs │ └── utl │ │ ├── __mocks__ │ │ ├── more-violations-incidences.mjs │ │ ├── more-violations.mjs │ │ ├── one-violation-incidences.mjs │ │ └── one-violation.mjs │ │ ├── dependency-to-incidence-transformer.spec.mjs │ │ └── index.spec.mjs ├── utl │ ├── extract-root-module-name.spec.cjs │ ├── get-extension.spec.mjs │ ├── node_modules │ │ ├── beta │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── no-default-export │ │ │ ├── main.mjs │ │ │ └── package.json │ │ └── rc │ │ │ ├── index.js │ │ │ └── package.json │ ├── object-util.spec.mjs │ ├── path-to-posix.spec.mjs │ ├── regex-util.spec.mjs │ ├── try-import.spec.mjs │ └── try-require.spec.cjs └── validate │ ├── __mocks__ │ ├── extends │ │ ├── base-for-extends.json │ │ ├── base2-for-extends.json │ │ ├── extending.as.array.json │ │ ├── extending.as.number.json │ │ └── extending.as.string.json │ ├── rules.empty-options-section.json │ ├── rules.no-aliased-dependency-types.json │ ├── rules.not-a-valid-rulesfile.json │ ├── rules.ok-regex-just-repeating.json │ ├── rules.options-section-scary-regex-do-not-follow.json │ ├── rules.options-section-scary-regex-exclude.json │ ├── rules.options-section-webpack-config.json │ ├── rules.options-section.json │ ├── rules.reachable-false.path.json │ ├── rules.reachable-true.path.json │ ├── rules.required.json │ ├── rules.scary-regex-array.json │ ├── rules.scary-regex-in-license.json │ ├── rules.scary-regex-in-licensenot.json │ ├── rules.scary-regex-in-pathnot.json │ ├── rules.scary-regex-in-via.json │ └── rules.scary-regex.json │ ├── index.core.spec.mjs │ ├── index.could-not-resolve.spec.mjs │ ├── index.cycle-via-only.spec.mjs │ ├── index.cycle-via.spec.mjs │ ├── index.exotic-require.spec.mjs │ ├── index.groupmatching.spec.mjs │ ├── index.license.spec.mjs │ ├── index.more-than-one-dependency-type.spec.mjs │ ├── index.more-unstable.spec.mjs │ ├── index.orphans.spec.mjs │ ├── index.pre-compilation-only.spec.mjs │ ├── index.reachable.spec.mjs │ ├── index.required-rules.spec.mjs │ ├── index.spec.mjs │ ├── index.type-only.spec.mjs │ ├── match-folder-dependency-rule.spec.mjs │ ├── match-module-rule.dependents.spec.mjs │ ├── match-module-rule.orphan.spec.mjs │ ├── match-module-rule.reachable.spec.mjs │ ├── match-module-rule.reaches.spec.mjs │ ├── match-module-rule.spec.mjs │ ├── parse-ruleset.utl.mjs │ └── violates-required-rule.spec.mjs ├── tools ├── README.md ├── generate-meta.utl.mjs ├── generate-samples.sh ├── generate-schemas.utl.mjs ├── istanbul-json-summary-to-markdown.mjs ├── overview.svg ├── regenerate-main-fixtures.utl.mjs ├── regenerate-report-fixtures.utl.mjs ├── schema │ ├── .dependency-cruiser.mjs │ ├── baseline-violations.schema.mjs │ ├── cache-options.mjs │ ├── cache-strategy-type.mjs │ ├── compound-donot-follow-type.mjs │ ├── compound-exclude-type.mjs │ ├── compound-focus-type.mjs │ ├── compound-highlight-type.mjs │ ├── compound-include-only-type.mjs │ ├── compound-reaches-type.mjs │ ├── configuration.schema.mjs │ ├── cruise-result.schema.mjs │ ├── dependencies.mjs │ ├── dependency-type.mjs │ ├── experimental-stats-type.mjs │ ├── folders.mjs │ ├── mini-dependency-type.mjs │ ├── module-system-type.mjs │ ├── module-systems-type.mjs │ ├── modules.mjs │ ├── options-used.mjs │ ├── options.mjs │ ├── output-type.mjs │ ├── re-as-strings-type.mjs │ ├── reporter-options.mjs │ ├── restrictions.mjs │ ├── revision-data.mjs │ ├── rule-set.mjs │ ├── rule-summary.mjs │ ├── severity-type.mjs │ ├── summary.mjs │ ├── violation-type.mjs │ └── violations.mjs └── src2tsast.mjs └── types ├── .dependency-cruiser.mjs ├── README.md ├── baseline-violations.d.mts ├── cache-options.d.mts ├── config-utl ├── extract-babel-config.d.mts ├── extract-depcruise-config.d.mts ├── extract-depcruise-options.d.mts ├── extract-ts-config.d.mts └── extract-webpack-resolve-config.d.mts ├── configuration.d.mts ├── cruise-result.d.mts ├── dependency-cruiser.d.mts ├── eslint.config.mjs ├── filter-types.d.mts ├── options.d.mts ├── overview.html ├── overview.svg ├── plugins ├── 3d-reporter-plugin.d.mts ├── mermaid-reporter-plugin.d.mts └── stats-reporter-plugin.d.mts ├── reporter-options.d.mts ├── resolve-options.d.mts ├── restrictions.d.mts ├── rule-set.d.mts ├── rule-summary.d.mts ├── shared-types.d.mts ├── strict-filter-types.d.mts ├── strict-options.d.mts ├── strict-restrictions.d.mts ├── strict-rule-set.d.mts ├── tsconfig.json └── violations.d.mts /.github/codeql/codeql-config-actions.yml: -------------------------------------------------------------------------------- 1 | name: 'CodeQL config for GitHub actions' 2 | 3 | paths: 4 | - .github/workflows 5 | queries: 6 | - uses: security-and-quality -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npx lint-staged --config=.lintstagedrc.json 2 | -------------------------------------------------------------------------------- /.mailmap: -------------------------------------------------------------------------------- 1 | Sander Verweij > 2 | -------------------------------------------------------------------------------- /.mocharc.cjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | /** @type {Mocha} */ 3 | module.exports = { 4 | extension: ["js", "mjs", "cjs"], 5 | reporter: "dot", 6 | timeout: 4000, 7 | spec: "test/**/*.spec.{js,mjs,cjs}", 8 | }; 9 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock = true 2 | save-exact = true 3 | engine-strict = true 4 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | **/*.schema.mjs 2 | **/*.schema.json -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | --silent:true 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | See [dependency-cruiser releases](https://github.com/sverweij/dependency-cruiser/releases) on GitHub 2 | -------------------------------------------------------------------------------- /bin/wrap-stream-in-html.mjs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | import wrapStreamInHtml from "#cli/tools/wrap-stream-in-html.mjs"; 4 | 5 | wrapStreamInHtml(process.stdin, process.stdout); 6 | -------------------------------------------------------------------------------- /configs/recommended-strict.cjs: -------------------------------------------------------------------------------- 1 | const recommended = require("./recommended.cjs"); 2 | 3 | module.exports = { 4 | ...recommended, 5 | forbidden: recommended.forbidden.map((pRule) => { 6 | pRule.severity = "error"; 7 | return pRule; 8 | }), 9 | }; 10 | -------------------------------------------------------------------------------- /configs/recommended-warn-only.cjs: -------------------------------------------------------------------------------- 1 | const recommended = require("./recommended.cjs"); 2 | 3 | module.exports = { 4 | ...recommended, 5 | forbidden: recommended.forbidden.map((pRule) => { 6 | pRule.severity = "warn"; 7 | return pRule; 8 | }), 9 | }; 10 | -------------------------------------------------------------------------------- /doc/assets/ZKH-Dependency-recolored-160.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/ZKH-Dependency-recolored-160.png -------------------------------------------------------------------------------- /doc/assets/ZKH-Dependency-recolored-320.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/ZKH-Dependency-recolored-320.png -------------------------------------------------------------------------------- /doc/assets/highlight-on-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/highlight-on-hover.png -------------------------------------------------------------------------------- /doc/assets/obfuscated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/obfuscated.png -------------------------------------------------------------------------------- /doc/assets/original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/original.png -------------------------------------------------------------------------------- /doc/assets/reachable-deps-rule-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/reachable-deps-rule-off.png -------------------------------------------------------------------------------- /doc/assets/reachable-deps-rule-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/reachable-deps-rule-on.png -------------------------------------------------------------------------------- /doc/assets/sample-cruise/src/index.js: -------------------------------------------------------------------------------- 1 | require('http') 2 | require('./two') 3 | require('./somedata.json') 4 | require('./shared') 5 | // require('./one') -------------------------------------------------------------------------------- /doc/assets/sample-cruise/src/one-only-one.js: -------------------------------------------------------------------------------- 1 | require('path') -------------------------------------------------------------------------------- /doc/assets/sample-cruise/src/one.js: -------------------------------------------------------------------------------- 1 | require('fs') 2 | require('./shared') 3 | require('./one-only-one') 4 | // require('./one-only-two') 5 | require('./sub') 6 | // require('./root_two') -------------------------------------------------------------------------------- /doc/assets/sample-cruise/src/orphan.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/sample-cruise/src/orphan.txt -------------------------------------------------------------------------------- /doc/assets/sample-cruise/src/shared.js: -------------------------------------------------------------------------------- 1 | require('path') -------------------------------------------------------------------------------- /doc/assets/sample-cruise/src/somedata.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /doc/assets/sample-cruise/src/sub/depindir.js: -------------------------------------------------------------------------------- 1 | require('path') -------------------------------------------------------------------------------- /doc/assets/sample-cruise/src/sub/index.js: -------------------------------------------------------------------------------- 1 | require('./depindir') 2 | require('path') -------------------------------------------------------------------------------- /doc/assets/sample-cruise/src/two.js: -------------------------------------------------------------------------------- 1 | require('./sub') -------------------------------------------------------------------------------- /doc/assets/sample-csv-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/sample-csv-output.png -------------------------------------------------------------------------------- /doc/assets/sample-dot-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/sample-dot-output.png -------------------------------------------------------------------------------- /doc/assets/sample-err-html-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/sample-err-html-output.png -------------------------------------------------------------------------------- /doc/assets/sample-err-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/sample-err-output.png -------------------------------------------------------------------------------- /doc/assets/sample-err-output.txt: -------------------------------------------------------------------------------- 1 | error sub-not-allowed: test/fixtures/cjs/root_one.js → test/fixtures/cjs/sub/dir.js 2 | error sub-not-allowed: test/fixtures/cjs/two_only_one.js → test/fixtures/cjs/sub/dir.js 3 | 4 | ✖ 2 violations (2 errors, 0 warnings) 5 | -------------------------------------------------------------------------------- /doc/assets/sample-html-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/sample-html-output.png -------------------------------------------------------------------------------- /doc/assets/sample-html-rotated-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/sample-html-rotated-output.png -------------------------------------------------------------------------------- /doc/assets/sample-markdown-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/sample-markdown-output.png -------------------------------------------------------------------------------- /doc/assets/theming/bare.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: "./base.config.js", 3 | options: { 4 | reporterOptions: { 5 | dot: { 6 | theme: { 7 | replace: true 8 | } 9 | } 10 | } 11 | } 12 | }; 13 | -------------------------------------------------------------------------------- /doc/assets/with-metrics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/assets/with-metrics.png -------------------------------------------------------------------------------- /doc/real-world-samples/bluebird.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/bluebird.png -------------------------------------------------------------------------------- /doc/real-world-samples/chalk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/chalk.png -------------------------------------------------------------------------------- /doc/real-world-samples/coffee-script-coffee-without-node_modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/coffee-script-coffee-without-node_modules.png -------------------------------------------------------------------------------- /doc/real-world-samples/coffee-script-js-without-node_modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/coffee-script-js-without-node_modules.png -------------------------------------------------------------------------------- /doc/real-world-samples/commander.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/commander.png -------------------------------------------------------------------------------- /doc/real-world-samples/debug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/debug.png -------------------------------------------------------------------------------- /doc/real-world-samples/moment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/moment.png -------------------------------------------------------------------------------- /doc/real-world-samples/no-use-with-pre-compilation-deps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/no-use-with-pre-compilation-deps.png -------------------------------------------------------------------------------- /doc/real-world-samples/no-use-without-pre-compilation-deps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/no-use-without-pre-compilation-deps.png -------------------------------------------------------------------------------- /doc/real-world-samples/only-types-with-pre-compilation-deps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/only-types-with-pre-compilation-deps.png -------------------------------------------------------------------------------- /doc/real-world-samples/only-types-without-pre-compilation-deps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/only-types-without-pre-compilation-deps.png -------------------------------------------------------------------------------- /doc/real-world-samples/resolve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/resolve.png -------------------------------------------------------------------------------- /doc/real-world-samples/safe-regex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/safe-regex.png -------------------------------------------------------------------------------- /doc/real-world-samples/tslint-without-node_modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/tslint-without-node_modules.png -------------------------------------------------------------------------------- /doc/real-world-samples/yargs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/real-world-samples/yargs.png -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/do-things/analyze.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/internal-orphans/src/do-things/analyze.ts -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/do-things/ingest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/internal-orphans/src/do-things/ingest.ts -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/do-things/main.ts: -------------------------------------------------------------------------------- 1 | import "./ingest"; 2 | import "./analyze"; 3 | import "./parse"; 4 | import "./validate"; 5 | -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/do-things/not-used-but-using-path.ts: -------------------------------------------------------------------------------- 1 | import "path"; 2 | -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/do-things/parse.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/internal-orphans/src/do-things/parse.ts -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/do-things/report.ts: -------------------------------------------------------------------------------- 1 | import "snodash"; 2 | -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/do-things/validate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/internal-orphans/src/do-things/validate.ts -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/index.ts: -------------------------------------------------------------------------------- 1 | import "./do-things/main"; 2 | -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/node_modules/snodash/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/internal-orphans/src/node_modules/snodash/index.js -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/node_modules/snodash/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "snodash", 3 | "version": "1.0.0", 4 | "description": "dummy package", 5 | "main": "index.js", 6 | "author": "Nigel Tufnel", 7 | "license": "MIT" 8 | } 9 | -------------------------------------------------------------------------------- /doc/recipes/internal-orphans/src/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "internal-orphans", 3 | "version": "1.0.0", 4 | "description": "This is Spnal Tap", 5 | "dependencies": { 6 | "snodash": "1.0.0" 7 | }, 8 | "author": "David St. Hubbins", 9 | "license": "MIT" 10 | } 11 | -------------------------------------------------------------------------------- /doc/recipes/isolating-peer-folders/src/common/utensils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/isolating-peer-folders/src/common/utensils.ts -------------------------------------------------------------------------------- /doc/recipes/isolating-peer-folders/src/features/buy-ticket/checkout.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/isolating-peer-folders/src/features/buy-ticket/checkout.ts -------------------------------------------------------------------------------- /doc/recipes/isolating-peer-folders/src/features/buy-ticket/search.ts: -------------------------------------------------------------------------------- 1 | import "../select-icecream"; 2 | -------------------------------------------------------------------------------- /doc/recipes/isolating-peer-folders/src/features/check-in/confirm.ts: -------------------------------------------------------------------------------- 1 | import "../select-icecream"; 2 | -------------------------------------------------------------------------------- /doc/recipes/isolating-peer-folders/src/features/check-in/identify.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/isolating-peer-folders/src/features/check-in/identify.ts -------------------------------------------------------------------------------- /doc/recipes/isolating-peer-folders/src/features/check-in/index.ts: -------------------------------------------------------------------------------- 1 | import "./identify"; 2 | import "./confirm"; 3 | -------------------------------------------------------------------------------- /doc/recipes/isolating-peer-folders/src/features/information/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/isolating-peer-folders/src/features/information/index.ts -------------------------------------------------------------------------------- /doc/recipes/isolating-peer-folders/src/features/refund/index.ts: -------------------------------------------------------------------------------- 1 | import "../../common/utensils"; 2 | -------------------------------------------------------------------------------- /doc/recipes/isolating-peer-folders/src/features/select-icecream/index.ts: -------------------------------------------------------------------------------- 1 | import "../../common/utensils"; 2 | import "../buy-ticket/checkout"; 3 | -------------------------------------------------------------------------------- /doc/recipes/must-use/src/a-controller-this-is-not.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/must-use/src/a-controller-this-is-not.ts -------------------------------------------------------------------------------- /doc/recipes/must-use/src/base-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/must-use/src/base-controller.ts -------------------------------------------------------------------------------- /doc/recipes/must-use/src/cloud-controller.ts: -------------------------------------------------------------------------------- 1 | import * as base from "./base-controller"; 2 | -------------------------------------------------------------------------------- /doc/recipes/must-use/src/index.ts: -------------------------------------------------------------------------------- 1 | import * as cloud from "./cloud-controller"; 2 | import * as rain from "./rain-controller"; 3 | import * as sun from "./sun-controller"; 4 | import * as wind from "./wind-controller"; 5 | import * as noController from "./a-controller-this-is-not"; 6 | -------------------------------------------------------------------------------- /doc/recipes/must-use/src/rain-controller.ts: -------------------------------------------------------------------------------- 1 | import * as base from "./base-controller"; 2 | -------------------------------------------------------------------------------- /doc/recipes/must-use/src/sun-controller.ts: -------------------------------------------------------------------------------- 1 | import * as base from "./base-controller"; 2 | -------------------------------------------------------------------------------- /doc/recipes/must-use/src/wind-controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/must-use/src/wind-controller.ts -------------------------------------------------------------------------------- /doc/recipes/shared-or-not/src/common/customer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/shared-or-not/src/common/customer.ts -------------------------------------------------------------------------------- /doc/recipes/shared-or-not/src/common/guitar.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/shared-or-not/src/common/guitar.ts -------------------------------------------------------------------------------- /doc/recipes/shared-or-not/src/common/icecream.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/shared-or-not/src/common/icecream.ts -------------------------------------------------------------------------------- /doc/recipes/shared-or-not/src/common/movie.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/doc/recipes/shared-or-not/src/common/movie.ts -------------------------------------------------------------------------------- /doc/recipes/shared-or-not/src/features/check-in.ts: -------------------------------------------------------------------------------- 1 | import "../common/customer"; 2 | import "../common/movie"; 3 | -------------------------------------------------------------------------------- /doc/recipes/shared-or-not/src/features/checkout.ts: -------------------------------------------------------------------------------- 1 | import "../common/customer"; 2 | import "../common/movie"; 3 | -------------------------------------------------------------------------------- /doc/recipes/shared-or-not/src/features/information.ts: -------------------------------------------------------------------------------- 1 | import "../common/icecream"; 2 | -------------------------------------------------------------------------------- /doc/recipes/shared-or-not/src/features/refund.ts: -------------------------------------------------------------------------------- 1 | import "../common/customer"; 2 | import "../common/movie"; 3 | -------------------------------------------------------------------------------- /doc/recipes/shared-or-not/src/features/search.ts: -------------------------------------------------------------------------------- 1 | import "../common/movie"; 2 | -------------------------------------------------------------------------------- /doc/runme.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | for dir in recipes/* 6 | do 7 | cd "$dir" 8 | sh runme.sh 9 | cd - 10 | done 11 | -------------------------------------------------------------------------------- /docs/assets/dependency-cruiser-social-sharing-image.kra: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/docs/assets/dependency-cruiser-social-sharing-image.kra -------------------------------------------------------------------------------- /docs/assets/dependency-cruiser-social-sharing-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/docs/assets/dependency-cruiser-social-sharing-image.png -------------------------------------------------------------------------------- /docs/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | https://sverweij.github.io/dependency-cruiser 4 | monthly 5 | 1.0 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/extract/acorn/extract-stats.mjs: -------------------------------------------------------------------------------- 1 | export default function extractStats(pAST) { 2 | return { 3 | topLevelStatementCount: pAST?.body?.length || 0, 4 | size: pAST?.end || 0, 5 | }; 6 | } 7 | -------------------------------------------------------------------------------- /src/extract/tsc/extract-stats.mjs: -------------------------------------------------------------------------------- 1 | export default function extractStats(pAST) { 2 | return { 3 | topLevelStatementCount: pAST?.statements?.length || 0, 4 | size: pAST?.end || 0, 5 | }; 6 | } 7 | -------------------------------------------------------------------------------- /src/graph-utl/strip-self-transitions.mjs: -------------------------------------------------------------------------------- 1 | export default function stripSelfTransitions(pModule) { 2 | return { 3 | ...pModule, 4 | dependencies: pModule.dependencies.filter( 5 | (pDependency) => pModule.source !== pDependency.resolved 6 | ), 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /src/main/index.d.ts: -------------------------------------------------------------------------------- 1 | export type * from "../../types/dependency-cruiser.mjs"; 2 | -------------------------------------------------------------------------------- /src/report/dot/dot-custom.mjs: -------------------------------------------------------------------------------- 1 | import dotBase from "./index.mjs"; 2 | 3 | export default dotBase("custom"); 4 | -------------------------------------------------------------------------------- /src/report/dot/dot-flat.mjs: -------------------------------------------------------------------------------- 1 | import dotBase from "./index.mjs"; 2 | 3 | export default dotBase("flat"); 4 | -------------------------------------------------------------------------------- /src/report/dot/dot-folder.mjs: -------------------------------------------------------------------------------- 1 | import dotBase from "./index.mjs"; 2 | 3 | export default dotBase("folder"); 4 | -------------------------------------------------------------------------------- /src/report/dot/dot-module.mjs: -------------------------------------------------------------------------------- 1 | import dotBase from "./index.mjs"; 2 | 3 | export default dotBase("module"); 4 | -------------------------------------------------------------------------------- /src/report/error-long.mjs: -------------------------------------------------------------------------------- 1 | import error from "./error.mjs"; 2 | 3 | export default function errorLong(pResults, pOptions) { 4 | return error(pResults, { ...pOptions, long: true }); 5 | } 6 | -------------------------------------------------------------------------------- /test/backwards.utl.mjs: -------------------------------------------------------------------------------- 1 | import { readFileSync } from "node:fs"; 2 | import JSON5 from "json5"; 3 | 4 | export function createRequireJSON(pBaseURL) { 5 | return function requireJSON(pString) { 6 | return JSON5.parse(readFileSync(new URL(pString, pBaseURL), "utf8")); 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /test/cache/__mocks__/cache/invalid-json/cache.json: -------------------------------------------------------------------------------- 1 | this is not valid json -------------------------------------------------------------------------------- /test/cache/__mocks__/cache/valid-minimal-cache/cache.json: -------------------------------------------------------------------------------- 1 | { 2 | "modules": [], 3 | "summary": {}, 4 | "revisionData": { 5 | "SHA1": "26fc7183127945393f77c8559f28bf623babe17f", 6 | "changes": [] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /test/cache/__mocks__/calculate-shasum-of-this.aap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/calculate-shasum-of-this.aap -------------------------------------------------------------------------------- /test/cache/__mocks__/content-strategy/extensions-check/aap-extension-hence-ignored.aap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/content-strategy/extensions-check/aap-extension-hence-ignored.aap -------------------------------------------------------------------------------- /test/cache/__mocks__/content-strategy/extensions-check/noot-extension-hence-returned.noot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/content-strategy/extensions-check/noot-extension-hence-returned.noot -------------------------------------------------------------------------------- /test/cache/__mocks__/content-strategy/extensions-check/zus-extension-hence-ignored.zus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/content-strategy/extensions-check/zus-extension-hence-ignored.zus -------------------------------------------------------------------------------- /test/cache/__mocks__/content-strategy/prepared-revision-data/bar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/content-strategy/prepared-revision-data/bar.js -------------------------------------------------------------------------------- /test/cache/__mocks__/content-strategy/prepared-revision-data/baz.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/content-strategy/prepared-revision-data/baz.js -------------------------------------------------------------------------------- /test/cache/__mocks__/content-strategy/prepared-revision-data/foo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/content-strategy/prepared-revision-data/foo.js -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/both-modified/in-folder-as-well-no-checksum.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/both-modified/in-folder-as-well-no-checksum.js -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/empty-folder/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/empty-folder/.gitkeep -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/exclude-filter/excluded-based-on-exclude-option.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/exclude-filter/excluded-based-on-exclude-option.js -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/exclude-filter/interesting-extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/exclude-filter/interesting-extension.js -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/extensions-only/interesting-extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/extensions-only/interesting-extension.js -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/extensions-only/non-interesting-extension.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/extensions-only/non-interesting-extension.ts -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/include-only-filter/boeie.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/include-only-filter/boeie.js -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/include-only-filter/interesting-as-well.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/include-only-filter/interesting-as-well.js -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/include-only-filter/interesting-extension.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/include-only-filter/interesting-extension.js -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/include-only-filter/not-interested-in-this-one.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/include-only-filter/not-interested-in-this-one.js -------------------------------------------------------------------------------- /test/cache/__mocks__/find-content-changes/unmodified/in-folder-as-well-unmodified.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cache/__mocks__/find-content-changes/unmodified/in-folder-as-well-unmodified.js -------------------------------------------------------------------------------- /test/cli/__fixtures__/alternate-basedir/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/alternate-basedir/src/index.ts -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/es6/babelrc.valid.json: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["@babel/plugin-transform-modules-commonjs"] 3 | } 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/es6/src/index.js: -------------------------------------------------------------------------------- 1 | import * as shared from "./shared"; 2 | 3 | console.log(shared.version); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/es6/src/shared/index.js: -------------------------------------------------------------------------------- 1 | export const version = "4.8.1"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/es6/src/something/else.js: -------------------------------------------------------------------------------- 1 | import * as shared from "../shared"; 2 | 3 | console.log("from someting else", shared.version); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/es6/webpack-cache-bust.config.js: -------------------------------------------------------------------------------- 1 | module.exports = () => ({ 2 | resolve: { 3 | bustTheCache: true, 4 | }, 5 | }); 6 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/ts/babelrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@babel/preset-typescript"] 3 | } 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/ts/src/index.ts: -------------------------------------------------------------------------------- 1 | import * as shared from "./shared"; 2 | 3 | console.log(shared.version); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/ts/src/shared/index.ts: -------------------------------------------------------------------------------- 1 | export const version: string = "4.8.1"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/ts/src/something/else.ts: -------------------------------------------------------------------------------- 1 | import * as shared from "../shared"; 2 | 3 | console.log("from someting else", shared.version); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/ts/src/something/home.ts: -------------------------------------------------------------------------------- 1 | import React, { PureComponent } from "react"; 2 | 3 | type Props = {}; 4 | 5 | export class Home extends PureComponent { 6 | render() { 7 | return "Home"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/ts/src/something/routes-config.ts: -------------------------------------------------------------------------------- 1 | export enum Paths { 2 | HOME = "/", 3 | PROJECT = "/projects/:projectId", 4 | } 5 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/babel/ts/webpack-cache-bust.config.js: -------------------------------------------------------------------------------- 1 | module.exports = () => ({ 2 | resolve: { 3 | bustTheCache: true, 4 | }, 5 | }); 6 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/node_modules/somemodule/node_modules/someothermodule/main.js: -------------------------------------------------------------------------------- 1 | exports.VERSION="1.0.0"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/node_modules/somemodule/node_modules/someothermodule/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "someothermodule", 3 | "version": "1.0.0", 4 | "description": "fixture module for testing js-makedepend", 5 | "main": "main.js", 6 | "license": "MIT" 7 | } 8 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/node_modules/somemodule/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "somemodule", 3 | "version": "1.0.0", 4 | "description": "fixture module for testing js-makedepend", 5 | "main": "src/somemodule.js", 6 | "license": "MIT" 7 | } 8 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/node_modules/somemodule/src/moar-javascript.js: -------------------------------------------------------------------------------- 1 | exports.VERSION="1.2.3-playtime"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/node_modules/somemodule/src/somemodule.js: -------------------------------------------------------------------------------- 1 | const yadda=require("./moar-javascript"); 2 | const othermodule=require("someothermodule"); 3 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/one_only_one.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/one_only_two.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/root_one.js: -------------------------------------------------------------------------------- 1 | var fs = require("fs"); 2 | var cmdr = require("somemodule"); 3 | var shared = require("./shared"); 4 | var subdir = require("./sub/dir"); 5 | var one_only_one = require("./one_only_one"); 6 | var one_only_two = require("./one_only_two"); 7 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/root_two.js: -------------------------------------------------------------------------------- 1 | var http = require("http"); 2 | var shared = require("./shared"); 3 | var two_only_one = require("./two_only_one"); 4 | var data = require("./somedata.json"); 5 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/shared.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/somedata.json: -------------------------------------------------------------------------------- 1 | { 2 | "this": "is some valid JSON", 3 | "that": "is some more JSON" 4 | } 5 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/sub/depindir.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/sub/dir.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | var depindir = require("./depindir"); 3 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/cjs/two_only_one.js: -------------------------------------------------------------------------------- 1 | var dir = require("./sub/dir"); 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/duplicate-subs/nested-sub/sub/index.js: -------------------------------------------------------------------------------- 1 | const wakka = require('./wakka'); 2 | const sub = require('./sub'); 3 | 4 | console.log('yo from nested-sub/sub'); 5 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/duplicate-subs/nested-sub/sub/sub.js: -------------------------------------------------------------------------------- 1 | let sub = require('./wakka'); 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/duplicate-subs/nested-sub/sub/wakka.js: -------------------------------------------------------------------------------- 1 | exports.yo = () => 'nothing, really'; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/duplicate-subs/sub/index.js: -------------------------------------------------------------------------------- 1 | const sub = require('../nested-sub/sub'); 2 | console.log('yo from sub'); 3 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/duplicate-subs/sub/more-in-sub.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/duplicate-subs/sub/more-in-sub.js -------------------------------------------------------------------------------- /test/cli/__fixtures__/duplicate-subs/sub/most-in-sub.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/duplicate-subs/sub/most-in-sub.js -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/config-file-exists/.dependency-cruiser.js: -------------------------------------------------------------------------------- 1 | module.exports = {} -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/no-config-files-exist/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/init-config/no-config-files-exist/.keepalive -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/pnpIsEnabled/no-installConfig-key/package.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/pnpIsEnabled/no-package-json-here/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/init-config/pnpIsEnabled/no-package-json-here/.keepalive -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/pnpIsEnabled/package-json-invalid/package.json: -------------------------------------------------------------------------------- 1 | not valid json -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/pnpIsEnabled/pnp-attribute-false/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "installConfig": { 3 | "pnp": false 4 | } 5 | } -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/pnpIsEnabled/pnp-attribute-missing/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "installConfig": {} 3 | } -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/pnpIsEnabled/pnp-attribute-true/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "installConfig": { 3 | "pnp": true 4 | } 5 | } -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/ts-config-exists/tsconfig.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/validate-location/another-existing-folder/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/init-config/validate-location/another-existing-folder/.keepalive -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/validate-location/existing-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/init-config/validate-location/existing-file -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/validate-location/existing-folder/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/init-config/validate-location/existing-folder/.keepalive -------------------------------------------------------------------------------- /test/cli/__fixtures__/init-config/webpack-config-exists/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/init-config/webpack-config-exists/webpack.config.js -------------------------------------------------------------------------------- /test/cli/__fixtures__/jsdoc-import-tags/dependency-cruiser-config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('../../../../types/dependency-cruiser.d.mts').IConfiguration} */ 2 | export default { 3 | options: { 4 | detectJSDocImports: true, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/jsdoc-import-tags/src/index.mjs: -------------------------------------------------------------------------------- 1 | /** @import { LeesPlankjeType} from "./types.mjs" */ 2 | 3 | /** 4 | * @param { LeesPlankjeType } pLeesPlankje 5 | */ 6 | export function leesPlankje(pLeesPlankje) { 7 | return pLeesPlankje; 8 | } 9 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/jsdoc-import-tags/src/types.d.mts: -------------------------------------------------------------------------------- 1 | export type LeesPlankjeType = "aap" | "noot" | "mies" | "wim" | "zus" | "jet"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/known-violations/src/aap.js: -------------------------------------------------------------------------------- 1 | require("./forbidden-fruit/apple"); 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/known-violations/src/forbidden-fruit/apple.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/known-violations/src/forbidden-fruit/apple.js -------------------------------------------------------------------------------- /test/cli/__fixtures__/known-violations/src/forbidden-fruit/peach.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/known-violations/src/forbidden-fruit/peach.js -------------------------------------------------------------------------------- /test/cli/__fixtures__/known-violations/src/mies.js: -------------------------------------------------------------------------------- 1 | require("./forbidden-fruit/peach"); 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/known-violations/src/noot.js: -------------------------------------------------------------------------------- 1 | require("./rotten-fruit/mispel.js"); 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/known-violations/src/rotten-fruit/mispel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/known-violations/src/rotten-fruit/mispel.js -------------------------------------------------------------------------------- /test/cli/__fixtures__/normalize-config/both-js-and-json/.dependency-cruiser.js: -------------------------------------------------------------------------------- 1 | module.exports = {} -------------------------------------------------------------------------------- /test/cli/__fixtures__/normalize-config/both-js-and-json/.dependency-cruiser.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /test/cli/__fixtures__/normalize-config/js-only/.dependency-cruiser.js: -------------------------------------------------------------------------------- 1 | module.exports = {} -------------------------------------------------------------------------------- /test/cli/__fixtures__/normalize-config/json-only/.dependency-cruiser.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /test/cli/__fixtures__/normalize-config/known-violations/.dependency-cruiser-known-violations.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/normalize-config/known-violations/custom-known-violations.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/normalize-config/no-default-config/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__fixtures__/normalize-config/no-default-config/.keepalive -------------------------------------------------------------------------------- /test/cli/__fixtures__/rules.empty.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/rules.tsConfigNoFileName.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": { 3 | "tsConfig": {} 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/rules.webpackConfigNoFileName.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": { 3 | "webpackConfig": {} 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/typescriptconfig/cli-config-with-path/src/index.ts: -------------------------------------------------------------------------------- 1 | import * as shared from 'shared'; 2 | 3 | console.log( 4 | shared.version 5 | ) 6 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/typescriptconfig/cli-config-with-path/src/shared/index.ts: -------------------------------------------------------------------------------- 1 | export const version = "4.8.1"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/typescriptconfig/cli-config-with-path/src/something/else.ts: -------------------------------------------------------------------------------- 1 | import * as shared from 'shared'; 2 | 3 | console.log( 4 | 'from someting else', shared.version 5 | ) -------------------------------------------------------------------------------- /test/cli/__fixtures__/typescriptconfig/cli-config-with-path/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = () => ({ 2 | resolve: { 3 | bustTheCache: true 4 | } 5 | 6 | }) -------------------------------------------------------------------------------- /test/cli/__fixtures__/typescriptconfig/cli-dynamic-imports/import_dynamically.ts: -------------------------------------------------------------------------------- 1 | import('./import_this').then(imported => { 2 | console.log(imported) 3 | }); -------------------------------------------------------------------------------- /test/cli/__fixtures__/typescriptconfig/cli-dynamic-imports/import_dynamically2.ts: -------------------------------------------------------------------------------- 1 | import('./import_this').then(imported => { 2 | console.log(imported) 3 | }); -------------------------------------------------------------------------------- /test/cli/__fixtures__/typescriptconfig/cli-dynamic-imports/import_this.ts: -------------------------------------------------------------------------------- 1 | export default 3; -------------------------------------------------------------------------------- /test/cli/__fixtures__/unresolvable-in-sub/refers-to-an-unresolvable-module.js: -------------------------------------------------------------------------------- 1 | import {doesnotexist} from "./this/path/does/not/exist"; 2 | import { doesnotexisteither } from "./not-at-home"; 3 | 4 | console.log(doesnotexist.kaboom); 5 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/webpackconfig/aliassy/dependency-cruiser-json-with-webpack-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": { 3 | "webpackConfig": { 4 | "fileName": "test/cli/__fixtures__/webpackconfig/aliassy/webpack.regularexport.config.js" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/webpackconfig/aliassy/src/configspullen/index.js: -------------------------------------------------------------------------------- 1 | module.exports = () => "index from configspullen"; -------------------------------------------------------------------------------- /test/cli/__fixtures__/webpackconfig/aliassy/src/configspullen/someconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "akey": "avalue", 3 | "anotherkey": 42 4 | } -------------------------------------------------------------------------------- /test/cli/__fixtures__/webpackconfig/aliassy/src/index.js: -------------------------------------------------------------------------------- 1 | const configJSON = require('configSpullenAlias/someconfig.json'); 2 | const configSpullen = require('configSpullenAlias'); 3 | 4 | console.log(configSpullen(configJSON.akey)); -------------------------------------------------------------------------------- /test/cli/__fixtures__/webpackconfig/aliassy/webpack.regularexport.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | resolve: { 3 | alias: { 4 | configSpullenAlias: "./configspullen" 5 | }, 6 | bustTheCache: true 7 | } 8 | } -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/apps/admin/direct-relative-import.ts: -------------------------------------------------------------------------------- 1 | import aap from "../../libs/aap"; 2 | 3 | console.log(aap); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/apps/admin/from-subpath-import.ts: -------------------------------------------------------------------------------- 1 | import subPathImport from "#mies/index.js"; 2 | 3 | console.log(subPathImport); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/apps/admin/from-tsconfig-base-url.ts: -------------------------------------------------------------------------------- 1 | import tsConfigBasePath from "libs/wim"; 2 | 3 | console.log(tsConfigBasePath); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/apps/admin/from-tsconfig-path-star.ts: -------------------------------------------------------------------------------- 1 | import tsConfigPathStar from "@modules/zus/index.js"; 2 | 3 | console.log(tsConfigPathStar); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/apps/admin/from-tsconfig-path.ts: -------------------------------------------------------------------------------- 1 | import tsConfigPath from "@sister"; 2 | 3 | console.log(tsConfigPath); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/apps/admin/from-workspace.ts: -------------------------------------------------------------------------------- 1 | import workspace from "noot/index.js"; 2 | 3 | console.log(workspace); 4 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/libs/aap/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "aap"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/libs/aap/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aap", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "author": "Sander Verweij (https://sverweij.github.io/)", 7 | "license": "MIT" 8 | } 9 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/libs/mies/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "mies"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/libs/noot/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "noot"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/libs/wim/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "wim"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/libs/zus/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "zus"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/node_modules/aap: -------------------------------------------------------------------------------- 1 | ../libs/aap -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/node_modules/mies: -------------------------------------------------------------------------------- 1 | ../libs/mies -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/node_modules/noot: -------------------------------------------------------------------------------- 1 | ../libs/noot -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/node_modules/wim: -------------------------------------------------------------------------------- 1 | ../libs/wim -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo-aliases/node_modules/zus: -------------------------------------------------------------------------------- 1 | ../libs/zus -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/libs/books/index.mjs: -------------------------------------------------------------------------------- 1 | export default "hello from books in the library"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/libs/bücher/index.mjs: -------------------------------------------------------------------------------- 1 | export default "Hallo von Bücher in der Bibliothek"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/libs/livres/index.mjs: -------------------------------------------------------------------------------- 1 | export default "bonjour de livres dans la bibliothèque"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/libs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "libs", 3 | "version": "1.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/libs/图书/index.mjs: -------------------------------------------------------------------------------- 1 | export default "你好,来自图书馆的书籍"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/node_modules/3kq578f: -------------------------------------------------------------------------------- 1 | ../packages/事物 -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/node_modules/chose: -------------------------------------------------------------------------------- 1 | ../packages/chose -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/node_modules/ding: -------------------------------------------------------------------------------- 1 | ../packages/ding -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/node_modules/libs: -------------------------------------------------------------------------------- 1 | ../libs -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/node_modules/thing: -------------------------------------------------------------------------------- 1 | ../packages/thing -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workspaces-mono-repo", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "workspaces": [ 6 | "libs", 7 | "packages/*" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/packages/chose/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "pacquet chose"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/packages/chose/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chose", 3 | "version": "1.0.0", 4 | "main": "index.js" 5 | } 6 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/packages/ding/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "Ding Pakket"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/packages/ding/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ding", 3 | "version": "1.0.0", 4 | "main": "index.js" 5 | } 6 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/packages/thing/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "thing package"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/packages/thing/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "thing", 3 | "version": "1.0.0", 4 | "main": "index.js" 5 | } 6 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/packages/事物/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "东西包"; 2 | -------------------------------------------------------------------------------- /test/cli/__fixtures__/workspaces-mono-repo/packages/事物/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "name": "3kq578f", 4 | "description": "3kq578f is punycode for 事物", 5 | "main": "index.js" 6 | } 7 | -------------------------------------------------------------------------------- /test/cli/__output__/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/__output__/.keepalive -------------------------------------------------------------------------------- /test/cli/delete-dammit.utl.cjs: -------------------------------------------------------------------------------- 1 | const fs = require("node:fs"); 2 | 3 | module.exports = (pFileName) => { 4 | try { 5 | fs.unlinkSync(pFileName); 6 | } catch (pError) { 7 | // process.stderr.write(e.message || e); 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/bun-config/bunfig.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/bun-config/bunfig.toml -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/bun-lockfile/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/bun-lockfile/bun.lockb -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/.babelrc -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/.babelrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/.babelrc.js -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/.babelrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/.babelrc.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/babel.config.js -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/babel.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/babel.config.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel-manifest/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "babel": {} 3 | } 4 | -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel/.babelrc -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel/.babelrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel/.babelrc.js -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel/.babelrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel/.babelrc.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel/babel.blabla-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel/babel.blabla-config.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel/babel.config.js -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel/babel.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel/babel.config.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "nobabel": "to be found in this thing" 3 | } 4 | -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-babel/tower-of-babel.config.json5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-babel/tower-of-babel.config.json5 -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-empty/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-empty/.keepalive -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-ts/extended-tsconfig-from-base.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-ts/extended-tsconfig-from-base.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-ts/jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-ts/jsconfig.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-ts/thingie-jsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-ts/thingie-jsconfig.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-ts/tsconfig.base.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-ts/tsconfig.base.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-ts/tsconfig.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-ts/tsconfig.js -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-ts/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-ts/tsconfig.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-ts/tsconfig.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-ts/tsconfig.ts -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-webpack/spiderwebpackconfig.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-webpack/spiderwebpackconfig.cjs -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-webpack/webpack-base-config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-webpack/webpack-base-config.js -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-webpack/webpack.conf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-webpack/webpack.conf.json -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/get-matching-filenames-webpack/webpack.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/get-matching-filenames-webpack/webpack.config.js -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/is-type-module-commonjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/is-type-module-empty/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/is-type-module-empty/.gitkeep -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/is-type-module-not-present/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/is-type-module/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/update-manifest-dc-config-exists/.dependency-cruiser.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/update-manifest-dc-config-exists/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/update-manifest-dc-config-exists/.keepalive -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/update-manifest-dc-config-exists/src/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/update-manifest-dc-config-exists/src/.keepalive -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/update-manifest/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/update-manifest/.keepalive -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/update-manifest/src/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/update-manifest/src/.keepalive -------------------------------------------------------------------------------- /test/cli/init-config/__fixtures__/validate-file-existence/i-have-bytes-therefore-i-exist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__fixtures__/validate-file-existence/i-have-bytes-therefore-i-exist -------------------------------------------------------------------------------- /test/cli/init-config/__mocks__/extensions/no-extensions/another-file-without-an-extension: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__mocks__/extensions/no-extensions/another-file-without-an-extension -------------------------------------------------------------------------------- /test/cli/init-config/__mocks__/extensions/no-extensions/file-without-an-extension: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__mocks__/extensions/no-extensions/file-without-an-extension -------------------------------------------------------------------------------- /test/cli/init-config/__mocks__/mono-repo-with-other-files/lalalaconfig.coffee: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__mocks__/mono-repo-with-other-files/lalalaconfig.coffee -------------------------------------------------------------------------------- /test/cli/init-config/__mocks__/mono-repo-with-other-files/packages/some-source.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__mocks__/mono-repo-with-other-files/packages/some-source.js -------------------------------------------------------------------------------- /test/cli/init-config/__mocks__/no-typescript-here/this-is-javascript.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__mocks__/no-typescript-here/this-is-javascript.js -------------------------------------------------------------------------------- /test/cli/init-config/__mocks__/typescript-here/src/esm-typescript.mts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__mocks__/typescript-here/src/esm-typescript.mts -------------------------------------------------------------------------------- /test/cli/init-config/__mocks__/typescript-in-test-only/src/this-is-only-javasript.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__mocks__/typescript-in-test-only/src/this-is-only-javasript.js -------------------------------------------------------------------------------- /test/cli/init-config/__mocks__/typescript-in-test-only/test/this-is-a-test.spec.cts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/cli/init-config/__mocks__/typescript-in-test-only/test/this-is-a-test.spec.cts -------------------------------------------------------------------------------- /test/cli/utl/__fixtures__/empty.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig-js/babel.config.wildly-unsupported-extension: -------------------------------------------------------------------------------- 1 | export default {}; 2 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig-js/babel.es-module.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: ["@babel/plugin-transform-modules-commonjs"], 3 | }; 4 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig-js/babel.es-module.config.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: ["@babel/plugin-transform-modules-commonjs"], 3 | }; 4 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig-js/babel.function-export.config.js: -------------------------------------------------------------------------------- 1 | module.exports = function (api) { 2 | return { plugins: ["@babel/plugin-transform-modules-commonjs"] }; 3 | }; 4 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig-js/babel.object-export.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: ["@babel/plugin-transform-modules-commonjs"], 3 | }; 4 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig/babelrc.empty.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig/babelrc.invalid.json: -------------------------------------------------------------------------------- 1 | this is certainly{ 2 | no json5: 'hello' 3 | } -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig/babelrc.not-a-babel-option.json: -------------------------------------------------------------------------------- 1 | { 2 | "this-is-not-a-babel-option-and-likely-won't-ever-be": true 3 | } 4 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig/babelrc.valid.json: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["@babel/plugin-transform-modules-commonjs"] 3 | } 4 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig/babelrc.with-a-preset.json: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@babel/preset-typescript"] 3 | } 4 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig/no-babel-config-in-this-package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/babelconfig/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "babel": { 3 | "plugins": [ 4 | "@babel/plugin-transform-modules-commonjs" 5 | ] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/depcruiseconfig/empty.mjs: -------------------------------------------------------------------------------- 1 | export default {}; 2 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/known-violations/this-is-no-json.txt: -------------------------------------------------------------------------------- 1 | But really it isn't!! -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/dummysrc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/config-utl/__mocks__/typescriptconfig/dummysrc.ts -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/tsconfig.circular.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.ralucric.json" 3 | } -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/tsconfig.compileroptionsextendslib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.noncompileroptionsbaselib.json", 3 | "compilerOptions": { 4 | "lib": [ 5 | "dom.iterable" // only in the extends 6 | ] 7 | } 8 | } -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/tsconfig.empty.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/tsconfig.extendsnonexisting.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.nonexistingbase.json" 3 | } -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/tsconfig.invalid.json: -------------------------------------------------------------------------------- 1 | { 2 | this_is_no_json: 'hello' 3 | } -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/tsconfig.ralucric.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.circular.json" 3 | } -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/tsconfig.simplebase.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/tsconfig.simpleextends.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.simplebase.json" 3 | } -------------------------------------------------------------------------------- /test/config-utl/__mocks__/typescriptconfig/tsconfig.withcomments.json: -------------------------------------------------------------------------------- 1 | /* this is a comment*/ 2 | { 3 | // this is a comment as well 4 | } -------------------------------------------------------------------------------- /test/config-utl/__mocks__/webpackconfig/hasaresolve.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | resolve: { 3 | alias: { 4 | config: "src/config", 5 | magic$: "src/merlin/browserify/magic", 6 | }, 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/webpackconfig/invalid.config.js: -------------------------------------------------------------------------------- 1 | This is not valid javascript in any book. -------------------------------------------------------------------------------- /test/config-utl/__mocks__/webpackconfig/noresolve.config.js: -------------------------------------------------------------------------------- 1 | module.exports = module.exports = { 2 | mode: 'production' 3 | }; 4 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/webpackconfig/webpack.config.json5: -------------------------------------------------------------------------------- 1 | { 2 | mode: "production", 3 | resolve: { 4 | alias: { 5 | config: "src/config", 6 | magic$: "src/merlin/browserify/magic", 7 | }, 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/webpackconfig/webpack.config.ls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/config-utl/__mocks__/webpackconfig/webpack.config.ls -------------------------------------------------------------------------------- /test/config-utl/__mocks__/webpackconfig/webpack.config.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | resolve: { 3 | alias: { 4 | config: "src/config", 5 | magic$: "src/merlin/browserify/magic", 6 | }, 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /test/config-utl/__mocks__/webpackconfig/webpack.config.unknown-extension: -------------------------------------------------------------------------------- 1 | { 2 | resolve: { 3 | alias: { 4 | config: "src/config", 5 | magic$: "src/merlin/browserify/magic", 6 | }, 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/extends/base-for-base.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "forbidden": [{ 3 | "name": "no-circular", 4 | "severity": "error", 5 | "from": {}, 6 | "to": { "circular": true } 7 | }] 8 | } -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/extends/base-for-extends.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "extends": "./base-for-base", 3 | "options": { 4 | "doNotFollow": "node_modules" 5 | } 6 | } -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/extends/circular-one.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: './circular-two' 3 | }; -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/extends/circular-two.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: './circular-one' 3 | }; -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/extends/extending-array-with-zero-members.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [], 3 | "forbidden": [{ 4 | "name": "rule-from-the-base", 5 | "from": {}, 6 | "to":{} 7 | }] 8 | } -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/extends/extending-from-node-modules.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "base-from-node-modules" 3 | } -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/extends/extending.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./base-for-extends" 3 | } -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/extends/node_modules/base-from-node-modules/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "base-from-node-modules", 3 | "version": "1.0.0", 4 | "main": "index.js" 5 | } 6 | -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/read-config/dc.alien: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/read-config/dc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/read-config/dc.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/read-config/dc.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/config-utl/extract-depcruise-config/__mocks__/read-config/dc.mjs: -------------------------------------------------------------------------------- 1 | export default {}; 2 | -------------------------------------------------------------------------------- /test/enrich/derive/orphan/__mocks__/one-module.afterprocessing.mjs: -------------------------------------------------------------------------------- 1 | export default [{ source: "./lonely.js", dependencies: [], orphan: true }]; 2 | -------------------------------------------------------------------------------- /test/enrich/derive/orphan/__mocks__/one-module.mjs: -------------------------------------------------------------------------------- 1 | export default [{ source: "./lonely.js", dependencies: [] }]; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd-bangs/excitingpolyfill.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/amd-bangs/excitingpolyfill.js -------------------------------------------------------------------------------- /test/extract/__mocks__/amd-bangs/hurray.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/amd-bangs/hurray.js -------------------------------------------------------------------------------- /test/extract/__mocks__/amd-bangs/simplified-commonjs-wrapper.js: -------------------------------------------------------------------------------- 1 | define(function(require, exports, module){ 2 | var one = require('./excitingpolyfill!./root_one'), 3 | two = require('./root_two'). 4 | three = require('json!./somedata.json'); 5 | }); 6 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd-bangs/somedata.json: -------------------------------------------------------------------------------- 1 | { 2 | "this": "is some valid JSON", 3 | "that": "is some more JSON" 4 | } 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/looks-like-amd-but-isnt.js: -------------------------------------------------------------------------------- 1 | require( 2 | [function(){}, 481, true], 3 | function(){ 4 | // do stuff 5 | } 6 | ); 7 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/module-as-a-function.js: -------------------------------------------------------------------------------- 1 | define(["./root_one", "./root_two"], function(root_one){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/module-with-a-name.js: -------------------------------------------------------------------------------- 1 | define( 2 | "module-with-a-name", 3 | ["./root_one", "./module-as-a-function"], 4 | function(root_one){ 5 | // do stuff 6 | } 7 | ); 8 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/one_only_one.js: -------------------------------------------------------------------------------- 1 | define(["path"], function(path){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/one_only_two.js: -------------------------------------------------------------------------------- 1 | define(["path"], function(path){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/requires-non-relative-module.js: -------------------------------------------------------------------------------- 1 | define(["lodash", "other-module-in-the-config", "sub/local-module-in-drag"], function(_){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/root-module-require.js: -------------------------------------------------------------------------------- 1 | require(["./sub/dir", 2 | "./root_one", 3 | "./root_two"], 4 | function(sub_dir, root_one) { 5 | "use strict"; 6 | // do exciting stuff 7 | }); 8 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/shared.js: -------------------------------------------------------------------------------- 1 | define(["path"], function(path){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/simplified-commonjs-wrapper.js: -------------------------------------------------------------------------------- 1 | define(function(require, exports, module){ 2 | var one = require('./root_one'), 3 | two = require('./root_two'); 4 | }); 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/somedata.json: -------------------------------------------------------------------------------- 1 | { 2 | "this": "is some valid JSON", 3 | "that": "is some more JSON" 4 | } 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/sub/depindir.js: -------------------------------------------------------------------------------- 1 | define([], function(){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/sub/dir.js: -------------------------------------------------------------------------------- 1 | define(["path", "./depindir"], function(path, depindir){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/sub/local-module-in-drag.js: -------------------------------------------------------------------------------- 1 | define([], function(){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/symlink.js: -------------------------------------------------------------------------------- 1 | define(["../symlinked"], function(path){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/amd/two_only_one.js: -------------------------------------------------------------------------------- 1 | define(["./sub/dir"], function(subdir){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-first-tree/index.ts: -------------------------------------------------------------------------------- 1 | import * as hello from "different-in-other-tree"; 2 | import * as pathinonefsintwo from 'path'; 3 | const localJokel = require('./local'); -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-first-tree/local.js: -------------------------------------------------------------------------------- 1 | // import * as httpOnlyInSecondTree from 'http'; 2 | export default "ja"; -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-first-tree/node_modules/different-in-other-tree/index-a.js: -------------------------------------------------------------------------------- 1 | module.exports = "exists"; -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-first-tree/node_modules/different-in-other-tree/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "different-in-other-tree", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index-a.js" 6 | } 7 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-first-tree/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cache-busting", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "different-in-other-tree": "1.0.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-second-tree/index.ts: -------------------------------------------------------------------------------- 1 | import * as hello from "different-in-other-tree"; 2 | import * as pathinonefsintwo from 'fs'; 3 | const localJokel = require('./local'); -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-second-tree/local.js: -------------------------------------------------------------------------------- 1 | import * as httpOnlyInSecondTree from 'http'; 2 | export default "ja"; -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-second-tree/node_modules/different-in-other-tree/index-a.js: -------------------------------------------------------------------------------- 1 | module.exports = "exists - but it's a, not b"; -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-second-tree/node_modules/different-in-other-tree/index-b.js: -------------------------------------------------------------------------------- 1 | module.exports = "exists"; -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-second-tree/node_modules/different-in-other-tree/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "different-in-other-tree", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index-b.js" 6 | } 7 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cache-busting-second-tree/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cache-busting", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | "different-in-other-tree": "1.0.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs-bangs/dependency.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/cjs-bangs/dependency.js -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs-bangs/index.js: -------------------------------------------------------------------------------- 1 | require('ieeeeeeeee!./dependency'); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs-multi-bangs/dependency.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/cjs-multi-bangs/dependency.js -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs-multi-bangs/index.js: -------------------------------------------------------------------------------- 1 | require("!!aap!noot!mies!./dependency"); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs-require-non-strings/othermodule.js: -------------------------------------------------------------------------------- 1 | module.exports = 'othermodule'; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs-require-non-strings/require-a-function.js: -------------------------------------------------------------------------------- 1 | const fromafunction = require(function(){return './requiredfromafunction'}); 2 | const othermodule = require('./othermodule') 3 | 4 | console.log(fromafunction, regular); 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs-require-non-strings/require-a-number.js: -------------------------------------------------------------------------------- 1 | const fromanumber = require(481); // this is quite invalid... unless someone redefined require (happens) 2 | const othermodule = require('./othermodule') 3 | 4 | console.log(fromanumber, regular); 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs-require-non-strings/require-an-iife.js: -------------------------------------------------------------------------------- 1 | const fromafunction = require(function(){return './requiredfromafunction'}()); 2 | const othermodule = require('./othermodule') 3 | 4 | console.log(fromafunction, regular); 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs-require-non-strings/requiredfromafunction.js: -------------------------------------------------------------------------------- 1 | module.exports = 'requiredfromafunction'; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/circle-one.js: -------------------------------------------------------------------------------- 1 | require('./circle-two'); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/circle-three.js: -------------------------------------------------------------------------------- 1 | require('./circle-one'); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/circle-two.js: -------------------------------------------------------------------------------- 1 | require('./circle-three'); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/circular.js: -------------------------------------------------------------------------------- 1 | require('./ralucric'); 2 | require('./pointed-to-by-circular'); 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/declare-and-use.js: -------------------------------------------------------------------------------- 1 | var osRelease = require('os').release(); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/direct-require.js: -------------------------------------------------------------------------------- 1 | require('fs'); 2 | require('./empty'); 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/directory-inclusion.js: -------------------------------------------------------------------------------- 1 | const dirModule=require('./sub'); 2 | 3 | var gSaidHello = dirModule.hello(); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/dot-js-inclusion.js: -------------------------------------------------------------------------------- 1 | // in CJS it is - apparently - allowed to do something like this: 2 | require('./direct-require.js'); 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/duplicates.js: -------------------------------------------------------------------------------- 1 | const os = require('os'); 2 | 3 | function doMagic() { 4 | return require('os').release(); 5 | } 6 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/empty.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/cjs/empty.js -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/one_only_one.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/one_only_two.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/pointed-to-by-circular.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/cjs/pointed-to-by-circular.js -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/points-to-circle-one.js: -------------------------------------------------------------------------------- 1 | require('./circle-one') 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/ralucric.js: -------------------------------------------------------------------------------- 1 | require('./circular'); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/requires-non-existing-module.js: -------------------------------------------------------------------------------- 1 | require('really-does-not-exist'); 2 | require('./does-not-exist-either'); 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/root_one.js: -------------------------------------------------------------------------------- 1 | var fs = require("fs"); 2 | var cmdr = require("commander"); 3 | var shared = require("./shared"); 4 | var subdir = require("./sub/dir"); 5 | var one_only_one = require("./one_only_one"); 6 | var one_only_two = require("./one_only_two"); 7 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/root_two.js: -------------------------------------------------------------------------------- 1 | var http = require("http"); 2 | var shared = require("./shared"); 3 | var two_only_one = require("./two_only_one"); 4 | var data = require("./somedata.json"); 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/shared.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/somedata.json: -------------------------------------------------------------------------------- 1 | { 2 | "this": "is some valid JSON", 3 | "that": "is some more JSON" 4 | } 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/sub/depends-on-some-module.js: -------------------------------------------------------------------------------- 1 | const wappa = require('some-module').NOTHINGMUCH; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/sub/depindir.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/sub/dir.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | var depindir = require("./depindir"); 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/sub/node_modules/some-module/main.js: -------------------------------------------------------------------------------- 1 | exports.NOTHINGMUCH = "Ahooooga!"; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/sub/node_modules/some-module/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "main.js" 3 | } 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/sub/not-the-index.js: -------------------------------------------------------------------------------- 1 | exports.hello= function () { 2 | return "hello from the sub directory"; 3 | }; 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/sub/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "not-the-index.js" 3 | } 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/symlink.js: -------------------------------------------------------------------------------- 1 | require('../symlinked'); -------------------------------------------------------------------------------- /test/extract/__mocks__/cjs/two_only_one.js: -------------------------------------------------------------------------------- 1 | var dir = require("./sub/dir"); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/coffee/javascriptThing.js: -------------------------------------------------------------------------------- 1 | module.exports = x => x*x*x; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/coffee/sub/index.coffee: -------------------------------------------------------------------------------- 1 | import * as exportnix from "./willBeReExported" 2 | 3 | export version = """1.0.0-#{exportnix.exportedonly}""" 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/dofollowstuffinhere/callfromlocal.js: -------------------------------------------------------------------------------- 1 | module.exports = 'Called from local index. Only!'; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/dofollowstuffinhere/index.js: -------------------------------------------------------------------------------- 1 | const meta = require('../donotfollowonceinthisfolder/meta'); 2 | const calledFromLocalIndex = require('./callfromlocal'); 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/donotfollowonceinthisfolder/index.js: -------------------------------------------------------------------------------- 1 | const notcalledfromoutside = require('./notcalledfromoutside'); 2 | const dofollowstuff = require('../dofollowstuffinhere'); 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/donotfollowonceinthisfolder/meta.js: -------------------------------------------------------------------------------- 1 | import {thisiscool} from './notcalledfromoutside'; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/node_modules/in-package-json/index.js: -------------------------------------------------------------------------------- 1 | module.exports = `something index and "${somethinginternal}"`; -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/node_modules/in-package-json/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "in-package-json", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT" 6 | } 7 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/node_modules/in-package-json/somethinginternal.js: -------------------------------------------------------------------------------- 1 | module.exports = "something internal" -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/node_modules/not-in-package-json/index.js: -------------------------------------------------------------------------------- 1 | module.exports = `something index and "${somethinginternal}"`; -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/node_modules/not-in-package-json/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "not-in-package-json", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT" 6 | } 7 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/node_modules/not-in-package-json/somethinginternal.js: -------------------------------------------------------------------------------- 1 | module.exports = "something internal" -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow-dependency-types/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "donotfollow-dependency-types", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "dependencies": { 7 | "in-package-json": "1.0.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow/dofollowstuffinhere/callfromlocal.js: -------------------------------------------------------------------------------- 1 | module.exports = 'Called from local index. Only!'; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow/dofollowstuffinhere/index.js: -------------------------------------------------------------------------------- 1 | const meta = require('../donotfollowonceinthisfolder/meta'); 2 | const calledFromLocalIndex = require('./callfromlocal'); 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow/donotfollowonceinthisfolder/index.js: -------------------------------------------------------------------------------- 1 | const notcalledfromoutside = require('./notcalledfromoutside'); 2 | const dofollowstuff = require('../dofollowstuffinhere'); 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow/donotfollowonceinthisfolder/meta.js: -------------------------------------------------------------------------------- 1 | import {thisiscool} from './notcalledfromoutside'; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow/donotfollowonceinthisfolder/notcalledfromoutside.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/donotfollow/donotfollowonceinthisfolder/notcalledfromoutside.js -------------------------------------------------------------------------------- /test/extract/__mocks__/donotfollow/index.js: -------------------------------------------------------------------------------- 1 | const dontfollowfurther = require('./donotfollowonceinthisfolder'); 2 | const meta = require('./donotfollowonceinthisfolder/meta'); 3 | const dofollow = require('./dofollowstuffinhere'); 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/es6/imports-and-exports.js: -------------------------------------------------------------------------------- 1 | import { parse } from "acorn"; 2 | export * as mocha_but_renamed from "mocha"; 3 | export { Linter } from "eslint"; 4 | import "os"; 5 | 6 | export const version = "1.0.0"; 7 | -------------------------------------------------------------------------------- /test/extract/__mocks__/es6/system-import.js: -------------------------------------------------------------------------------- 1 | System.import('./imports-and-exports') 2 | .then(os => { 3 | console.log(os.release()); 4 | }); 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/exclude/dynamic/es/src/circular.js: -------------------------------------------------------------------------------- 1 | import * as index from './index'; 2 | 3 | export const fun() => console.log(index.value); -------------------------------------------------------------------------------- /test/extract/__mocks__/exclude/dynamic/es/src/dynamic-to-circular.js: -------------------------------------------------------------------------------- 1 | import('./circular').then(pModule => pModule.fun()) -------------------------------------------------------------------------------- /test/extract/__mocks__/exclude/dynamic/es/src/index.js: -------------------------------------------------------------------------------- 1 | import { fun } from "./dynamic-to-circular"; 2 | 3 | fun(); 4 | export const value = 3.14 -------------------------------------------------------------------------------- /test/extract/__mocks__/exclude/path/es/src/circular.js: -------------------------------------------------------------------------------- 1 | import * as index from './index'; 2 | 3 | export const fun() => console.log(index.value); -------------------------------------------------------------------------------- /test/extract/__mocks__/exclude/path/es/src/dynamic-to-circular.js: -------------------------------------------------------------------------------- 1 | import('./circular').then(pModule => pModule.fun()) -------------------------------------------------------------------------------- /test/extract/__mocks__/exclude/path/es/src/index.js: -------------------------------------------------------------------------------- 1 | import { fun } from "./dynamic-to-circular"; 2 | 3 | fun(); 4 | export const value = 3.14 -------------------------------------------------------------------------------- /test/extract/__mocks__/exotic-require/index.js: -------------------------------------------------------------------------------- 1 | const need = require; 2 | const requiredWithNeed = need("./required-with-need"); 3 | 4 | console.log(requiredWithNeed); 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/exotic-require/required-with-need.js: -------------------------------------------------------------------------------- 1 | module.exports = 42; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/extra-extensions/gathered.ratm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/extra-extensions/gathered.ratm -------------------------------------------------------------------------------- /test/extract/__mocks__/extra-extensions/in-the-name-of.ratm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/extra-extensions/in-the-name-of.ratm -------------------------------------------------------------------------------- /test/extract/__mocks__/extra-extensions/innocent-javascript.js: -------------------------------------------------------------------------------- 1 | console.log("yolo"); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/extra-extensions/not-in-extra-extensions-and-no-available-parser-so.notparsed: -------------------------------------------------------------------------------- 1 | import os from "node:os" -------------------------------------------------------------------------------- /test/extract/__mocks__/extra-extensions/not-parsed-when-in-extra-extensions.yolo: -------------------------------------------------------------------------------- 1 | import fs from "node:fs" -------------------------------------------------------------------------------- /test/extract/__mocks__/extract-stats-nop.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/extract-stats-nop.mjs -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/lerna.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/lerna.json -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/baldr/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/baldr/spec/bow.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/baldr/spec/bow.spec.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/baldr/spec/index.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/baldr/spec/index.spec.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/baldr/spec/typo.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/baldr/spec/typo.spec.ts -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/baldr/src/bow.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/baldr/src/bow.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/baldr/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/baldr/src/index.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/baldr/src/typo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/baldr/src/typo.ts -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/freyja/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/freyja/index.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/freyja/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/loki/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/loki/index.ts -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/loki/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/loki/script/hots.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/loki/script/hots.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/loki/src/fake/nothing.to.see.here.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/loki/src/fake/nothing.to.see.here.ts -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/loki/src/index.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/loki/src/index.spec.ts -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/loki/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/loki/src/index.ts -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/odin/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/odin/src/deep/ly.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/odin/src/deep/ly.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/odin/src/deep/ly.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/odin/src/deep/ly.spec.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/odin/src/deep/ly/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/odin/src/deep/ly/index.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/odin/src/deep/ly/nested.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/odin/src/deep/ly/nested.js -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/odin/test/deeplynested.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/odin/test/deeplynested.spec.ts -------------------------------------------------------------------------------- /test/extract/__mocks__/gather-globbing/packages/odin/test/index.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/gather-globbing/packages/odin/test/index.spec.js -------------------------------------------------------------------------------- /test/extract/__mocks__/include/di.js: -------------------------------------------------------------------------------- 1 | module.exports = 'di' -------------------------------------------------------------------------------- /test/extract/__mocks__/include/src/bla.js: -------------------------------------------------------------------------------- 1 | module.exports = 'bla' -------------------------------------------------------------------------------- /test/extract/__mocks__/include/src/index.js: -------------------------------------------------------------------------------- 1 | const bla = require('./bla') 2 | const di = require('../di') 3 | 4 | console.log(bla, di) -------------------------------------------------------------------------------- /test/extract/__mocks__/invalid-symlink/index.js: -------------------------------------------------------------------------------- 1 | foo -------------------------------------------------------------------------------- /test/extract/__mocks__/maxDepth/index.js: -------------------------------------------------------------------------------- 1 | import ping from "./oneDeep"; 2 | import pingTwo from "./oneAndTwoDeep"; 3 | import pingSub from "./sub/oneDeepInSub"; 4 | import "os"; 5 | 6 | export const version = "1.0.0"; 7 | export const cpus = os.cpus().length; 8 | -------------------------------------------------------------------------------- /test/extract/__mocks__/maxDepth/oneAndTwoDeep.js: -------------------------------------------------------------------------------- 1 | export const ping = "ping one and two"; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/maxDepth/oneDeep.js: -------------------------------------------------------------------------------- 1 | import * as twoDeep from "./twoDeep"; 2 | import * as oneAndTwoDeep from "./oneAndTwoDeep"; 3 | 4 | export const ping = "ping"; 5 | -------------------------------------------------------------------------------- /test/extract/__mocks__/maxDepth/sub/oneDeepInSub.js: -------------------------------------------------------------------------------- 1 | import {caramba} from "./twoDeepInSub"; 2 | 3 | export const ping = "oneDeepInSub"; 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/maxDepth/sub/threeDeepInSub.js: -------------------------------------------------------------------------------- 1 | const os = require('os'); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/maxDepth/sub/twoDeepInSub.js: -------------------------------------------------------------------------------- 1 | const threeDeep = require('./threeDeepInSub'); 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/maxDepth/twoDeep.js: -------------------------------------------------------------------------------- 1 | const threeDeep = require('./sub/threeDeepInSub'); 2 | export default const twoDeep = "two deep"; 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/reachable/src/index.js: -------------------------------------------------------------------------------- 1 | const things = require('./relevant'); 2 | 3 | console.log(things); -------------------------------------------------------------------------------- /test/extract/__mocks__/reachable/src/other-stuff/index.js: -------------------------------------------------------------------------------- 1 | const hoodoo = require('./untouched-one'); 2 | 3 | module.exports = 2* hoodoo; -------------------------------------------------------------------------------- /test/extract/__mocks__/reachable/src/other-stuff/untouched-one.js: -------------------------------------------------------------------------------- 1 | module.exports = 2 * require('./untouched-two') -------------------------------------------------------------------------------- /test/extract/__mocks__/reachable/src/other-stuff/untouched-two.js: -------------------------------------------------------------------------------- 1 | module.exports = 2; -------------------------------------------------------------------------------- /test/extract/__mocks__/reachable/src/relevant/dothings.js: -------------------------------------------------------------------------------- 1 | module.exports = (pData) => console.log(pData) -------------------------------------------------------------------------------- /test/extract/__mocks__/reachable/src/relevant/gimmedata.js: -------------------------------------------------------------------------------- 1 | module.exports = 3 -------------------------------------------------------------------------------- /test/extract/__mocks__/reachable/src/relevant/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = require('./dothings')(require('./gimmedata')); -------------------------------------------------------------------------------- /test/extract/__mocks__/reachable/src/relevant/to-untouched.js: -------------------------------------------------------------------------------- 1 | require('../other-stuff') 2 | require('.') -------------------------------------------------------------------------------- /test/extract/__mocks__/specifyTsPreCompilationDeps/index.ts: -------------------------------------------------------------------------------- 1 | import * as types from "./pre-compilation-only"; 2 | import { doStuff } from "./real-deal"; 3 | 4 | const x: types.SomeType = "be"; 5 | 6 | export const thing = doStuff(x); 7 | -------------------------------------------------------------------------------- /test/extract/__mocks__/specifyTsPreCompilationDeps/pre-compilation-only.d.ts: -------------------------------------------------------------------------------- 1 | export type SomeType = "will" | "be" | "weeded" | "out"; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/specifyTsPreCompilationDeps/real-deal.ts: -------------------------------------------------------------------------------- 1 | export function doStuff(pParam) { 2 | console.log(pParam); 3 | } 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/symlinkTarget/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/__mocks__/symlinkTarget/index.js -------------------------------------------------------------------------------- /test/extract/__mocks__/syntax-error.js: -------------------------------------------------------------------------------- 1 | In den beginne was het Woord, en het Woord was bij God, en het Woord was God. 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/ts-types/things.ts: -------------------------------------------------------------------------------- 1 | export interface IThing { 2 | id: number; 3 | thing: string; 4 | } 5 | export const otherThing = 481; 6 | -------------------------------------------------------------------------------- /test/extract/__mocks__/ts-types/two-import-types-one-dependency-one-import-statement.ts: -------------------------------------------------------------------------------- 1 | import { otherThing, type IThing } from "./things"; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/ts-types/two-import-types-one-dependency.mts: -------------------------------------------------------------------------------- 1 | import { otherThing } from "./things"; 2 | import type { IThing } from "./things"; 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/ts-types/two-import-types-one-dependency.ts: -------------------------------------------------------------------------------- 1 | import { otherThing } from "./things"; 2 | import type { IThing } from "./things"; 3 | -------------------------------------------------------------------------------- /test/extract/__mocks__/ts/javascriptThing.js: -------------------------------------------------------------------------------- 1 | module.exports = x => x*x*x; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/ts/sub/index.ts: -------------------------------------------------------------------------------- 1 | import * as exportnix from "./willBeReExported"; 2 | 3 | export const version = `1.0.0-${exportnix.exportedonly}`; 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/ts/sub/willBeReExported.ts: -------------------------------------------------------------------------------- 1 | export const exportedonly = "exportedonly"; 2 | 3 | export interface IRuleMetadata { 4 | /** 5 | * The kebab-case name of the rule. 6 | */ 7 | ruleName: string; 8 | } 9 | -------------------------------------------------------------------------------- /test/extract/__mocks__/vue/javascriptThing.js: -------------------------------------------------------------------------------- 1 | module.exports = x => x*x*x; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/vue/sub/index.ts: -------------------------------------------------------------------------------- 1 | import * as exportnix from "./willBeReExported"; 2 | 3 | export const version = `1.0.0-${exportnix.exportedonly}`; 4 | -------------------------------------------------------------------------------- /test/extract/__mocks__/with-stats/aap.mjs: -------------------------------------------------------------------------------- 1 | import * as noot from "./noot.mjs"; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/with-stats/mies.mjs: -------------------------------------------------------------------------------- 1 | export default 456; 2 | -------------------------------------------------------------------------------- /test/extract/__mocks__/with-stats/noot.mjs: -------------------------------------------------------------------------------- 1 | import * as mies from "./mies.mjs"; 2 | export default 123; 3 | -------------------------------------------------------------------------------- /test/extract/resolve/__fixtures__/amok-prevention-bogus-sub/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__fixtures__/amok-prevention-bogus-sub/.keepalive -------------------------------------------------------------------------------- /test/extract/resolve/__fixtures__/amok-prevention-non-exist/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__fixtures__/amok-prevention-non-exist/.keepalive -------------------------------------------------------------------------------- /test/extract/resolve/__fixtures__/empty-package-json/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__fixtures__/invalid-package-json/package.json: -------------------------------------------------------------------------------- 1 | we are living in a material world, and I am a material guy 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__fixtures__/minimal-package-json/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "the-absolute-bare-minimum-package-json", 3 | "version": "481.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /test/extract/resolve/__fixtures__/no-package-json-here/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__fixtures__/no-package-json-here/.keepalive -------------------------------------------------------------------------------- /test/extract/resolve/__fixtures__/package-json-in-here/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "package-json-in-here", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "modash": "11.11.11" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/deprecated-node-module/require-something-deprecated.js: -------------------------------------------------------------------------------- 1 | const weShouldNotRequireThis = require('deprecated-at-the-start-for-test-purposes'); 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/donot-resolve-to-non-ts/there-is-a-cjs-variant-of-me-but-you-will-not-find-it.cjs: -------------------------------------------------------------------------------- 1 | module.exports = "beep boop"; 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/followability/_partial.scss: -------------------------------------------------------------------------------- 1 | html { 2 | font-family: fantasy 3 | } -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/followability/something.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/followability/something.scss: -------------------------------------------------------------------------------- 1 | @import "./partial" -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/i-got-aliased-to-hoepla/hoi/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/i-got-aliased-to-hoepla/hoi/index.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/licenses/node_modules/array-licenses/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/licenses/node_modules/array-licenses/index.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/licenses/node_modules/boolean-license/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/licenses/node_modules/boolean-license/index.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/licenses/node_modules/boolean-license/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "boolean-license", 3 | "version": "481.0.0", 4 | "license": true 5 | } 6 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/licenses/node_modules/no-license/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/licenses/node_modules/no-license/index.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/licenses/node_modules/no-license/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "no-license", 3 | "version": "481.0.0" 4 | } 5 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/licenses/node_modules/object-license/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/licenses/node_modules/object-license/index.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/licenses/node_modules/object-license/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "object-license", 3 | "version": "481.0.0", 4 | "license": { 5 | "type" : "ISC", 6 | "url" : "https://opensource.org/licenses/ISC" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/licenses/require-something-deprecated.js: -------------------------------------------------------------------------------- 1 | const weShouldNotRequireThis = require('GPL-license'); 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/localmodulesfix/localmoduleshere/shared/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/localmodulesfix/localmoduleshere/shared/index.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/no-package-json/.keepalive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/no-package-json/.keepalive -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/no-package-json/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/no-package-json/index.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/package-json-with-exports/node_modules/export-testinga/feature.cjs: -------------------------------------------------------------------------------- 1 | module.exports.getStuff = function getStuff() { 2 | return "hello from commonjs module"; 3 | }; 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/package-json-with-exports/node_modules/export-testinga/feature.mjs: -------------------------------------------------------------------------------- 1 | export function getStuff() { 2 | return "hello from es module"; 3 | } 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/package-json-with-exports/node_modules/export-testinga/main.cjs: -------------------------------------------------------------------------------- 1 | const {getStuff} = require('package-json-with-weird-exports/conditionalExports') 2 | 3 | console.log(getStuff()) 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/package-json-with-exports/node_modules/export-testinga/main.mjs: -------------------------------------------------------------------------------- 1 | import { getStuff } from 'package-json-with-weird-exports/conditionalExports' 2 | 3 | console.log(getStuff()) 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/package-json-with-exports/yolo.cjs: -------------------------------------------------------------------------------- 1 | const { getStuff } = require("export-testinga/conditionalExports"); 2 | 3 | console.log(getStuff()); 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/package-json-with-exports/yolo.mjs: -------------------------------------------------------------------------------- 1 | import { getStuff } from "export-testinga/conditionalExports"; 2 | 3 | console.log(getStuff()); 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-hashmarks/#/hashmark.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/resolve-hashmarks/#/hashmark.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-hashmarks/hashmark-after-this.js#this-is-extra: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/resolve-hashmarks/hashmark-after-this.js#this-is-extra -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-to-cjs-when-imported-as-cjs/i-am-just-commonjs.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/resolve-to-cjs-when-imported-as-cjs/i-am-just-commonjs.cjs -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-to-cjs-when-imported-as-cjs/i-am-just-commonjs.cts: -------------------------------------------------------------------------------- 1 | // actually sorta lying 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-to-js-even-when-imported-as-js/i-am-genuinely-javascript.ts: -------------------------------------------------------------------------------- 1 | // it's a LIE 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-to-mjs-when-imported-as-mjs/i-am-just-esm.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/resolve-to-mjs-when-imported-as-mjs/i-am-just-esm.mjs -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-to-mjs-when-imported-as-mjs/i-am-just-esm.mts: -------------------------------------------------------------------------------- 1 | // actually sorta lying 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-to-mts-even-when-imported-as-mjs/i-am-secretly-typescript.d.mts: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-to-mts-even-when-imported-as-mjs/i-am-secretly-typescript.mts: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-to-ts-even-when-imported-as-js/i-am-secretly-typescript.ts: -------------------------------------------------------------------------------- 1 | export const peekABoo = 42; 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-type-only-packages/index.ts: -------------------------------------------------------------------------------- 1 | import { SomeType } from "lalala-interfaces"; 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-type-only-packages/node_modules/lalala-interfaces/dist/interfaces/index.d.ts: -------------------------------------------------------------------------------- 1 | export type SomeType = "tic" | "tac" | "toe"; -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve-type-only-packages/node_modules/lalala-interfaces/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lalala-interfaces", 3 | "version": "1.0.0", 4 | "description": "only types, though", 5 | "types": "dist/interfaces" 6 | } -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/resolve/hots.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/resolve/hots.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/triple-slash-directives/hello.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/triple-slash-directives/hello.ts -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/triple-slash-directives/node_modules/something/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/extract/resolve/__mocks__/triple-slash-directives/node_modules/something/index.js -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/triple-slash-directives/node_modules/something/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "something", 3 | "version": "4.8.1", 4 | "main": "index.js", 5 | "license": "MIT" 6 | } -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/triple-slash-directives/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "triple-slash-directives", 3 | "version": "0.0.0", 4 | "dependencies": { 5 | "something": "4.8.1" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/ts-config-with-path-correct-resolution-prio/src/aliassed/dts-before-ts.d.ts: -------------------------------------------------------------------------------- 1 | export const sly = "and the family stone"; 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/ts-config-with-path-correct-resolution-prio/src/aliassed/dts-before-ts.ts: -------------------------------------------------------------------------------- 1 | export const sly = 'and the family stone'; -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/ts-config-with-path-correct-resolution-prio/src/aliassed/js-before-ts.js: -------------------------------------------------------------------------------- 1 | export const version = "4.8.1"; 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/ts-config-with-path-correct-resolution-prio/src/aliassed/js-before-ts.ts: -------------------------------------------------------------------------------- 1 | export const version = "4.8.1"; 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/ts-config-with-path/src/common/wood/tree.ts: -------------------------------------------------------------------------------- 1 | export const theNextEpisode = 'daddayaddaya'; -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/ts-config-with-path/src/shared/index.ts: -------------------------------------------------------------------------------- 1 | export const version = "4.8.1"; 2 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/ts-config-with-path/src/typos/daddayaddaya.ts: -------------------------------------------------------------------------------- 1 | export const sly = 'and the family stone'; -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/unreadable-package-json-because-not-exported/node_modules/testinga-two/feature.cjs: -------------------------------------------------------------------------------- 1 | module.exports.getStuff = function getStuff() { 2 | return "hello from commonjs module"; 3 | }; 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/unreadable-package-json-because-not-exported/node_modules/testinga-two/feature.mjs: -------------------------------------------------------------------------------- 1 | export function getStuff() { 2 | return "hello from es module"; 3 | } 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/unreadable-package-json-because-not-exported/node_modules/testinga-two/main.cjs: -------------------------------------------------------------------------------- 1 | const {getStuff} = require('package-json-with-weird-exports/conditionalExports') 2 | 3 | console.log(getStuff()) 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/unreadable-package-json-because-not-exported/node_modules/testinga-two/main.mjs: -------------------------------------------------------------------------------- 1 | import { getStuff } from 'package-json-with-weird-exports/conditionalExports' 2 | 3 | console.log(getStuff()) 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/vue-last/x.ts: -------------------------------------------------------------------------------- 1 | import * as x from "./y"; 2 | 3 | console.log(x.value) 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/vue-last/y.ts: -------------------------------------------------------------------------------- 1 | import * as y from './y.vue' 2 | 3 | export const value = `ts ${y.value}` 4 | -------------------------------------------------------------------------------- /test/extract/resolve/__mocks__/vue-last/y.vue: -------------------------------------------------------------------------------- 1 | export const value = "vue" 2 | -------------------------------------------------------------------------------- /test/extract/transpile/__fixtures__/babel-out-no-options.js: -------------------------------------------------------------------------------- 1 | import * as alias from "somemodule"; 2 | export default console.log(alias.doStuff()); 3 | -------------------------------------------------------------------------------- /test/extract/transpile/__fixtures__/mjs.js: -------------------------------------------------------------------------------- 1 | const version = "1.2.3"; 2 | 3 | function doSomething(pString) { 4 | console.log(pString); 5 | } 6 | 7 | export { 8 | version, 9 | doSomething 10 | }; -------------------------------------------------------------------------------- /test/extract/transpile/__fixtures__/vue-script-setup.js: -------------------------------------------------------------------------------- 1 | 2 | import HelloWorld from './components/HelloWorld.vue' 3 | -------------------------------------------------------------------------------- /test/extract/transpile/__fixtures__/vue.js: -------------------------------------------------------------------------------- 1 | 2 | import HelloWorld from './components/HelloWorld.vue' 3 | 4 | export default { 5 | name: 'app', 6 | components: { 7 | HelloWorld 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/extract/transpile/__mocks__/babel-in.js: -------------------------------------------------------------------------------- 1 | import * as alias from "somemodule"; 2 | 3 | export default console.log(alias.doStuff()); 4 | -------------------------------------------------------------------------------- /test/extract/transpile/__mocks__/mjs.mjs: -------------------------------------------------------------------------------- 1 | const version = "1.2.3"; 2 | 3 | function doSomething(pString) { 4 | console.log(pString); 5 | } 6 | 7 | export { 8 | version, 9 | doSomething 10 | }; -------------------------------------------------------------------------------- /test/extract/transpile/__mocks__/mts.mts: -------------------------------------------------------------------------------- 1 | const version = "1.2.3"; 2 | 3 | function doSomething(pString: string) { 4 | console.log(pString); 5 | } 6 | 7 | export { version, doSomething }; 8 | -------------------------------------------------------------------------------- /test/graph-utl/__fixtures__/reaches/report-index-module.mjs: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | source: "src/report/index.js", 4 | dependencies: [], 5 | dependents: [], 6 | matchesReaches: true, 7 | orphan: false, 8 | valid: true, 9 | }, 10 | ]; 11 | -------------------------------------------------------------------------------- /test/main/__mocks__/cache-too/three.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/cache-too/three.js -------------------------------------------------------------------------------- /test/main/__mocks__/cache/one.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/cache/one.js -------------------------------------------------------------------------------- /test/main/__mocks__/cache/two.js: -------------------------------------------------------------------------------- 1 | require("./one"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/collapse-after-cruise/src/index.js: -------------------------------------------------------------------------------- 1 | require("./input"); 2 | require("./pre-processing"); 3 | require("./processing"); 4 | require("./post-processing"); 5 | require("./output"); 6 | -------------------------------------------------------------------------------- /test/main/__mocks__/collapse-after-cruise/src/input/aap/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/collapse-after-cruise/src/input/aap/index.js -------------------------------------------------------------------------------- /test/main/__mocks__/collapse-after-cruise/src/input/index.js: -------------------------------------------------------------------------------- 1 | require("./aap"); 2 | require("./noot"); 3 | require("../utl/do-interesting-things"); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/collapse-after-cruise/src/input/noot/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/collapse-after-cruise/src/input/noot/index.js -------------------------------------------------------------------------------- /test/main/__mocks__/collapse-after-cruise/src/output/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/collapse-after-cruise/src/output/index.js -------------------------------------------------------------------------------- /test/main/__mocks__/collapse-after-cruise/src/post-processing/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/collapse-after-cruise/src/post-processing/index.js -------------------------------------------------------------------------------- /test/main/__mocks__/collapse-after-cruise/src/pre-processing/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/collapse-after-cruise/src/pre-processing/index.js -------------------------------------------------------------------------------- /test/main/__mocks__/collapse-after-cruise/src/utl/do-interesting-things.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/collapse-after-cruise/src/utl/do-interesting-things.js -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/looks-like-amd-but-isnt.js: -------------------------------------------------------------------------------- 1 | require( 2 | [function(){}, 481, true], 3 | function(){ 4 | // do stuff 5 | } 6 | ); 7 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/module-as-a-function.js: -------------------------------------------------------------------------------- 1 | define(["./root_one", "./root_two"], function(root_one){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/module-with-a-name.js: -------------------------------------------------------------------------------- 1 | define( 2 | "module-with-a-name", 3 | ["./root_one", "./module-as-a-function"], 4 | function(root_one){ 5 | // do stuff 6 | } 7 | ); 8 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/one_only_one.js: -------------------------------------------------------------------------------- 1 | define(["path"], function(path){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/one_only_two.js: -------------------------------------------------------------------------------- 1 | define(["path"], function(path){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/requires-non-relative-module.js: -------------------------------------------------------------------------------- 1 | define(["lodash", "other-module-in-the-config", "sub/local-module-in-drag"], function(_){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/root-module-require.js: -------------------------------------------------------------------------------- 1 | require(["./sub/dir", 2 | "./root_one", 3 | "./root_two"], 4 | function(sub_dir, root_one) { 5 | "use strict"; 6 | // do exciting stuff 7 | }); 8 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/shared.js: -------------------------------------------------------------------------------- 1 | define(["path"], function(path){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/simplified-commonjs-wrapper.js: -------------------------------------------------------------------------------- 1 | define(function(require, exports, module){ 2 | var one = require('./root_one'), 3 | two = require('./root_two'); 4 | }); 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/somedata.json: -------------------------------------------------------------------------------- 1 | { 2 | "this": "is some valid JSON", 3 | "that": "is some more JSON" 4 | } 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/sub/depindir.js: -------------------------------------------------------------------------------- 1 | define([], function(){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/sub/dir.js: -------------------------------------------------------------------------------- 1 | define(["path", "./depindir"], function(path, depindir){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/sub/local-module-in-drag.js: -------------------------------------------------------------------------------- 1 | define([], function(){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/symlink.js: -------------------------------------------------------------------------------- 1 | define(["../symlinked"], function(path){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/amd/two_only_one.js: -------------------------------------------------------------------------------- 1 | define(["./sub/dir"], function(subdir){ 2 | // do stuff 3 | }); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/bundled-dependencies/index.js: -------------------------------------------------------------------------------- 1 | const bundled = require('igetbundled'); 2 | const notbundled = require('idontgetbundled'); 3 | 4 | console.log(`${bundled}}/ ${notbundled}`); 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/bundled-dependencies/node_modules/idontgetbundled/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "I don't get bundled ;-("; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/bundled-dependencies/node_modules/igetbundled/index.js: -------------------------------------------------------------------------------- 1 | module.exports = "I' get bundled :-P"; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/cjs-require-non-strings/othermodule.js: -------------------------------------------------------------------------------- 1 | module.exports = 'othermodule'; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/cjs-require-non-strings/require-a-function.js: -------------------------------------------------------------------------------- 1 | const fromafunction = require(function(){return './requiredfromafunction'}); 2 | const othermodule = require('./othermodule') 3 | 4 | console.log(fromafunction, regular); 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/cjs-require-non-strings/require-a-number.js: -------------------------------------------------------------------------------- 1 | const fromanumber = require(481); // this is quite invalid... unless someone redefined require (happens) 2 | const othermodule = require('./othermodule') 3 | 4 | console.log(fromanumber, regular); 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/cjs-require-non-strings/require-an-iife.js: -------------------------------------------------------------------------------- 1 | const fromafunction = require(function(){return './requiredfromafunction'}()); 2 | const othermodule = require('./othermodule') 3 | 4 | console.log(fromafunction, regular); 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/cjs-require-non-strings/requiredfromafunction.js: -------------------------------------------------------------------------------- 1 | module.exports = 'requiredfromafunction'; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/coffee/javascriptThing.js: -------------------------------------------------------------------------------- 1 | module.exports = x => x*x*x; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/coffee/sub/index.coffee: -------------------------------------------------------------------------------- 1 | import * as exportnix from "./willBeReExported" 2 | 3 | export version = """1.0.0-#{exportnix.exportedonly}""" 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/circle-one.js: -------------------------------------------------------------------------------- 1 | require('./circle-two'); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/circle-three.js: -------------------------------------------------------------------------------- 1 | require('./circle-one'); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/circle-two.js: -------------------------------------------------------------------------------- 1 | require('./circle-three'); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/circular.js: -------------------------------------------------------------------------------- 1 | require('./ralucric'); 2 | require('./pointed-to-by-circular'); 3 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/declare-and-use.js: -------------------------------------------------------------------------------- 1 | var osRelease = require('os').release(); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/direct-require.js: -------------------------------------------------------------------------------- 1 | require('fs'); 2 | require('./empty'); 3 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/directory-inclusion.js: -------------------------------------------------------------------------------- 1 | const dirModule=require('./sub'); 2 | 3 | var gSaidHello = dirModule.hello(); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/dot-js-inclusion.js: -------------------------------------------------------------------------------- 1 | // in CJS it is - apparently - allowed to do something like this: 2 | require('./direct-require.js'); 3 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/duplicates.js: -------------------------------------------------------------------------------- 1 | const os = require('os'); 2 | 3 | function doMagic() { 4 | return require('os').release(); 5 | } 6 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/empty.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/cruise-reporterless/commonjs/empty.js -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/one_only_one.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/one_only_two.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/pointed-to-by-circular.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/cruise-reporterless/commonjs/pointed-to-by-circular.js -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/points-to-circle-one.js: -------------------------------------------------------------------------------- 1 | require('./circle-one') 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/ralucric.js: -------------------------------------------------------------------------------- 1 | require('./circular'); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/requires-non-existing-module.js: -------------------------------------------------------------------------------- 1 | require('really-does-not-exist'); 2 | require('./does-not-exist-either'); 3 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/root_two.js: -------------------------------------------------------------------------------- 1 | var http = require("http"); 2 | var shared = require("./shared"); 3 | var two_only_one = require("./two_only_one"); 4 | var data = require("./somedata.json"); 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/shared.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/somedata.json: -------------------------------------------------------------------------------- 1 | { 2 | "this": "is some valid JSON", 3 | "that": "is some more JSON" 4 | } 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/sub/depends-on-some-module.js: -------------------------------------------------------------------------------- 1 | const wappa = require('some-module').NOTHINGMUCH; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/sub/depindir.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/sub/dir.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | var depindir = require("./depindir"); 3 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/sub/node_modules/some-module/main.js: -------------------------------------------------------------------------------- 1 | exports.NOTHINGMUCH = "Ahooooga!"; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/sub/node_modules/some-module/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "main.js" 3 | } 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/sub/not-the-index.js: -------------------------------------------------------------------------------- 1 | exports.hello= function () { 2 | return "hello from the sub directory"; 3 | }; 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/sub/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "not-the-index.js" 3 | } 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/symlink.js: -------------------------------------------------------------------------------- 1 | require('../symlinked'); -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/commonjs/two_only_one.js: -------------------------------------------------------------------------------- 1 | var dir = require("./sub/dir"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/deprecated-node-module/require-something-deprecated.js: -------------------------------------------------------------------------------- 1 | const weShouldNotRequireThis = require('deprecated-at-the-start-for-test-purposes'); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/folder/stable/index.js: -------------------------------------------------------------------------------- 1 | require("../unstable/index.js"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/folder/stable/utl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/cruise-reporterless/folder/stable/utl.js -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/folder/unstable/index.js: -------------------------------------------------------------------------------- 1 | require("aap"); 2 | require("noot"); 3 | require("mies"); 4 | require("wim"); 5 | require("zus"); 6 | require("jet"); 7 | require("../stable/utl"); 8 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/metrics/format-output/index.js: -------------------------------------------------------------------------------- 1 | import { EOL } from "os"; 2 | 3 | export default (pInput) => pInput.padStart(40).concat(EOL); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/metrics/mangle-entry/do-something-else.js: -------------------------------------------------------------------------------- 1 | export default (pInput) => pInput; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/metrics/mangle-entry/do-something.js: -------------------------------------------------------------------------------- 1 | export default (pInput) => pInput; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/metrics/mangle-entry/index.js: -------------------------------------------------------------------------------- 1 | import doSomething from "./do-something.js"; 2 | import doSomethingElse from "./do-something-else.js"; 3 | 4 | export default (pEntry) => doSomething(doSomethingElse(pEntry)); 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/metrics/parse-input/index.js: -------------------------------------------------------------------------------- 1 | export default (pInput) => [pInput]; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/typescript-circular-with-types/A.ts: -------------------------------------------------------------------------------- 1 | import { B } from './B'; 2 | 3 | export interface A { 4 | foo: string; 5 | } 6 | 7 | const b = new B(); -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/typescript-circular-with-types/B.ts: -------------------------------------------------------------------------------- 1 | import { A } from './A'; 2 | 3 | export class B {}; 4 | 5 | const a: A = {foo: "foo"}; -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/typescript-unused-dependencies/a.ts: -------------------------------------------------------------------------------- 1 | import { B } from './b'; 2 | import { C } from './c'; 3 | 4 | export class A { 5 | } 6 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/typescript-unused-dependencies/b.ts: -------------------------------------------------------------------------------- 1 | import { C } from './c'; 2 | 3 | export class B { 4 | } 5 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/typescript-unused-dependencies/c.ts: -------------------------------------------------------------------------------- 1 | export class C { 2 | } 3 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/typescript/javascriptThing.js: -------------------------------------------------------------------------------- 1 | module.exports = x => x*x*x; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/typescript/sub/index.ts: -------------------------------------------------------------------------------- 1 | import * as exportnix from "./willBeReExported"; 2 | 3 | export const version = `1.0.0-${exportnix.exportedonly}`; 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/typescript/sub/willBeReExported.ts: -------------------------------------------------------------------------------- 1 | export const exportedonly = "exportedonly"; 2 | 3 | export interface IRuleMetadata { 4 | /** 5 | * The kebab-case name of the rule. 6 | */ 7 | ruleName: string; 8 | } 9 | -------------------------------------------------------------------------------- /test/main/__mocks__/cruise-reporterless/vue/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | 4 | Vue.config.productionTip = false 5 | 6 | new Vue({ 7 | render: h => h(App) 8 | }).$mount('#app') 9 | -------------------------------------------------------------------------------- /test/main/__mocks__/dynamic-imports/es/src/circular.js: -------------------------------------------------------------------------------- 1 | import * as index from './index'; 2 | 3 | export const fun() => console.log(index.value); -------------------------------------------------------------------------------- /test/main/__mocks__/dynamic-imports/es/src/dynamic-to-circular.js: -------------------------------------------------------------------------------- 1 | import('./circular').then(pModule => pModule.fun()) -------------------------------------------------------------------------------- /test/main/__mocks__/dynamic-imports/es/src/index.js: -------------------------------------------------------------------------------- 1 | import { fun } from "./dynamic-to-circular"; 2 | 3 | fun(); 4 | export const value = 3.14 -------------------------------------------------------------------------------- /test/main/__mocks__/dynamic-imports/typescript/src/circular.ts: -------------------------------------------------------------------------------- 1 | import * as index from './index'; 2 | 3 | export const fun() => console.log(index.value); -------------------------------------------------------------------------------- /test/main/__mocks__/dynamic-imports/typescript/src/dynamic-to-circular.ts: -------------------------------------------------------------------------------- 1 | import('./circular').then(pModule => pModule.fun()) -------------------------------------------------------------------------------- /test/main/__mocks__/dynamic-imports/typescript/src/index.ts: -------------------------------------------------------------------------------- 1 | import { fun } from "./dynamic-to-circular"; 2 | 3 | fun(); 4 | export const value = 3.14 -------------------------------------------------------------------------------- /test/main/__mocks__/jsx/index.js: -------------------------------------------------------------------------------- 1 | const jsx = require('./jsx'); 2 | 3 | console.log(jsx); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/db/admin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/reachables/src/db/admin.js -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/db/one.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/reachables/src/db/one.js -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/db/three.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/reachables/src/db/three.js -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/db/two.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/reachables/src/db/two.js -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/functionality/hat.js: -------------------------------------------------------------------------------- 1 | require("../schema-declarations/admin.info"); 2 | require("../db/admin"); 3 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/functionality/kazam.js: -------------------------------------------------------------------------------- 1 | require("../schema-declarations/one.info"); 2 | require("../schema-declarations/two.info"); 3 | require("../schema-declarations/naughty.info"); 4 | require("../db/one"); 5 | require("../db/two"); 6 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/functionality/kazoom.js: -------------------------------------------------------------------------------- 1 | require("../db/three"); 2 | require("../utilities/plumbing"); 3 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/functionality/rabit.js: -------------------------------------------------------------------------------- 1 | require("./hat"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/index.js: -------------------------------------------------------------------------------- 1 | require("./functionality/rabit"); 2 | require("./functionality/kazam"); 3 | require("./functionality/kazoom"); 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/schema-declarations/admin.info.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/reachables/src/schema-declarations/admin.info.js -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/schema-declarations/naughty.info.js: -------------------------------------------------------------------------------- 1 | require("../utilities/plumbing"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/schema-declarations/one.info.js: -------------------------------------------------------------------------------- 1 | require("../utilities/heating"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/schema-declarations/two.info.js: -------------------------------------------------------------------------------- 1 | require("../utilities/heating"); 2 | require("../utilities/electricity"); 3 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/utilities/electricity.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/reachables/src/utilities/electricity.js -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/utilities/heating.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sverweij/dependency-cruiser/9db465e8088c81bfca347966399a12de8686fae1/test/main/__mocks__/reachables/src/utilities/heating.js -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/utilities/insula.js: -------------------------------------------------------------------------------- 1 | require("./electricity"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/utilities/pen.js: -------------------------------------------------------------------------------- 1 | require("./insula"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/reachables/src/utilities/plumbing.js: -------------------------------------------------------------------------------- 1 | require("../db/admin"); 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-off-cjs/also-used.ts: -------------------------------------------------------------------------------- 1 | export const x = 3; -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-off-cjs/definitely-used.ts: -------------------------------------------------------------------------------- 1 | export const x = 1; -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-off-cjs/imported-from-index-but-not-used.ts: -------------------------------------------------------------------------------- 1 | export default () => 'not used'; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-off-cjs/index.ts: -------------------------------------------------------------------------------- 1 | import * as unused from './imported-from-index-but-not-used'; 2 | import * as definitlyUsed from './definitely-used'; 3 | const alsoUsed = require('./also-used'); 4 | 5 | console.log(definitlyUsed.x, alsoUsed.x); 6 | 7 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-off-es/also-used.ts: -------------------------------------------------------------------------------- 1 | export const x = 3; -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-off-es/definitely-used.ts: -------------------------------------------------------------------------------- 1 | export const x = 1; -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-off-es/imported-from-index-but-not-used.ts: -------------------------------------------------------------------------------- 1 | export default () => 'not used'; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-off-es/index.ts: -------------------------------------------------------------------------------- 1 | import * as unused from './imported-from-index-but-not-used'; 2 | import * as definitlyUsed from './definitely-used'; 3 | const alsoUsed = require('./also-used'); 4 | 5 | console.log(definitlyUsed.x, alsoUsed.x); 6 | 7 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-on-cjs/also-used.ts: -------------------------------------------------------------------------------- 1 | export const x = 3; -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-on-cjs/definitely-used.ts: -------------------------------------------------------------------------------- 1 | export const x = 1; -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-on-cjs/imported-from-index-but-not-used.ts: -------------------------------------------------------------------------------- 1 | export default () => 'not used'; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-on-cjs/index.ts: -------------------------------------------------------------------------------- 1 | import * as unused from './imported-from-index-but-not-used'; 2 | import * as definitlyUsed from './definitely-used'; 3 | const alsoUsed = require('./also-used'); 4 | 5 | console.log(definitlyUsed.x, alsoUsed.x); 6 | 7 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-on-es/also-used.ts: -------------------------------------------------------------------------------- 1 | export const x = 3; -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-on-es/definitely-used.ts: -------------------------------------------------------------------------------- 1 | export const x = 1; -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-on-es/imported-from-index-but-not-used.ts: -------------------------------------------------------------------------------- 1 | export default () => 'not used'; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts-precompilation-deps-on-es/index.ts: -------------------------------------------------------------------------------- 1 | import * as unused from './imported-from-index-but-not-used'; 2 | import * as definitlyUsed from './definitely-used'; 3 | const alsoUsed = require('./also-used'); 4 | 5 | console.log(definitlyUsed.x, alsoUsed.x); 6 | 7 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts/javascriptThing.js: -------------------------------------------------------------------------------- 1 | module.exports = x => x*x*x; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts/sub/index.ts: -------------------------------------------------------------------------------- 1 | import * as exportnix from "./willBeReExported"; 2 | 3 | export const version = `1.0.0-${exportnix.exportedonly}`; 4 | -------------------------------------------------------------------------------- /test/main/__mocks__/ts/sub/willBeReExported.ts: -------------------------------------------------------------------------------- 1 | export const exportedonly = "exportedonly"; 2 | 3 | export interface IRuleMetadata { 4 | /** 5 | * The kebab-case name of the rule. 6 | */ 7 | ruleName: string; 8 | } 9 | -------------------------------------------------------------------------------- /test/main/__mocks__/tsconfig.targetcjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "module": "commonjs" 5 | } 6 | } -------------------------------------------------------------------------------- /test/main/__mocks__/tsconfig.targetes.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "module": "es6" 5 | } 6 | } -------------------------------------------------------------------------------- /test/main/__mocks__/tsx/index.ts: -------------------------------------------------------------------------------- 1 | import {render as appRender} from './sub/render'; 2 | 3 | console.log( 4 | appRender() 5 | ); 6 | -------------------------------------------------------------------------------- /test/main/__mocks__/type-only-imports/src/bla.ts: -------------------------------------------------------------------------------- 1 | import type bla from "./types"; 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/type-only-imports/src/types.ts: -------------------------------------------------------------------------------- 1 | export default 481 2 | -------------------------------------------------------------------------------- /test/main/__mocks__/type-only-module-references/node_modules/@types/graphql/tsutils/Maybe.d.ts: -------------------------------------------------------------------------------- 1 | // Conveniently represents flow's "Maybe" type https://flow.org/en/docs/types/maybe/ 2 | type Maybe = null | undefined | T; 3 | 4 | export default Maybe; 5 | -------------------------------------------------------------------------------- /test/main/resolve-options/__mocks__/tsconfig.test.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "." 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /test/report/azure-devops/__mocks__/everything-fine-azure-devops-format.txt: -------------------------------------------------------------------------------- 1 | ##vso[task.complete result=Succeeded;]no dependency violations found (1 modules, 0 dependencies cruised) 2 | -------------------------------------------------------------------------------- /test/report/azure-devops/__mocks__/known-violations-azure-devops-format.txt: -------------------------------------------------------------------------------- 1 | ##vso[task.complete result=Succeeded;]no dependency violations found - 11 violations ignored (459 modules, 1093 dependencies cruised) 2 | -------------------------------------------------------------------------------- /test/report/d2/__fixtures__/00-empty.d2: -------------------------------------------------------------------------------- 1 | # modules 2 | 3 | 4 | 5 | # dependencies 6 | 7 | 8 | 9 | # styling 10 | 11 | classes: { 12 | module: { 13 | height: 30; 14 | style.border-radius: 10; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/report/d2/__mocks__/00-empty.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | modules: [], 3 | summary: { 4 | optionsUsed: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /test/report/dot/custom-level/__fixtures__/orphans.dot: -------------------------------------------------------------------------------- 1 | strict digraph "dependency-cruiser output"{ 2 | splines="ortho" 3 | 4 | 5 | 6 | "tmp/" [label= tooltip="no-orphans" URL="https://github.com/sverweij/dependency-cruiser/blob/develop/tmp/" ] 7 | } 8 | -------------------------------------------------------------------------------- /test/report/dot/module-level/__fixtures__/orphan-deps.dot: -------------------------------------------------------------------------------- 1 | strict digraph "dependency-cruiser output"{ 2 | 3 | 4 | 5 | 6 | "remi.js" [label= tooltip="no-orphans" URL="remi.js" ] 7 | } 8 | -------------------------------------------------------------------------------- /test/report/dot/module-level/__fixtures__/prefix-non-uri.dot: -------------------------------------------------------------------------------- 1 | strict digraph "dependency-cruiser output"{ 2 | 3 | 4 | 5 | 6 | "remi.js" [label= tooltip="no-orphans" URL="ladida/remi.js" ] 7 | } 8 | -------------------------------------------------------------------------------- /test/report/dot/module-level/__fixtures__/prefix-uri.dot: -------------------------------------------------------------------------------- 1 | strict digraph "dependency-cruiser output"{ 2 | 3 | 4 | 5 | 6 | "remi.js" [label= tooltip="no-orphans" URL="testprefix://ladida/remi.js" ] 7 | } 8 | -------------------------------------------------------------------------------- /test/report/dot/module-level/bare-theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": true 3 | } 4 | -------------------------------------------------------------------------------- /test/report/mermaid/__mocks__/collapsed.min.mmd: -------------------------------------------------------------------------------- 1 | flowchart LR 2 | 3 | subgraph 0["src"] 4 | 1[" "] 5 | end 6 | 7 | -------------------------------------------------------------------------------- /test/report/mermaid/__mocks__/orphan-deps.mmd: -------------------------------------------------------------------------------- 1 | flowchart LR 2 | 3 | remi_js["remi.js"] 4 | 5 | -------------------------------------------------------------------------------- /test/report/mermaid/__mocks__/unknown-deps.mmd: -------------------------------------------------------------------------------- 1 | flowchart LR 2 | 3 | yarn_lock["yarn.lock"] 4 | __unknown__["✖"] 5 | yarn_lock-->__unknown__ 6 | -------------------------------------------------------------------------------- /test/report/plugins/__fixtures__/invalid-no-exit-code-plugin.cjs: -------------------------------------------------------------------------------- 1 | module.exports = (_pCruiseResult) => ({ 2 | output: "dummy", 3 | }); 4 | -------------------------------------------------------------------------------- /test/report/plugins/__fixtures__/invalid-no-output-plugin.cjs: -------------------------------------------------------------------------------- 1 | module.exports = (_pCruiseResult) => ({ 2 | exitCode: 0, 3 | }); 4 | -------------------------------------------------------------------------------- /test/report/plugins/__fixtures__/invalid-non-number-exit-code-plugin.cjs: -------------------------------------------------------------------------------- 1 | module.exports = (pCruiseResult) => ({ 2 | output: "dummy", 3 | exitCode: "not a number", 4 | }); 5 | -------------------------------------------------------------------------------- /test/report/plugins/__fixtures__/invalid-not-a-function-plugin.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "not-a-function": "really not", 3 | }; 4 | -------------------------------------------------------------------------------- /test/report/plugins/__fixtures__/valid-non-functional-plugin.cjs: -------------------------------------------------------------------------------- 1 | module.exports = (_pCruiseResult) => ({ 2 | output: "some string", 3 | exitCode: 42, 4 | }); 5 | -------------------------------------------------------------------------------- /test/report/teamcity/__mocks__/everything-fine-teamcity-format.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /test/utl/node_modules/beta/index.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /test/utl/node_modules/beta/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "beta-fixture", 3 | "description": "test if release candidates are correctly detected as well", 4 | "version": "3.0.0-beta-0", 5 | "main": "./index.js" 6 | } 7 | -------------------------------------------------------------------------------- /test/utl/node_modules/no-default-export/main.mjs: -------------------------------------------------------------------------------- 1 | function compile() { 2 | 3 | } 4 | const something = "something else"; 5 | 6 | export {compile, something} -------------------------------------------------------------------------------- /test/utl/node_modules/rc/index.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /test/utl/node_modules/rc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rc-fixture", 3 | "description": "test if release candidates are correctly detected as well", 4 | "version": "3.0.0-rc", 5 | "main": "./index.js" 6 | } 7 | -------------------------------------------------------------------------------- /test/validate/__mocks__/extends/base-for-extends.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": { 3 | "doNotFollow": "node_modules" 4 | } 5 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/extends/base2-for-extends.json: -------------------------------------------------------------------------------- 1 | { 2 | "forbidden": [{ 3 | "name": "no-circular", 4 | "severity": "error", 5 | "from": {}, 6 | "to": { "circular": true } 7 | }] 8 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/extends/extending.as.array.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "extends": [ 4 | "./base-for-extends.json", 5 | "./base2-for-extends.json" 6 | ] 7 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/extends/extending.as.number.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "extends": 42 4 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/extends/extending.as.string.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./rules.base-for-extends.json" 3 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.empty-options-section.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": {} 3 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.not-a-valid-rulesfile.json: -------------------------------------------------------------------------------- 1 | { 2 | "no-valid-rules-in-here": "nope" 3 | } 4 | -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.options-section-scary-regex-do-not-follow.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": { 3 | "doNotFollow": "(.*)*" 4 | } 5 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.options-section-scary-regex-exclude.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": { 3 | "exclude": "(.*)*" 4 | } 5 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.options-section-webpack-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": { 3 | "doNotFollow": "^node_modules", 4 | "moduleSystems": ["es6", "cjs"], 5 | "webpackConfig": { 6 | "env": "prod" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.options-section.json: -------------------------------------------------------------------------------- 1 | { 2 | "options": { 3 | "doNotFollow": "^node_modules", 4 | "moduleSystems": ["es6", "cjs"] 5 | } 6 | } -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.reachable-true.path.json: -------------------------------------------------------------------------------- 1 | { 2 | "forbidden": [ 3 | { 4 | "name": "no-reachable", 5 | "from": { "path": "src/index\\.js" }, 6 | "to": { "reachable": true, "path": "something" } 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.scary-regex-array.json: -------------------------------------------------------------------------------- 1 | { 2 | "forbidden": [ 3 | { 4 | "from": { 5 | "path": ".+" 6 | }, 7 | "to": { 8 | "path": ["(.+)*", "something else"] 9 | } 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.scary-regex-in-license.json: -------------------------------------------------------------------------------- 1 | { 2 | "forbidden": [ 3 | { 4 | "from": { 5 | }, 6 | "to": { 7 | "license": "(.+)*" 8 | } 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.scary-regex-in-licensenot.json: -------------------------------------------------------------------------------- 1 | { 2 | "forbidden": [ 3 | { 4 | "from": { 5 | }, 6 | "to": { 7 | "licenseNot": "(.+)*" 8 | } 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.scary-regex-in-via.json: -------------------------------------------------------------------------------- 1 | { 2 | "forbidden": [ 3 | { 4 | "from": {}, 5 | "to": { 6 | "via": { 7 | "path": ["(.+)*", "this-is-ok-1", "this-is-ok-2"] 8 | } 9 | } 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /test/validate/__mocks__/rules.scary-regex.json: -------------------------------------------------------------------------------- 1 | { 2 | "forbidden": [ 3 | { 4 | "from": { 5 | "path": ".+" 6 | }, 7 | "to": { 8 | "path": "(.+)*" 9 | } 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /test/validate/parse-ruleset.utl.mjs: -------------------------------------------------------------------------------- 1 | import normalizeRuleSet from "#main/rule-set/normalize.mjs"; 2 | import assertRuleSetValid from "#main/rule-set/assert-validity.mjs"; 3 | 4 | export default (pRuleSet) => normalizeRuleSet(assertRuleSetValid(pRuleSet)); 5 | -------------------------------------------------------------------------------- /tools/schema/module-system-type.mjs: -------------------------------------------------------------------------------- 1 | export default { 2 | definitions: { 3 | ModuleSystemType: { 4 | type: "string", 5 | enum: ["cjs", "es6", "amd", "tsd"], 6 | }, 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /types/README.md: -------------------------------------------------------------------------------- 1 | ![overview](overview.svg) -------------------------------------------------------------------------------- /types/baseline-violations.d.mts: -------------------------------------------------------------------------------- 1 | import type { IViolation } from "./violations.mjs"; 2 | 3 | export type IBaselineViolations = IViolation[]; 4 | --------------------------------------------------------------------------------