@oddessentials/repo-standards 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -397,6 +397,67 @@
397
397
  }
398
398
  ],
399
399
  "recommended": [
400
+ {
401
+ "ciHints": {
402
+ "azure-devops": {
403
+ "notes": "CI hints are suggested mappings; adjust to your pipeline topology.",
404
+ "stage": "quality"
405
+ }
406
+ },
407
+ "description": "Automate dependency updates using Renovate or Dependabot to keep dependencies current and reduce security exposure window.",
408
+ "id": "dependency-update-automation",
409
+ "label": "Dependency Update Automation",
410
+ "stack": {
411
+ "anyOfFiles": [
412
+ "renovate.json",
413
+ ".renovaterc.json",
414
+ "renovate.json5",
415
+ ".renovaterc.json5",
416
+ ".github/dependabot.yml"
417
+ ],
418
+ "exampleConfigFiles": [
419
+ "renovate.json",
420
+ ".github/dependabot.yml"
421
+ ],
422
+ "exampleTools": [
423
+ "renovate",
424
+ "dependabot"
425
+ ],
426
+ "notes": "Renovate supports GHA + AzDO (self-hosted or Mend Renovate App). Dependabot is GitHub-native only. For AzDO: use Renovate via self-hosted runner, Docker container job, or Mend's hosted service.",
427
+ "pinningNotes": "Pin Renovate Docker image version in AzDO pipelines for determinism.",
428
+ "verification": "Check for renovate.json (or .renovaterc.json) OR .github/dependabot.yml. Verify dependency update PRs are being created."
429
+ }
430
+ },
431
+ {
432
+ "ciHints": {
433
+ "azure-devops": {
434
+ "notes": "CI hints are suggested mappings; adjust to your pipeline topology.",
435
+ "stage": "quality"
436
+ }
437
+ },
438
+ "description": "Enforce module boundaries and import constraints to prevent architectural drift and unwanted coupling.",
439
+ "id": "dependency-architecture-rules",
440
+ "label": "Dependency Architecture Rules",
441
+ "stack": {
442
+ "anyOfFiles": [
443
+ ".dependency-cruiser.cjs",
444
+ ".dependency-cruiser.js",
445
+ "dependency-cruiser.config.cjs",
446
+ ".dependency-cruiser.mjs"
447
+ ],
448
+ "exampleConfigFiles": [
449
+ ".dependency-cruiser.cjs",
450
+ ".dependency-cruiser.js",
451
+ "dependency-cruiser.config.cjs"
452
+ ],
453
+ "exampleTools": [
454
+ "dependency-cruiser"
455
+ ],
456
+ "notes": "Define forbidden imports, layer rules, and circular dependency bans. Run in CI as blocking check.",
457
+ "pinningNotes": "Pin dependency-cruiser version in package.json devDependencies.",
458
+ "verification": "Run 'npx depcruise --validate' or equivalent. Verify architectural rules are documented and enforced."
459
+ }
460
+ },
400
461
  {
401
462
  "ciHints": {
402
463
  "azure-devops": {
@@ -523,7 +584,8 @@
523
584
  "type-checking",
524
585
  "unit-test-runner",
525
586
  "unit-test-reporter",
526
- "dependency-security"
587
+ "dependency-security",
588
+ "dependency-update-automation"
527
589
  ],
528
590
  "notes": "Pin tool and runtime versions in CI and containers to avoid flaky differences across environments.",
529
591
  "step": 3,
@@ -551,5 +613,5 @@
551
613
  },
552
614
  "stack": "typescript-js",
553
615
  "stackLabel": "TypeScript / JavaScript",
554
- "version": 1
616
+ "version": 2
555
617
  }
@@ -397,6 +397,67 @@
397
397
  }
398
398
  ],
399
399
  "recommended": [
400
+ {
401
+ "ciHints": {
402
+ "github-actions": {
403
+ "job": "ci",
404
+ "notes": "CI hints are suggested mappings; adjust to your workflow structure."
405
+ }
406
+ },
407
+ "description": "Automate dependency updates using Renovate or Dependabot to keep dependencies current and reduce security exposure window.",
408
+ "id": "dependency-update-automation",
409
+ "label": "Dependency Update Automation",
410
+ "stack": {
411
+ "anyOfFiles": [
412
+ "renovate.json",
413
+ ".renovaterc.json",
414
+ "renovate.json5",
415
+ ".renovaterc.json5",
416
+ ".github/dependabot.yml"
417
+ ],
418
+ "exampleConfigFiles": [
419
+ "renovate.json",
420
+ ".github/dependabot.yml"
421
+ ],
422
+ "exampleTools": [
423
+ "renovate",
424
+ "dependabot"
425
+ ],
426
+ "notes": "Renovate supports GHA + AzDO (self-hosted or Mend Renovate App). Dependabot is GitHub-native only. For AzDO: use Renovate via self-hosted runner, Docker container job, or Mend's hosted service.",
427
+ "pinningNotes": "Pin Renovate Docker image version in AzDO pipelines for determinism.",
428
+ "verification": "Check for renovate.json (or .renovaterc.json) OR .github/dependabot.yml. Verify dependency update PRs are being created."
429
+ }
430
+ },
431
+ {
432
+ "ciHints": {
433
+ "github-actions": {
434
+ "job": "ci",
435
+ "notes": "CI hints are suggested mappings; adjust to your workflow structure."
436
+ }
437
+ },
438
+ "description": "Enforce module boundaries and import constraints to prevent architectural drift and unwanted coupling.",
439
+ "id": "dependency-architecture-rules",
440
+ "label": "Dependency Architecture Rules",
441
+ "stack": {
442
+ "anyOfFiles": [
443
+ ".dependency-cruiser.cjs",
444
+ ".dependency-cruiser.js",
445
+ "dependency-cruiser.config.cjs",
446
+ ".dependency-cruiser.mjs"
447
+ ],
448
+ "exampleConfigFiles": [
449
+ ".dependency-cruiser.cjs",
450
+ ".dependency-cruiser.js",
451
+ "dependency-cruiser.config.cjs"
452
+ ],
453
+ "exampleTools": [
454
+ "dependency-cruiser"
455
+ ],
456
+ "notes": "Define forbidden imports, layer rules, and circular dependency bans. Run in CI as blocking check.",
457
+ "pinningNotes": "Pin dependency-cruiser version in package.json devDependencies.",
458
+ "verification": "Run 'npx depcruise --validate' or equivalent. Verify architectural rules are documented and enforced."
459
+ }
460
+ },
400
461
  {
401
462
  "ciHints": {
402
463
  "github-actions": {
@@ -523,7 +584,8 @@
523
584
  "type-checking",
524
585
  "unit-test-runner",
525
586
  "unit-test-reporter",
526
- "dependency-security"
587
+ "dependency-security",
588
+ "dependency-update-automation"
527
589
  ],
528
590
  "notes": "Pin tool and runtime versions in CI and containers to avoid flaky differences across environments.",
529
591
  "step": 3,
@@ -551,5 +613,5 @@
551
613
  },
552
614
  "stack": "typescript-js",
553
615
  "stackLabel": "TypeScript / JavaScript",
554
- "version": 1
616
+ "version": 2
555
617
  }
@@ -445,6 +445,75 @@
445
445
  }
446
446
  ],
447
447
  "recommended": [
448
+ {
449
+ "ciHints": {
450
+ "azure-devops": {
451
+ "notes": "CI hints are suggested mappings; adjust to your pipeline topology.",
452
+ "stage": "quality"
453
+ },
454
+ "github-actions": {
455
+ "job": "ci",
456
+ "notes": "CI hints are suggested mappings; adjust to your workflow structure."
457
+ }
458
+ },
459
+ "description": "Automate dependency updates using Renovate or Dependabot to keep dependencies current and reduce security exposure window.",
460
+ "id": "dependency-update-automation",
461
+ "label": "Dependency Update Automation",
462
+ "stack": {
463
+ "anyOfFiles": [
464
+ "renovate.json",
465
+ ".renovaterc.json",
466
+ "renovate.json5",
467
+ ".renovaterc.json5",
468
+ ".github/dependabot.yml"
469
+ ],
470
+ "exampleConfigFiles": [
471
+ "renovate.json",
472
+ ".github/dependabot.yml"
473
+ ],
474
+ "exampleTools": [
475
+ "renovate",
476
+ "dependabot"
477
+ ],
478
+ "notes": "Renovate supports GHA + AzDO (self-hosted or Mend Renovate App). Dependabot is GitHub-native only. For AzDO: use Renovate via self-hosted runner, Docker container job, or Mend's hosted service.",
479
+ "pinningNotes": "Pin Renovate Docker image version in AzDO pipelines for determinism.",
480
+ "verification": "Check for renovate.json (or .renovaterc.json) OR .github/dependabot.yml. Verify dependency update PRs are being created."
481
+ }
482
+ },
483
+ {
484
+ "ciHints": {
485
+ "azure-devops": {
486
+ "notes": "CI hints are suggested mappings; adjust to your pipeline topology.",
487
+ "stage": "quality"
488
+ },
489
+ "github-actions": {
490
+ "job": "ci",
491
+ "notes": "CI hints are suggested mappings; adjust to your workflow structure."
492
+ }
493
+ },
494
+ "description": "Enforce module boundaries and import constraints to prevent architectural drift and unwanted coupling.",
495
+ "id": "dependency-architecture-rules",
496
+ "label": "Dependency Architecture Rules",
497
+ "stack": {
498
+ "anyOfFiles": [
499
+ ".dependency-cruiser.cjs",
500
+ ".dependency-cruiser.js",
501
+ "dependency-cruiser.config.cjs",
502
+ ".dependency-cruiser.mjs"
503
+ ],
504
+ "exampleConfigFiles": [
505
+ ".dependency-cruiser.cjs",
506
+ ".dependency-cruiser.js",
507
+ "dependency-cruiser.config.cjs"
508
+ ],
509
+ "exampleTools": [
510
+ "dependency-cruiser"
511
+ ],
512
+ "notes": "Define forbidden imports, layer rules, and circular dependency bans. Run in CI as blocking check.",
513
+ "pinningNotes": "Pin dependency-cruiser version in package.json devDependencies.",
514
+ "verification": "Run 'npx depcruise --validate' or equivalent. Verify architectural rules are documented and enforced."
515
+ }
516
+ },
448
517
  {
449
518
  "ciHints": {
450
519
  "azure-devops": {
@@ -584,7 +653,8 @@
584
653
  "type-checking",
585
654
  "unit-test-runner",
586
655
  "unit-test-reporter",
587
- "dependency-security"
656
+ "dependency-security",
657
+ "dependency-update-automation"
588
658
  ],
589
659
  "notes": "Pin tool and runtime versions in CI and containers to avoid flaky differences across environments.",
590
660
  "step": 3,
@@ -612,5 +682,5 @@
612
682
  },
613
683
  "stack": "typescript-js",
614
684
  "stackLabel": "TypeScript / JavaScript",
615
- "version": 1
685
+ "version": 2
616
686
  }
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type StackId = "typescript-js" | "csharp-dotnet" | "python";
1
+ export type StackId = "typescript-js" | "csharp-dotnet" | "python" | "rust" | "go";
2
2
  export type CiSystem = "azure-devops" | "github-actions";
3
3
  export interface MasterJson {
4
4
  version: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG,eAAe,GAAG,eAAe,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,GAAG,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GACf,eAAe,GACf,eAAe,GACf,QAAQ,GACR,MAAM,GACN,IAAI,CAAC;AACT,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,GAAG,CAAC;CAChB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@oddessentials/repo-standards",
3
3
  "private": false,
4
- "version": "1.0.1",
4
+ "version": "1.2.0",
5
5
  "description": "Standards and CI filtering utilities for multi-stack repository governance.",
6
6
  "type": "module",
7
7
  "scripts": {