Files
pezkuwi-dev/packages/dev/scripts/polkadot-dev-circular.mjs
T
pezkuwichain 8d28b36f9c Initial rebrand: @polkadot -> @pezkuwi (3 packages)
- Package namespace: @polkadot/dev -> @pezkuwi/dev
- Repository: polkadot-js/dev -> pezkuwichain/pezkuwi-dev
- Author: Pezkuwi Team <team@pezkuwichain.io>

Packages:
- @pezkuwi/dev (build tools, linting, CI scripts)
- @pezkuwi/dev-test (test runner)
- @pezkuwi/dev-ts (TypeScript build)

Upstream: polkadot-js/dev v0.83.3
2026-01-05 14:22:47 +03:00

30 lines
788 B
JavaScript
Executable File

#!/usr/bin/env node
// Copyright 2017-2025 @polkadot/dev authors & contributors
// SPDX-License-Identifier: Apache-2.0
// @ts-expect-error For scripts we don't include @types/* definitions
import madge from 'madge';
import { exitFatal, logBin } from './util.mjs';
logBin('polkadot-dev-circular');
const res = await madge('./', { fileExtensions: ['ts', 'tsx'] });
/** @type {string[][]} */
const circular = res.circular();
if (!circular.length) {
process.stdout.write('No circular dependency found!\n');
process.exit(0);
}
const err = `Failed with ${circular.length} circular dependencies`;
const all = circular
.map((files, idx) => `${(idx + 1).toString().padStart(4)}: ${files.join(' > ')}`)
.join('\n');
process.stdout.write(`\n${err}:\n\n${all}\n\n`);
exitFatal(err);