@oddessentials/repo-standards 2.0.0 → 2.1.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.
- package/README.md +3 -2
- package/dist/config/standards.csharp-dotnet.azure-devops.json +44 -46
- package/dist/config/standards.csharp-dotnet.github-actions.json +44 -46
- package/dist/config/standards.csharp-dotnet.json +44 -46
- package/dist/config/standards.go.azure-devops.json +42 -38
- package/dist/config/standards.go.github-actions.json +42 -38
- package/dist/config/standards.go.json +42 -38
- package/dist/config/standards.json +119 -80
- package/dist/config/standards.python.azure-devops.json +55 -59
- package/dist/config/standards.python.github-actions.json +55 -59
- package/dist/config/standards.python.json +55 -59
- package/dist/config/standards.rust.azure-devops.json +47 -42
- package/dist/config/standards.rust.github-actions.json +47 -42
- package/dist/config/standards.rust.json +47 -42
- package/dist/config/standards.schema.json +497 -0
- package/dist/config/standards.typescript-js.azure-devops.json +55 -47
- package/dist/config/standards.typescript-js.github-actions.json +55 -47
- package/dist/config/standards.typescript-js.json +55 -47
- package/dist/types.d.ts +120 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -4
|
@@ -35,36 +35,40 @@
|
|
|
35
35
|
"id": "linting",
|
|
36
36
|
"label": "Linting",
|
|
37
37
|
"stack": {
|
|
38
|
+
"anyOfFiles": [
|
|
39
|
+
"eslint.config.js",
|
|
40
|
+
"eslint.config.mjs",
|
|
41
|
+
"eslint.config.cjs",
|
|
42
|
+
".eslintrc.js",
|
|
43
|
+
".eslintrc.cjs",
|
|
44
|
+
".eslintrc.json",
|
|
45
|
+
".eslintrc.yaml",
|
|
46
|
+
".eslintrc.yml"
|
|
47
|
+
],
|
|
38
48
|
"bazelHints": {
|
|
39
49
|
"commands": [
|
|
40
50
|
"bazel test //... --aspects=//tools:lint.bzl%eslint_aspect --output_groups=report"
|
|
41
51
|
],
|
|
42
|
-
"notes": "Wrap eslint via aspect_rules_lint or a custom sh_test rule.
|
|
52
|
+
"notes": "Example only; actual targets are repo-defined. Wrap eslint via aspect_rules_lint or a custom sh_test rule.",
|
|
43
53
|
"recommendedTargets": [
|
|
44
54
|
"//tools/lint:lint"
|
|
45
55
|
]
|
|
46
56
|
},
|
|
47
57
|
"exampleConfigFiles": [
|
|
48
|
-
".eslintrc.*"
|
|
58
|
+
".eslintrc.*",
|
|
59
|
+
"eslint.config.js"
|
|
49
60
|
],
|
|
50
61
|
"exampleTools": [
|
|
51
62
|
"eslint"
|
|
52
63
|
],
|
|
53
64
|
"notes": "Treat new lint errors as CI failures; keep existing issues as warnings until addressed.",
|
|
54
65
|
"optionalFiles": [
|
|
55
|
-
".eslintrc.js",
|
|
56
|
-
".eslintrc.cjs",
|
|
57
|
-
".eslintrc.json",
|
|
58
|
-
".eslintrc.yaml",
|
|
59
66
|
".prettierrc",
|
|
60
67
|
"prettier.config.js",
|
|
61
68
|
"prettier.config.cjs",
|
|
62
69
|
"prettier.config.json",
|
|
63
70
|
"prettier.config.yaml"
|
|
64
71
|
],
|
|
65
|
-
"requiredFiles": [
|
|
66
|
-
"eslint.config.js"
|
|
67
|
-
],
|
|
68
72
|
"requiredScripts": [
|
|
69
73
|
"lint"
|
|
70
74
|
],
|
|
@@ -590,48 +594,52 @@
|
|
|
590
594
|
"github-actions"
|
|
591
595
|
],
|
|
592
596
|
"meta": {
|
|
593
|
-
"bazelIntegration": {
|
|
594
|
-
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
595
|
-
"ciContract": {
|
|
596
|
-
"configFlag": "--config=ci (define in .bazelrc)",
|
|
597
|
-
"deterministicFlags": [
|
|
598
|
-
"--nokeep_going",
|
|
599
|
-
"--test_output=errors"
|
|
600
|
-
],
|
|
601
|
-
"remoteCache": "Optional; not required for CI",
|
|
602
|
-
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
603
|
-
},
|
|
604
|
-
"description": "Bazel build executor support for quality checks. All hints are ADVISORY—stack-native commands remain the default execution path.",
|
|
605
|
-
"detectionRules": {
|
|
606
|
-
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
607
|
-
"optionalMarkers": [
|
|
608
|
-
".bazelrc",
|
|
609
|
-
".bazelversion"
|
|
610
|
-
],
|
|
611
|
-
"rootMarkers": [
|
|
612
|
-
"MODULE.bazel",
|
|
613
|
-
"WORKSPACE.bazel",
|
|
614
|
-
"WORKSPACE"
|
|
615
|
-
]
|
|
616
|
-
},
|
|
617
|
-
"optOut": {
|
|
618
|
-
"configPath": "meta.bazelIntegration.enabled",
|
|
619
|
-
"description": "Set meta.bazelIntegration.enabled = false in repo config to disable Bazel hints"
|
|
620
|
-
},
|
|
621
|
-
"targetConventions": {
|
|
622
|
-
"build": "bazel build //...",
|
|
623
|
-
"coverage": "bazel coverage //...",
|
|
624
|
-
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
625
|
-
"format": "bazel run //tools/format:check",
|
|
626
|
-
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
627
|
-
"test": "bazel test //..."
|
|
628
|
-
}
|
|
629
|
-
},
|
|
630
597
|
"complexityChecks": {
|
|
631
598
|
"description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
|
|
632
599
|
"enabledByDefault": true
|
|
633
600
|
},
|
|
601
|
+
"coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
|
|
602
|
+
"coverageThresholdUnit": "ratio",
|
|
634
603
|
"defaultCoverageThreshold": 0.8,
|
|
604
|
+
"executorHints": {
|
|
605
|
+
"bazel": {
|
|
606
|
+
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
607
|
+
"ciContract": {
|
|
608
|
+
"configFlag": "--config=ci (define in .bazelrc)",
|
|
609
|
+
"deterministicFlags": [
|
|
610
|
+
"--nokeep_going",
|
|
611
|
+
"--test_output=errors"
|
|
612
|
+
],
|
|
613
|
+
"remoteCache": "Optional; not required for CI",
|
|
614
|
+
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
615
|
+
},
|
|
616
|
+
"detectionRules": {
|
|
617
|
+
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
618
|
+
"optionalMarkers": [
|
|
619
|
+
".bazelrc",
|
|
620
|
+
".bazelversion"
|
|
621
|
+
],
|
|
622
|
+
"rootMarkers": [
|
|
623
|
+
"MODULE.bazel",
|
|
624
|
+
"WORKSPACE.bazel",
|
|
625
|
+
"WORKSPACE"
|
|
626
|
+
]
|
|
627
|
+
},
|
|
628
|
+
"optOut": {
|
|
629
|
+
"configPath": "meta.executorHints.bazel.enabled",
|
|
630
|
+
"description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
|
|
631
|
+
},
|
|
632
|
+
"targetConventions": {
|
|
633
|
+
"build": "bazel build //...",
|
|
634
|
+
"coverage": "bazel coverage //...",
|
|
635
|
+
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
636
|
+
"format": "bazel run //tools/format:check",
|
|
637
|
+
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
638
|
+
"test": "bazel test //..."
|
|
639
|
+
}
|
|
640
|
+
},
|
|
641
|
+
"description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
|
|
642
|
+
},
|
|
635
643
|
"migrationGuide": [
|
|
636
644
|
{
|
|
637
645
|
"description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
|
|
@@ -691,5 +699,5 @@
|
|
|
691
699
|
},
|
|
692
700
|
"stack": "typescript-js",
|
|
693
701
|
"stackLabel": "TypeScript / JavaScript",
|
|
694
|
-
"version":
|
|
702
|
+
"version": 3
|
|
695
703
|
}
|
|
@@ -41,36 +41,40 @@
|
|
|
41
41
|
"id": "linting",
|
|
42
42
|
"label": "Linting",
|
|
43
43
|
"stack": {
|
|
44
|
+
"anyOfFiles": [
|
|
45
|
+
"eslint.config.js",
|
|
46
|
+
"eslint.config.mjs",
|
|
47
|
+
"eslint.config.cjs",
|
|
48
|
+
".eslintrc.js",
|
|
49
|
+
".eslintrc.cjs",
|
|
50
|
+
".eslintrc.json",
|
|
51
|
+
".eslintrc.yaml",
|
|
52
|
+
".eslintrc.yml"
|
|
53
|
+
],
|
|
44
54
|
"bazelHints": {
|
|
45
55
|
"commands": [
|
|
46
56
|
"bazel test //... --aspects=//tools:lint.bzl%eslint_aspect --output_groups=report"
|
|
47
57
|
],
|
|
48
|
-
"notes": "Wrap eslint via aspect_rules_lint or a custom sh_test rule.
|
|
58
|
+
"notes": "Example only; actual targets are repo-defined. Wrap eslint via aspect_rules_lint or a custom sh_test rule.",
|
|
49
59
|
"recommendedTargets": [
|
|
50
60
|
"//tools/lint:lint"
|
|
51
61
|
]
|
|
52
62
|
},
|
|
53
63
|
"exampleConfigFiles": [
|
|
54
|
-
".eslintrc.*"
|
|
64
|
+
".eslintrc.*",
|
|
65
|
+
"eslint.config.js"
|
|
55
66
|
],
|
|
56
67
|
"exampleTools": [
|
|
57
68
|
"eslint"
|
|
58
69
|
],
|
|
59
70
|
"notes": "Treat new lint errors as CI failures; keep existing issues as warnings until addressed.",
|
|
60
71
|
"optionalFiles": [
|
|
61
|
-
".eslintrc.js",
|
|
62
|
-
".eslintrc.cjs",
|
|
63
|
-
".eslintrc.json",
|
|
64
|
-
".eslintrc.yaml",
|
|
65
72
|
".prettierrc",
|
|
66
73
|
"prettier.config.js",
|
|
67
74
|
"prettier.config.cjs",
|
|
68
75
|
"prettier.config.json",
|
|
69
76
|
"prettier.config.yaml"
|
|
70
77
|
],
|
|
71
|
-
"requiredFiles": [
|
|
72
|
-
"eslint.config.js"
|
|
73
|
-
],
|
|
74
78
|
"requiredScripts": [
|
|
75
79
|
"lint"
|
|
76
80
|
],
|
|
@@ -659,48 +663,52 @@
|
|
|
659
663
|
"github-actions"
|
|
660
664
|
],
|
|
661
665
|
"meta": {
|
|
662
|
-
"bazelIntegration": {
|
|
663
|
-
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
664
|
-
"ciContract": {
|
|
665
|
-
"configFlag": "--config=ci (define in .bazelrc)",
|
|
666
|
-
"deterministicFlags": [
|
|
667
|
-
"--nokeep_going",
|
|
668
|
-
"--test_output=errors"
|
|
669
|
-
],
|
|
670
|
-
"remoteCache": "Optional; not required for CI",
|
|
671
|
-
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
672
|
-
},
|
|
673
|
-
"description": "Bazel build executor support for quality checks. All hints are ADVISORY—stack-native commands remain the default execution path.",
|
|
674
|
-
"detectionRules": {
|
|
675
|
-
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
676
|
-
"optionalMarkers": [
|
|
677
|
-
".bazelrc",
|
|
678
|
-
".bazelversion"
|
|
679
|
-
],
|
|
680
|
-
"rootMarkers": [
|
|
681
|
-
"MODULE.bazel",
|
|
682
|
-
"WORKSPACE.bazel",
|
|
683
|
-
"WORKSPACE"
|
|
684
|
-
]
|
|
685
|
-
},
|
|
686
|
-
"optOut": {
|
|
687
|
-
"configPath": "meta.bazelIntegration.enabled",
|
|
688
|
-
"description": "Set meta.bazelIntegration.enabled = false in repo config to disable Bazel hints"
|
|
689
|
-
},
|
|
690
|
-
"targetConventions": {
|
|
691
|
-
"build": "bazel build //...",
|
|
692
|
-
"coverage": "bazel coverage //...",
|
|
693
|
-
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
694
|
-
"format": "bazel run //tools/format:check",
|
|
695
|
-
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
696
|
-
"test": "bazel test //..."
|
|
697
|
-
}
|
|
698
|
-
},
|
|
699
666
|
"complexityChecks": {
|
|
700
667
|
"description": "When supported by the stack, run cyclomatic complexity or similar metrics in CI as a warning-only check initially.",
|
|
701
668
|
"enabledByDefault": true
|
|
702
669
|
},
|
|
670
|
+
"coverageThresholdDescription": "Expressed as a ratio (0-1), e.g., 0.8 = 80% coverage. Must be between 0 and 1.",
|
|
671
|
+
"coverageThresholdUnit": "ratio",
|
|
703
672
|
"defaultCoverageThreshold": 0.8,
|
|
673
|
+
"executorHints": {
|
|
674
|
+
"bazel": {
|
|
675
|
+
"advisoryNotice": "bazelHints are suggestions, not required execution paths. Consumers should prefer stack-native commands unless explicitly adopting Bazel.",
|
|
676
|
+
"ciContract": {
|
|
677
|
+
"configFlag": "--config=ci (define in .bazelrc)",
|
|
678
|
+
"deterministicFlags": [
|
|
679
|
+
"--nokeep_going",
|
|
680
|
+
"--test_output=errors"
|
|
681
|
+
],
|
|
682
|
+
"remoteCache": "Optional; not required for CI",
|
|
683
|
+
"versionPinning": "Use .bazelversion file for Bazelisk"
|
|
684
|
+
},
|
|
685
|
+
"detectionRules": {
|
|
686
|
+
"notes": "Detection uses repo-root markers only. Nested BUILD files do not trigger Bazel mode.",
|
|
687
|
+
"optionalMarkers": [
|
|
688
|
+
".bazelrc",
|
|
689
|
+
".bazelversion"
|
|
690
|
+
],
|
|
691
|
+
"rootMarkers": [
|
|
692
|
+
"MODULE.bazel",
|
|
693
|
+
"WORKSPACE.bazel",
|
|
694
|
+
"WORKSPACE"
|
|
695
|
+
]
|
|
696
|
+
},
|
|
697
|
+
"optOut": {
|
|
698
|
+
"configPath": "meta.executorHints.bazel.enabled",
|
|
699
|
+
"description": "Set meta.executorHints.bazel.enabled = false in repo config to disable Bazel hints"
|
|
700
|
+
},
|
|
701
|
+
"targetConventions": {
|
|
702
|
+
"build": "bazel build //...",
|
|
703
|
+
"coverage": "bazel coverage //...",
|
|
704
|
+
"description": "Recommended target naming (not assumed to exist). These are illustrative patterns; actual targets are repo-defined.",
|
|
705
|
+
"format": "bazel run //tools/format:check",
|
|
706
|
+
"lint": "//tools/lint:lint or bazel test //... with lint aspects",
|
|
707
|
+
"test": "bazel test //..."
|
|
708
|
+
}
|
|
709
|
+
},
|
|
710
|
+
"description": "Advisory execution substrate hints. Bazel is the first supported executor; future monorepo executors may follow the same pattern."
|
|
711
|
+
},
|
|
704
712
|
"migrationGuide": [
|
|
705
713
|
{
|
|
706
714
|
"description": "Start by adding pre-commit hooks and core formatting/linting so developers get fast feedback without touching CI.",
|
|
@@ -760,5 +768,5 @@
|
|
|
760
768
|
},
|
|
761
769
|
"stack": "typescript-js",
|
|
762
770
|
"stackLabel": "TypeScript / JavaScript",
|
|
763
|
-
"version":
|
|
771
|
+
"version": 3
|
|
764
772
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -13,22 +13,138 @@ export interface BazelHints {
|
|
|
13
13
|
}
|
|
14
14
|
export type StackId = "typescript-js" | "csharp-dotnet" | "python" | "rust" | "go";
|
|
15
15
|
export type CiSystem = "azure-devops" | "github-actions";
|
|
16
|
+
/**
|
|
17
|
+
* Enforcement level for checklist items.
|
|
18
|
+
* - required: Must be implemented (core items)
|
|
19
|
+
* - recommended: Should be implemented (recommended items)
|
|
20
|
+
* - optional: Nice to have (optional enhancements)
|
|
21
|
+
*/
|
|
22
|
+
export type Enforcement = "required" | "recommended" | "optional";
|
|
23
|
+
/**
|
|
24
|
+
* Severity level for violations.
|
|
25
|
+
* - error: Fails CI (core items)
|
|
26
|
+
* - warn: Warning only (recommended items)
|
|
27
|
+
* - info: Informational (optional enhancements)
|
|
28
|
+
*/
|
|
29
|
+
export type Severity = "error" | "warn" | "info";
|
|
30
|
+
/** Migration guide step for onboarding repositories */
|
|
31
|
+
export interface MigrationStep {
|
|
32
|
+
step: number;
|
|
33
|
+
title: string;
|
|
34
|
+
description: string;
|
|
35
|
+
focusIds?: string[];
|
|
36
|
+
notes?: string;
|
|
37
|
+
}
|
|
38
|
+
/** Bazel integration configuration */
|
|
39
|
+
export interface BazelExecutorConfig {
|
|
40
|
+
detectionRules?: {
|
|
41
|
+
rootMarkers?: string[];
|
|
42
|
+
optionalMarkers?: string[];
|
|
43
|
+
notes?: string;
|
|
44
|
+
};
|
|
45
|
+
optOut?: {
|
|
46
|
+
description?: string;
|
|
47
|
+
configPath?: string;
|
|
48
|
+
};
|
|
49
|
+
targetConventions?: Record<string, string>;
|
|
50
|
+
ciContract?: {
|
|
51
|
+
versionPinning?: string;
|
|
52
|
+
configFlag?: string;
|
|
53
|
+
deterministicFlags?: string[];
|
|
54
|
+
remoteCache?: string;
|
|
55
|
+
};
|
|
56
|
+
advisoryNotice?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Executor hints container.
|
|
60
|
+
* Bazel is the first (and currently only) supported executor.
|
|
61
|
+
* Future monorepo executors may be added following the same pattern.
|
|
62
|
+
*/
|
|
63
|
+
export interface ExecutorHints {
|
|
64
|
+
/** Container-level description of the executor hints system */
|
|
65
|
+
description?: string;
|
|
66
|
+
/** Bazel executor configuration (first supported instance) */
|
|
67
|
+
bazel?: BazelExecutorConfig;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Meta configuration for the standards.
|
|
71
|
+
* Includes coverage thresholds, quality gate policies, and migration guidance.
|
|
72
|
+
*/
|
|
73
|
+
export interface Meta {
|
|
74
|
+
/**
|
|
75
|
+
* Default code coverage threshold as a ratio (0-1).
|
|
76
|
+
* E.g., 0.8 = 80% coverage.
|
|
77
|
+
*/
|
|
78
|
+
defaultCoverageThreshold?: number;
|
|
79
|
+
/**
|
|
80
|
+
* Documents that coverage threshold is a ratio (0-1), not a percentage (0-100).
|
|
81
|
+
*/
|
|
82
|
+
coverageThresholdUnit?: "ratio";
|
|
83
|
+
coverageThresholdDescription?: string;
|
|
84
|
+
complexityChecks?: {
|
|
85
|
+
enabledByDefault?: boolean;
|
|
86
|
+
description?: string;
|
|
87
|
+
};
|
|
88
|
+
qualityGatePolicy?: {
|
|
89
|
+
preferSoftFailOnLegacy?: boolean;
|
|
90
|
+
description?: string;
|
|
91
|
+
};
|
|
92
|
+
migrationGuide?: MigrationStep[];
|
|
93
|
+
executorHints?: ExecutorHints;
|
|
94
|
+
}
|
|
16
95
|
export interface MasterJson {
|
|
17
96
|
version: number;
|
|
18
|
-
meta?:
|
|
97
|
+
meta?: Meta;
|
|
19
98
|
ciSystems: CiSystem[];
|
|
20
99
|
stacks: Record<StackId, {
|
|
21
100
|
label: string;
|
|
22
101
|
languageFamily: string;
|
|
23
102
|
}>;
|
|
24
|
-
checklist:
|
|
103
|
+
checklist: {
|
|
104
|
+
core: ChecklistItem[];
|
|
105
|
+
recommended: ChecklistItem[];
|
|
106
|
+
optionalEnhancements: ChecklistItem[];
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export interface ChecklistItem {
|
|
110
|
+
id: string;
|
|
111
|
+
label: string;
|
|
112
|
+
description: string;
|
|
113
|
+
enforcement?: Enforcement;
|
|
114
|
+
severity?: Severity;
|
|
115
|
+
appliesTo: {
|
|
116
|
+
stacks: StackId[];
|
|
117
|
+
ciSystems?: CiSystem[];
|
|
118
|
+
};
|
|
119
|
+
ciHints?: Record<CiSystem, {
|
|
120
|
+
stage?: string;
|
|
121
|
+
job?: string;
|
|
122
|
+
notes?: string;
|
|
123
|
+
}>;
|
|
124
|
+
stackHints?: Record<StackId, StackHints>;
|
|
125
|
+
}
|
|
126
|
+
export interface StackHints {
|
|
127
|
+
exampleTools?: string[];
|
|
128
|
+
exampleConfigFiles?: string[];
|
|
129
|
+
notes?: string;
|
|
130
|
+
verification?: string;
|
|
131
|
+
requiredFiles?: string[];
|
|
132
|
+
anyOfFiles?: string[];
|
|
133
|
+
optionalFiles?: string[];
|
|
134
|
+
requiredScripts?: string[];
|
|
135
|
+
pinningNotes?: string;
|
|
136
|
+
bazelHints?: BazelHints;
|
|
25
137
|
}
|
|
26
138
|
export interface StackChecklistJson {
|
|
27
139
|
version: number;
|
|
28
140
|
stack: StackId;
|
|
29
141
|
stackLabel: string;
|
|
30
142
|
ciSystems: CiSystem[];
|
|
31
|
-
meta?:
|
|
32
|
-
checklist:
|
|
143
|
+
meta?: Meta;
|
|
144
|
+
checklist: {
|
|
145
|
+
core: ChecklistItem[];
|
|
146
|
+
recommended: ChecklistItem[];
|
|
147
|
+
optionalEnhancements: ChecklistItem[];
|
|
148
|
+
};
|
|
33
149
|
}
|
|
34
150
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,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,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oddessentials/repo-standards",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.1.0",
|
|
5
5
|
"description": "Standards and CI filtering utilities for multi-stack repository governance.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"dev": "ts-node-dev --respawn --transpile-only src/index.ts",
|
|
9
|
-
"build": "tsc -p tsconfig.build.json && tsx scripts/build.ts",
|
|
9
|
+
"build": "npm run validate:schema && tsc -p tsconfig.build.json && tsx scripts/build.ts",
|
|
10
10
|
"start": "node dist/index.js",
|
|
11
11
|
"lint": "eslint .",
|
|
12
12
|
"format": "prettier . --write",
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"prepare": "husky",
|
|
17
17
|
"ci": "npm run lint && npm run format:check && npm run typecheck && npm run test && npm run build",
|
|
18
18
|
"generate:standards": "tsx scripts/generate-standards.ts",
|
|
19
|
+
"validate:schema": "tsx scripts/validate-schema.ts",
|
|
19
20
|
"verify": "npm run ci"
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
|
@@ -23,19 +24,22 @@
|
|
|
23
24
|
"@commitlint/config-conventional": "^20.2.0",
|
|
24
25
|
"@semantic-release/changelog": "^6.0.3",
|
|
25
26
|
"@semantic-release/git": "^10.0.1",
|
|
26
|
-
"@semantic-release/npm": "^9.0.2",
|
|
27
27
|
"@semantic-release/github": "^9.0.2",
|
|
28
|
-
"semantic-release": "^
|
|
28
|
+
"@semantic-release/npm": "^9.0.2",
|
|
29
29
|
"@types/node": "^24.10.1",
|
|
30
30
|
"@typescript-eslint/eslint-plugin": "^8.48.1",
|
|
31
31
|
"@typescript-eslint/parser": "^8.48.1",
|
|
32
|
+
"ajv": "^8.17.1",
|
|
33
|
+
"ajv-formats": "^3.0.1",
|
|
32
34
|
"coverage-v8": "^0.0.1-security",
|
|
33
35
|
"eslint": "^9.39.1",
|
|
36
|
+
"fast-json-stable-stringify": "^2.1.0",
|
|
34
37
|
"globals": "^16.5.0",
|
|
35
38
|
"happy-dom": "^20.0.11",
|
|
36
39
|
"husky": "^9.1.7",
|
|
37
40
|
"lint-staged": "^16.2.7",
|
|
38
41
|
"prettier": "^3.7.4",
|
|
42
|
+
"semantic-release": "^24.2.0",
|
|
39
43
|
"ts-node": "^10.9.2",
|
|
40
44
|
"tsx": "^4.7.2",
|
|
41
45
|
"typescript": "^5.9.3",
|