UNPKG

@polkadot/dev

Version:

A collection of shared CI scripts and development environment used by @polkadot projects

30 lines (20 loc) 788 B
#!/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);