| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: adds option to make stale entries in the baseline a non-zero-exit-code type of offence (#1100) ## Description - adds option to make stale entries in the baseline a non-zero-exit-code type of offence - to that end: - adds a `staleEntriesSeverity` configuration attribute to the `baseline` configuration that, when set to `error` will take stale entries in the baseline into account for determining the exit code. - adds an `advisedExitCode` attribute to the summary model that combines the number of regular violations of severity `error` as well as the number of stale entries in the baseline into account. - makes all reporters that emit non-zero exit codes based on error code listen to the `advisedExitCode` (these reporters are `err`, `err-long`, `null`, `azure-devops` and `teamcity`). ## Motivation and Context #1080, #1078 ## How Has This Been Tested? - [x] green ci - [x] updated as well as new automated non-regression tests ## Screenshots With this in the config (`.dependency-cruiser.mjs` in my case) ... ```javascript // ... options: { // ... baseline: { staleEntriesSeverity: "error" } } // ... ``` ... running the cruise with --ignore-known will - print an error message (it'll be a warning message in other cases) - exit with a non-zero exit code ```text $ dependency-cruiser.mjs src bin test configs types tools --ignore-known ✔ no dependency violations found (573 modules, 1614 dependencies cruised) ‼ 26 known violations ignored. Run with --no-ignore-known to see them. x 2 stale known violations in the baseline. Run with '--baseline --baseline-mode shrink-only' to remove them. $ echo $? 2 ``` ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [ ] Refactor (non-breaking change which fixes an issue without changing functionality) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 16 天前 | |
feat(extract/tsc): adds support for imports inside module and namespace blocks (#1095) # Detect imports in ambient TypeScript declarations ## Description - Adds opt-in `detectImportsInAmbientModules` to detect imports, re-exports, c.s. inside ambient modules and namespaces, including nested and qualified namespaces. - Keeps the option disabled by default; enabling it selects the TypeScript parser. - Wires the option through config normalization, schemas, types, generated configs, initialization prompts, summarization and cache compatibility. - Bumps cache format version to prevent stale caches from hiding the option’s effect. - :tent: side-catch: Handle TypeScript ASTs with missing statements and - :tent: side-catch: use the built-in `dot-webpage` reporter in generated graph scripts. - :tent: side-catch: exclude some hard-to cover branches that only exist for robustness (e.g. `doThing (someUsuallyExistingArray ||[])` in a helper) from coverage ## Motivation and Context Imports inside ambient declarations were not included in dependency analysis. This adds a configurable way to detect them while preserving existing behavior by default. TypeScript must be installed to enable detection. ## How Has This Been Tested? - [x] Green CI - [x] Additional automated non-regression tests - [x] Adapted existing test fixtures ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [ ] Refactor (non-breaking change which fixes an issue without changing functionality) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 5 天前 | |
feat(extract/tsc): adds support for imports inside module and namespace blocks (#1095) # Detect imports in ambient TypeScript declarations ## Description - Adds opt-in `detectImportsInAmbientModules` to detect imports, re-exports, c.s. inside ambient modules and namespaces, including nested and qualified namespaces. - Keeps the option disabled by default; enabling it selects the TypeScript parser. - Wires the option through config normalization, schemas, types, generated configs, initialization prompts, summarization and cache compatibility. - Bumps cache format version to prevent stale caches from hiding the option’s effect. - :tent: side-catch: Handle TypeScript ASTs with missing statements and - :tent: side-catch: use the built-in `dot-webpage` reporter in generated graph scripts. - :tent: side-catch: exclude some hard-to cover branches that only exist for robustness (e.g. `doThing (someUsuallyExistingArray ||[])` in a helper) from coverage ## Motivation and Context Imports inside ambient declarations were not included in dependency analysis. This adds a configurable way to detect them while preserving existing behavior by default. TypeScript must be installed to enable detection. ## How Has This Been Tested? - [x] Green CI - [x] Additional automated non-regression tests - [x] Adapted existing test fixtures ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [ ] Refactor (non-breaking change which fixes an issue without changing functionality) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 5 天前 | |
fix: removes all unused catch parameters | 2 个月前 | |
refactor: uses explicit exports over default where possible (#956) ## Description - uses explicit exports over default exports where possible ## Motivation and Context These were leftovers from the cjs -> mjs conversion that added a level of indirection we don't need. ## How Has This Been Tested? - [x] green ci - [x] updated unit tests where applicable ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [x] Refactor (non-breaking change which fixes an issue without changing functionality) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 2 年前 | |
feat(extract/tsc): adds support for imports inside module and namespace blocks (#1095) # Detect imports in ambient TypeScript declarations ## Description - Adds opt-in `detectImportsInAmbientModules` to detect imports, re-exports, c.s. inside ambient modules and namespaces, including nested and qualified namespaces. - Keeps the option disabled by default; enabling it selects the TypeScript parser. - Wires the option through config normalization, schemas, types, generated configs, initialization prompts, summarization and cache compatibility. - Bumps cache format version to prevent stale caches from hiding the option’s effect. - :tent: side-catch: Handle TypeScript ASTs with missing statements and - :tent: side-catch: use the built-in `dot-webpage` reporter in generated graph scripts. - :tent: side-catch: exclude some hard-to cover branches that only exist for robustness (e.g. `doThing (someUsuallyExistingArray ||[])` in a helper) from coverage ## Motivation and Context Imports inside ambient declarations were not included in dependency analysis. This adds a configurable way to detect them while preserving existing behavior by default. TypeScript must be installed to enable detection. ## How Has This Been Tested? - [x] Green CI - [x] Additional automated non-regression tests - [x] Adapted existing test fixtures ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [ ] Refactor (non-breaking change which fixes an issue without changing functionality) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 5 天前 | |
feat(baseline): adds diff count on baseline updates (/ creation) (#1079) ## Description - adds diff count on baseline updates (/ creation) - as a side effect introduces a function that compares arrays of violations enabling other features (e.g. introducing a shrink-only mode on the _known violations_) ## Motivation and Context See #1078 ## How Has This Been Tested? - [x] green ci - [x] additional automated non-regression tests ## Screenshots on creation: ```sh $ node --run=depcruise:baseline ‼ Known violations file '.dependency-cruiser-known-violations.json' does not exist yet. Will assume an empty current violations set and create a new one instead. 26 new, 0 same, 0 removed ``` on update: ```sh $ node --run=depcruise:baseline 1 new, 26 same, 0 removed ``` ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [ ] Refactor (non-breaking change which fixes an issue without changing functionality) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 30 天前 | |
feat(extract/tsc): adds support for imports inside module and namespace blocks (#1095) # Detect imports in ambient TypeScript declarations ## Description - Adds opt-in `detectImportsInAmbientModules` to detect imports, re-exports, c.s. inside ambient modules and namespaces, including nested and qualified namespaces. - Keeps the option disabled by default; enabling it selects the TypeScript parser. - Wires the option through config normalization, schemas, types, generated configs, initialization prompts, summarization and cache compatibility. - Bumps cache format version to prevent stale caches from hiding the option’s effect. - :tent: side-catch: Handle TypeScript ASTs with missing statements and - :tent: side-catch: use the built-in `dot-webpage` reporter in generated graph scripts. - :tent: side-catch: exclude some hard-to cover branches that only exist for robustness (e.g. `doThing (someUsuallyExistingArray ||[])` in a helper) from coverage ## Motivation and Context Imports inside ambient declarations were not included in dependency analysis. This adds a configurable way to detect them while preserving existing behavior by default. TypeScript must be installed to enable detection. ## How Has This Been Tested? - [x] Green CI - [x] Additional automated non-regression tests - [x] Adapted existing test fixtures ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [ ] Refactor (non-breaking change which fixes an issue without changing functionality) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 5 天前 | |
feat(extract/tsc): adds support for imports inside module and namespace blocks (#1095) # Detect imports in ambient TypeScript declarations ## Description - Adds opt-in `detectImportsInAmbientModules` to detect imports, re-exports, c.s. inside ambient modules and namespaces, including nested and qualified namespaces. - Keeps the option disabled by default; enabling it selects the TypeScript parser. - Wires the option through config normalization, schemas, types, generated configs, initialization prompts, summarization and cache compatibility. - Bumps cache format version to prevent stale caches from hiding the option’s effect. - :tent: side-catch: Handle TypeScript ASTs with missing statements and - :tent: side-catch: use the built-in `dot-webpage` reporter in generated graph scripts. - :tent: side-catch: exclude some hard-to cover branches that only exist for robustness (e.g. `doThing (someUsuallyExistingArray ||[])` in a helper) from coverage ## Motivation and Context Imports inside ambient declarations were not included in dependency analysis. This adds a configurable way to detect them while preserving existing behavior by default. TypeScript must be installed to enable detection. ## How Has This Been Tested? - [x] Green CI - [x] Additional automated non-regression tests - [x] Adapted existing test fixtures ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [ ] Refactor (non-breaking change which fixes an issue without changing functionality) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 5 天前 | |
feat(baseline): adds diff count on baseline updates (/ creation) (#1079) ## Description - adds diff count on baseline updates (/ creation) - as a side effect introduces a function that compares arrays of violations enabling other features (e.g. introducing a shrink-only mode on the _known violations_) ## Motivation and Context See #1078 ## How Has This Been Tested? - [x] green ci - [x] additional automated non-regression tests ## Screenshots on creation: ```sh $ node --run=depcruise:baseline ‼ Known violations file '.dependency-cruiser-known-violations.json' does not exist yet. Will assume an empty current violations set and create a new one instead. 26 new, 0 same, 0 removed ``` on update: ```sh $ node --run=depcruise:baseline 1 new, 26 same, 0 removed ``` ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [ ] Refactor (non-breaking change which fixes an issue without changing functionality) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 30 天前 | |
chore: replaces eslint with oxlint (#1074) ## Description - replaces eslint with oxlint - fixes some (now) low-hanging fruit ## Motivation and Context Simplify my life. ## How Has This Been Tested? - [x] green ci ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [ ] Refactor (non-breaking change which fixes an issue without changing functionality) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [x] Chore (thing that needs doing for hygiene purposes) | 2 个月前 | |
refactor: introduces use of node imports aliasses in package.json (#851) ## Description Use import aliases in package.json for ... - [x] `utl/*` - [x] `meta.js` - [x] `graph-utl/*` - [x] `extract/*` - [x] `enrich/*` - [x] `report/*` - [x] `main/*` - [x] `cache/*` - [x] `cli/*` - [x] the json schemas - [x] `validate/*` - [x] `config-utl/*` ## Motivation and Context - Makes code easier to read (and move around, might it come to that) - Dog fooding a feature I've not used in any other project ## How Has This Been Tested? - [x] green ci ## Types of changes - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Documentation only change - [x] Refactor (non-breaking change which fixes an issue without changing functionality) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) | 2 年前 | |
refactor: uses node: protocol for all node native module imports (#778) | 3 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 16 天前 | ||
| 5 天前 | ||
| 5 天前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 5 天前 | ||
| 30 天前 | ||
| 5 天前 | ||
| 5 天前 | ||
| 30 天前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 3 年前 |