@acorex-platform/extension-ai-code-review-client 0.0.37 → 0.0.46
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/fesm2022/acorex-platform-extension-ai-code-review-client-contracts.mjs +43 -1
- package/fesm2022/acorex-platform-extension-ai-code-review-client-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-extension-ai-code-review-client.mjs +79 -9
- package/fesm2022/acorex-platform-extension-ai-code-review-client.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-platform-extension-ai-code-review-client-contracts.d.ts +41 -2
- package/types/acorex-platform-extension-ai-code-review-client.d.ts +1 -1
|
@@ -8,6 +8,48 @@ const AXECodeReviewCommandKeys = {
|
|
|
8
8
|
//#region ----- Code review command inputs -----
|
|
9
9
|
//#endregion
|
|
10
10
|
|
|
11
|
+
//#region ----- Review rule categories and severities -----
|
|
12
|
+
/** Google review aspects, plus security (Sonar vulnerability type). */
|
|
13
|
+
const AXE_CODE_REVIEW_RULE_CATEGORIES = [
|
|
14
|
+
'design',
|
|
15
|
+
'functionality',
|
|
16
|
+
'complexity',
|
|
17
|
+
'tests',
|
|
18
|
+
'naming',
|
|
19
|
+
'style',
|
|
20
|
+
'documentation',
|
|
21
|
+
'security',
|
|
22
|
+
];
|
|
23
|
+
/** SARIF defaultConfiguration.level. */
|
|
24
|
+
const AXE_CODE_REVIEW_RULE_SEVERITIES = ['error', 'warning', 'note'];
|
|
25
|
+
const AXE_CODE_REVIEW_RULE_DEFAULT_SEVERITY = 'warning';
|
|
26
|
+
//#endregion
|
|
27
|
+
|
|
28
|
+
//#region ----- Code review extension root config -----
|
|
29
|
+
const config = {
|
|
30
|
+
i18n: 'extensions-code-review',
|
|
31
|
+
};
|
|
32
|
+
const MODULE_NAME = 'CodeReviewExtension';
|
|
33
|
+
const RootConfig = {
|
|
34
|
+
config,
|
|
35
|
+
module: {
|
|
36
|
+
name: MODULE_NAME,
|
|
37
|
+
title: `@${config.i18n}:module.title`,
|
|
38
|
+
icon: 'fa-light fa-magnifying-glass-chart',
|
|
39
|
+
},
|
|
40
|
+
entities: {
|
|
41
|
+
reviewRule: {
|
|
42
|
+
name: 'ReviewRule',
|
|
43
|
+
fullName: `${MODULE_NAME}.ReviewRule`,
|
|
44
|
+
title: `@${config.i18n}:entities.review-rule.title`,
|
|
45
|
+
titlePlural: `@${config.i18n}:entities.review-rule.plural`,
|
|
46
|
+
icon: 'fa-light fa-list-check',
|
|
47
|
+
source: `${MODULE_NAME}.ReviewRule`,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
|
|
11
53
|
//#region ---- Contracts barrel ----
|
|
12
54
|
//#endregion
|
|
13
55
|
|
|
@@ -15,5 +57,5 @@ const AXECodeReviewCommandKeys = {
|
|
|
15
57
|
* Generated bundle index. Do not edit.
|
|
16
58
|
*/
|
|
17
59
|
|
|
18
|
-
export { AXECodeReviewCommandKeys };
|
|
60
|
+
export { AXECodeReviewCommandKeys, AXE_CODE_REVIEW_RULE_CATEGORIES, AXE_CODE_REVIEW_RULE_DEFAULT_SEVERITY, AXE_CODE_REVIEW_RULE_SEVERITIES, RootConfig };
|
|
19
61
|
//# sourceMappingURL=acorex-platform-extension-ai-code-review-client-contracts.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-extension-ai-code-review-client-contracts.mjs","sources":["../../../../libs/extensions/ai/code-review/contracts/src/code-review.constants.ts","../../../../libs/extensions/ai/code-review/contracts/src/code-review.types.ts","../../../../libs/extensions/ai/code-review/contracts/src/index.ts","../../../../libs/extensions/ai/code-review/contracts/src/acorex-platform-extension-ai-code-review-client-contracts.ts"],"sourcesContent":["//#region ----- Code review command keys -----\r\r\n\r\r\nexport const AXECodeReviewCommandKeys = {\r\r\n ReviewCommit: 'CodeReviewExtension.Commit:Review',\r\r\n ReviewBranch: 'CodeReviewExtension.Branch:Review',\r\r\n} as const;\r\r\n\r\r\n//#endregion\r\r\n","//#region ----- Code review command inputs -----\
|
|
1
|
+
{"version":3,"file":"acorex-platform-extension-ai-code-review-client-contracts.mjs","sources":["../../../../libs/extensions/ai/code-review/contracts/src/code-review.constants.ts","../../../../libs/extensions/ai/code-review/contracts/src/code-review.types.ts","../../../../libs/extensions/ai/code-review/contracts/src/review-rule.constants.ts","../../../../libs/extensions/ai/code-review/contracts/src/root-config.ts","../../../../libs/extensions/ai/code-review/contracts/src/index.ts","../../../../libs/extensions/ai/code-review/contracts/src/acorex-platform-extension-ai-code-review-client-contracts.ts"],"sourcesContent":["//#region ----- Code review command keys -----\r\r\n\r\r\nexport const AXECodeReviewCommandKeys = {\r\r\n ReviewCommit: 'CodeReviewExtension.Commit:Review',\r\r\n ReviewBranch: 'CodeReviewExtension.Branch:Review',\r\r\n} as const;\r\r\n\r\r\n//#endregion\r\r\n","//#region ----- Code review command inputs -----\n\nimport type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\nimport type {\n AXESourceControlCommitDto,\n AXESourceControlProjectSourceControlLinkEntityModel,\n} from '@acorex-platform/extension-source-control-core-client/contracts';\n\nimport type { AXECodeReviewRuleCategory, AXECodeReviewRuleSeverity } from './review-rule.constants';\n\nexport interface AXECodeReviewCommitCommandInput {\n projectId: string;\n link: AXESourceControlProjectSourceControlLinkEntityModel;\n branch: string;\n commit: AXESourceControlCommitDto;\n}\n\nexport interface AXECodeReviewBranchCommandInput {\n projectId: string;\n link: AXESourceControlProjectSourceControlLinkEntityModel;\n branch: string;\n baseBranch: string;\n}\n\nexport interface AXECodeReviewRuleEntityModel extends AXPEntityModel<string> {\n projectId: string;\n title: string;\n instruction: string;\n category: AXECodeReviewRuleCategory;\n severity: AXECodeReviewRuleSeverity;\n enabled: boolean;\n pathPattern?: string;\n}\n\n//#endregion\n","//#region ----- Review rule categories and severities -----\n\n/** Google review aspects, plus security (Sonar vulnerability type). */\nexport const AXE_CODE_REVIEW_RULE_CATEGORIES = [\n 'design',\n 'functionality',\n 'complexity',\n 'tests',\n 'naming',\n 'style',\n 'documentation',\n 'security',\n] as const;\n\nexport type AXECodeReviewRuleCategory = (typeof AXE_CODE_REVIEW_RULE_CATEGORIES)[number];\n\n/** SARIF defaultConfiguration.level. */\nexport const AXE_CODE_REVIEW_RULE_SEVERITIES = ['error', 'warning', 'note'] as const;\n\nexport type AXECodeReviewRuleSeverity = (typeof AXE_CODE_REVIEW_RULE_SEVERITIES)[number];\n\nexport const AXE_CODE_REVIEW_RULE_DEFAULT_SEVERITY: AXECodeReviewRuleSeverity = 'warning';\n\n//#endregion\n","//#region ----- Code review extension root config -----\n\nconst config = {\n i18n: 'extensions-code-review',\n};\n\nconst MODULE_NAME = 'CodeReviewExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-magnifying-glass-chart',\n },\n entities: {\n reviewRule: {\n name: 'ReviewRule',\n fullName: `${MODULE_NAME}.ReviewRule`,\n title: `@${config.i18n}:entities.review-rule.title`,\n titlePlural: `@${config.i18n}:entities.review-rule.plural`,\n icon: 'fa-light fa-list-check',\n source: `${MODULE_NAME}.ReviewRule`,\n },\n },\n};\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './code-review.constants';\nexport * from './code-review.types';\nexport * from './review-rule.constants';\nexport * from './root-config';\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAIO,MAAM,wBAAwB,GAAG;AAEtC,IAAA,YAAY,EAAE,mCAAmC;AAEjD,IAAA,YAAY,EAAE,mCAAmC;;AAMnD;;ACdA;AAkCA;;AClCA;AAEA;AACO,MAAM,+BAA+B,GAAG;IAC7C,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,OAAO;IACP,eAAe;IACf,UAAU;;AAKZ;AACO,MAAM,+BAA+B,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM;AAInE,MAAM,qCAAqC,GAA8B;AAEhF;;ACvBA;AAEA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,wBAAwB;CAC/B;AAED,MAAM,WAAW,GAAG,qBAAqB;AAElC,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,aAAA,CAAe;AACrC,QAAA,IAAI,EAAE,oCAAoC;AAC3C,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,CAAA,EAAG,WAAW,CAAA,WAAA,CAAa;AACrC,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,2BAAA,CAA6B;AACnD,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,4BAAA,CAA8B;AAC1D,YAAA,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,CAAA,EAAG,WAAW,CAAA,WAAA,CAAa;AACpC,SAAA;AACF,KAAA;;AAGH;;AC3BA;AAOA;;ACPA;;AAEG;;"}
|
|
@@ -1,9 +1,75 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import {
|
|
2
|
+
import { Injectable, NgModule } from '@angular/core';
|
|
3
|
+
import { AXP_HOOK_PROVIDER } from '@acorex-platform/framework-client/core';
|
|
4
|
+
import { AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';
|
|
4
5
|
import { provideCommandSetups } from '@acorex-platform/framework-client/runtime';
|
|
5
|
-
import { AXECodeReviewCommandKeys } from '@acorex-platform/extension-ai-code-review-client/contracts';
|
|
6
|
-
import {
|
|
6
|
+
import { RootConfig, AXECodeReviewCommandKeys } from '@acorex-platform/extension-ai-code-review-client/contracts';
|
|
7
|
+
import { entityDetailsCrudActions, entityDetailsSimpleCondition } from '@acorex-platform/framework-shared/entity';
|
|
8
|
+
import { RootConfig as RootConfig$2, AXESourceControlHookKeys } from '@acorex-platform/extension-source-control-core-client/contracts';
|
|
9
|
+
import { RootConfig as RootConfig$1 } from '@acorex-platform/module-project-management-client/contracts';
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region ----- Entity Provider -----
|
|
13
|
+
class AXECodeReviewEntityProvider {
|
|
14
|
+
preload() {
|
|
15
|
+
const module = RootConfig.module.name;
|
|
16
|
+
return Object.values(RootConfig.entities).map((entity) => ({
|
|
17
|
+
module,
|
|
18
|
+
entity: entity.name,
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
async get(moduleName, entityName) {
|
|
22
|
+
if (moduleName !== RootConfig.module.name) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
if (entityName === RootConfig.entities.reviewRule.name) {
|
|
26
|
+
return (await import('@acorex-platform/extension-ai-code-review-domain')).reviewRuleFactory();
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
async list() {
|
|
31
|
+
const module = RootConfig.module.name;
|
|
32
|
+
return Object.values(RootConfig.entities).map((entity) => ({
|
|
33
|
+
name: entity.name,
|
|
34
|
+
module,
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXECodeReviewEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXECodeReviewEntityProvider }); }
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXECodeReviewEntityProvider, decorators: [{
|
|
41
|
+
type: Injectable
|
|
42
|
+
}] });
|
|
43
|
+
|
|
44
|
+
//#region ----- Imports -----
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region ----- Constants -----
|
|
47
|
+
/** Just after the source-control repository page (order 145_000). */
|
|
48
|
+
const REVIEW_RULES_PAGE_ORDER = 146_000;
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region ----- Modifier -----
|
|
51
|
+
/** Adds a Review Rules tab to ProjectManagement.Project when source control is enabled for the project type. */
|
|
52
|
+
const AXECodeReviewProjectEntityModifier = {
|
|
53
|
+
entityName: RootConfig$1.entities.project.name,
|
|
54
|
+
order: 56,
|
|
55
|
+
modifier: (ctx) => {
|
|
56
|
+
if (ctx.module.get() !== RootConfig$1.module.name) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
ctx.relatedEntities.add({
|
|
60
|
+
entity: RootConfig.entities.reviewRule.fullName,
|
|
61
|
+
title: RootConfig.entities.reviewRule.titlePlural,
|
|
62
|
+
icon: RootConfig.entities.reviewRule.icon,
|
|
63
|
+
columns: ['title', 'category', 'severity', 'enabled'],
|
|
64
|
+
conditions: [entityDetailsSimpleCondition('projectId')],
|
|
65
|
+
excludeProperties: ['projectId'],
|
|
66
|
+
actions: entityDetailsCrudActions('projectId'),
|
|
67
|
+
layout: { type: 'page-list', position: 'after', order: REVIEW_RULES_PAGE_ORDER },
|
|
68
|
+
hidden: `{{ !(await ${RootConfig$2.module.name}.isEnabledForProjectType(context.eval("projectTypeId"))) }}`,
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
//#endregion
|
|
7
73
|
|
|
8
74
|
//#region ---- Imports ----
|
|
9
75
|
//#endregion
|
|
@@ -63,19 +129,21 @@ const AXECodeReviewSourceControlCommitActionsHookProvider = {
|
|
|
63
129
|
//#endregion
|
|
64
130
|
//#region ---- Module ----
|
|
65
131
|
/**
|
|
66
|
-
* Code review extension —
|
|
132
|
+
* Code review extension — project Review Rules tab, plus review actions on the Repository page.
|
|
67
133
|
*/
|
|
68
134
|
class AXECodeReviewExtensionModule {
|
|
69
135
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXECodeReviewExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
70
136
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXECodeReviewExtensionModule }); }
|
|
71
137
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXECodeReviewExtensionModule, providers: [
|
|
138
|
+
{ provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXECodeReviewEntityProvider, multi: true },
|
|
139
|
+
{ provide: AXP_ENTITY_MODIFIER, useValue: AXECodeReviewProjectEntityModifier, multi: true },
|
|
72
140
|
{
|
|
73
|
-
provide:
|
|
141
|
+
provide: AXP_HOOK_PROVIDER,
|
|
74
142
|
useValue: AXECodeReviewSourceControlCommitActionsHookProvider,
|
|
75
143
|
multi: true,
|
|
76
144
|
},
|
|
77
145
|
{
|
|
78
|
-
provide:
|
|
146
|
+
provide: AXP_HOOK_PROVIDER,
|
|
79
147
|
useValue: AXECodeReviewSourceControlBranchActionsHookProvider,
|
|
80
148
|
multi: true,
|
|
81
149
|
},
|
|
@@ -95,13 +163,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
95
163
|
type: NgModule,
|
|
96
164
|
args: [{
|
|
97
165
|
providers: [
|
|
166
|
+
{ provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXECodeReviewEntityProvider, multi: true },
|
|
167
|
+
{ provide: AXP_ENTITY_MODIFIER, useValue: AXECodeReviewProjectEntityModifier, multi: true },
|
|
98
168
|
{
|
|
99
|
-
provide:
|
|
169
|
+
provide: AXP_HOOK_PROVIDER,
|
|
100
170
|
useValue: AXECodeReviewSourceControlCommitActionsHookProvider,
|
|
101
171
|
multi: true,
|
|
102
172
|
},
|
|
103
173
|
{
|
|
104
|
-
provide:
|
|
174
|
+
provide: AXP_HOOK_PROVIDER,
|
|
105
175
|
useValue: AXECodeReviewSourceControlBranchActionsHookProvider,
|
|
106
176
|
multi: true,
|
|
107
177
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-extension-ai-code-review-client.mjs","sources":["../../../../libs/extensions/ai/code-review/client/src/lib/hooks/source-control-branch-actions.hook.ts","../../../../libs/extensions/ai/code-review/client/src/lib/hooks/source-control-commit-actions.hook.ts","../../../../libs/extensions/ai/code-review/client/src/lib/code-review-extension.module.ts","../../../../libs/extensions/ai/code-review/client/src/acorex-platform-extension-ai-code-review-client.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type { AXPDistributedEventListenerProvider } from '@acorex-platform/framework-client/core';\nimport {\n AXESourceControlHookKeys,\n type AXESourceControlBranchActionsHookPayload,\n} from '@acorex-platform/extension-source-control-core-client/contracts';\nimport { AXECodeReviewCommandKeys } from '@acorex-platform/extension-ai-code-review-client/contracts';\n\n//#endregion\n\n//#region ---- Hook provider ----\n\nexport const AXECodeReviewSourceControlBranchActionsHookProvider: AXPDistributedEventListenerProvider<\n AXESourceControlBranchActionsHookPayload,\n AXESourceControlBranchActionsHookPayload\n> = {\n key: AXESourceControlHookKeys.BranchActions,\n priority: 10,\n async execute(data: AXESourceControlBranchActionsHookPayload): Promise<AXESourceControlBranchActionsHookPayload> {\n data.actions.push({\n name: 'code-review-branch',\n title: '@extensions-code-review:actions.review-branch.title',\n icon: 'fa-light fa-code-pull-request',\n color: 'primary',\n command: {\n name: AXECodeReviewCommandKeys.ReviewBranch,\n options: {\n projectId: data.projectId,\n link: data.link,\n branch: data.branch,\n baseBranch: data.baseBranch,\n },\n },\n });\n return data;\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport type { AXPDistributedEventListenerProvider } from '@acorex-platform/framework-client/core';\nimport {\n AXESourceControlHookKeys,\n type AXESourceControlCommitActionsHookPayload,\n} from '@acorex-platform/extension-source-control-core-client/contracts';\nimport { AXECodeReviewCommandKeys } from '@acorex-platform/extension-ai-code-review-client/contracts';\n\n//#endregion\n\n//#region ---- Hook provider ----\n\nexport const AXECodeReviewSourceControlCommitActionsHookProvider: AXPDistributedEventListenerProvider<\n AXESourceControlCommitActionsHookPayload,\n AXESourceControlCommitActionsHookPayload\n> = {\n key: AXESourceControlHookKeys.CommitActions,\n priority: 10,\n async execute(data: AXESourceControlCommitActionsHookPayload): Promise<AXESourceControlCommitActionsHookPayload> {\n data.actions.push({\n name: 'code-review-commit',\n title: '@extensions-code-review:actions.review-commit.title',\n icon: 'fa-light fa-magnifying-glass-chart',\n color: 'primary',\n command: {\n name: AXECodeReviewCommandKeys.ReviewCommit,\n options: {\n projectId: data.projectId,\n link: data.link,\n branch: data.branch,\n commit: data.commit,\n },\n },\n });\n return data;\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { NgModule } from '@angular/core';\nimport { AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { provideCommandSetups } from '@acorex-platform/framework-client/runtime';\nimport { AXECodeReviewCommandKeys } from '@acorex-platform/extension-ai-code-review-client/contracts';\nimport { AXECodeReviewSourceControlBranchActionsHookProvider } from './hooks/source-control-branch-actions.hook';\nimport { AXECodeReviewSourceControlCommitActionsHookProvider } from './hooks/source-control-commit-actions.hook';\n\n//#endregion\n\n//#region ---- Module ----\n\n/**\n * Code review extension — contributes review actions on the project Repository page via source-control hooks.\n */\n@NgModule({\n providers: [\n {\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: AXECodeReviewSourceControlCommitActionsHookProvider,\n multi: true,\n },\n {\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: AXECodeReviewSourceControlBranchActionsHookProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: AXECodeReviewCommandKeys.ReviewCommit,\n command: () => import('./commands/review-commit.command').then((c) => c.AXECodeReviewCommitCommand),\n },\n {\n key: AXECodeReviewCommandKeys.ReviewBranch,\n command: () => import('./commands/review-branch.command').then((c) => c.AXECodeReviewBranchCommand),\n },\n ]),\n ],\n})\nexport class AXECodeReviewExtensionModule {}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-extension-ai-code-review-client.mjs","sources":["../../../../libs/extensions/ai/code-review/client/src/lib/entity.provider.ts","../../../../libs/extensions/ai/code-review/client/src/lib/features/project-management/project-review-rule.entity-modifier.ts","../../../../libs/extensions/ai/code-review/client/src/lib/hooks/source-control-branch-actions.hook.ts","../../../../libs/extensions/ai/code-review/client/src/lib/hooks/source-control-commit-actions.hook.ts","../../../../libs/extensions/ai/code-review/client/src/lib/code-review-extension.module.ts","../../../../libs/extensions/ai/code-review/client/src/acorex-platform-extension-ai-code-review-client.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { AXPEntityDefinitionLoader, AXPEntityPreloadEntity } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/extension-ai-code-review-client/contracts';\n\n//#endregion\n\n//#region ----- Entity Provider -----\n\n@Injectable()\nexport class AXECodeReviewEntityProvider implements AXPEntityDefinitionLoader {\n preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Object.values(RootConfig.entities).map((entity) => ({\n module,\n entity: entity.name,\n }));\n }\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName !== RootConfig.module.name) {\n return null;\n }\n\n if (entityName === RootConfig.entities.reviewRule.name) {\n return (await import('@acorex-platform/extension-ai-code-review-domain')).reviewRuleFactory();\n }\n\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const module = RootConfig.module.name;\n return Object.values(RootConfig.entities).map((entity) => ({\n name: entity.name,\n module,\n }));\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPEntityModifierProvider } from '@acorex-platform/framework-client/layout/entity';\nimport { entityDetailsCrudActions, entityDetailsSimpleCondition } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '@acorex-platform/extension-ai-code-review-client/contracts';\nimport { RootConfig as SourceControlRootConfig } from '@acorex-platform/extension-source-control-core-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\n\n//#endregion\n\n//#region ----- Constants -----\n\n/** Just after the source-control repository page (order 145_000). */\nconst REVIEW_RULES_PAGE_ORDER = 146_000;\n\n//#endregion\n\n//#region ----- Modifier -----\n\n/** Adds a Review Rules tab to ProjectManagement.Project when source control is enabled for the project type. */\nexport const AXECodeReviewProjectEntityModifier: AXPEntityModifierProvider = {\n entityName: PmRootConfig.entities.project.name,\n order: 56,\n modifier: (ctx) => {\n if (ctx.module.get() !== PmRootConfig.module.name) {\n return;\n }\n\n ctx.relatedEntities.add({\n entity: RootConfig.entities.reviewRule.fullName,\n title: RootConfig.entities.reviewRule.titlePlural,\n icon: RootConfig.entities.reviewRule.icon,\n columns: ['title', 'category', 'severity', 'enabled'],\n conditions: [entityDetailsSimpleCondition('projectId')],\n excludeProperties: ['projectId'],\n actions: entityDetailsCrudActions('projectId'),\n layout: { type: 'page-list', position: 'after', order: REVIEW_RULES_PAGE_ORDER },\n hidden: `{{ !(await ${SourceControlRootConfig.module.name}.isEnabledForProjectType(context.eval(\"projectTypeId\"))) }}`,\n });\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\r\n\r\nimport type { AXPHookProvider } from '@acorex-platform/framework-client/core';\r\nimport {\r\n AXESourceControlHookKeys,\r\n type AXESourceControlBranchActionsHookPayload,\r\n} from '@acorex-platform/extension-source-control-core-client/contracts';\r\nimport { AXECodeReviewCommandKeys } from '@acorex-platform/extension-ai-code-review-client/contracts';\r\n\r\n//#endregion\r\n\r\n//#region ---- Hook provider ----\r\n\r\nexport const AXECodeReviewSourceControlBranchActionsHookProvider: AXPHookProvider<\r\n AXESourceControlBranchActionsHookPayload,\r\n AXESourceControlBranchActionsHookPayload\r\n> = {\r\n key: AXESourceControlHookKeys.BranchActions,\r\n priority: 10,\r\n async execute(data: AXESourceControlBranchActionsHookPayload): Promise<AXESourceControlBranchActionsHookPayload> {\r\n data.actions.push({\r\n name: 'code-review-branch',\r\n title: '@extensions-code-review:actions.review-branch.title',\r\n icon: 'fa-light fa-code-pull-request',\r\n color: 'primary',\r\n command: {\r\n name: AXECodeReviewCommandKeys.ReviewBranch,\r\n options: {\r\n projectId: data.projectId,\r\n link: data.link,\r\n branch: data.branch,\r\n baseBranch: data.baseBranch,\r\n },\r\n },\r\n });\r\n return data;\r\n },\r\n};\r\n\r\n//#endregion\r\n","//#region ---- Imports ----\r\n\r\nimport type { AXPHookProvider } from '@acorex-platform/framework-client/core';\r\nimport {\r\n AXESourceControlHookKeys,\r\n type AXESourceControlCommitActionsHookPayload,\r\n} from '@acorex-platform/extension-source-control-core-client/contracts';\r\nimport { AXECodeReviewCommandKeys } from '@acorex-platform/extension-ai-code-review-client/contracts';\r\n\r\n//#endregion\r\n\r\n//#region ---- Hook provider ----\r\n\r\nexport const AXECodeReviewSourceControlCommitActionsHookProvider: AXPHookProvider<\r\n AXESourceControlCommitActionsHookPayload,\r\n AXESourceControlCommitActionsHookPayload\r\n> = {\r\n key: AXESourceControlHookKeys.CommitActions,\r\n priority: 10,\r\n async execute(data: AXESourceControlCommitActionsHookPayload): Promise<AXESourceControlCommitActionsHookPayload> {\r\n data.actions.push({\r\n name: 'code-review-commit',\r\n title: '@extensions-code-review:actions.review-commit.title',\r\n icon: 'fa-light fa-magnifying-glass-chart',\r\n color: 'primary',\r\n command: {\r\n name: AXECodeReviewCommandKeys.ReviewCommit,\r\n options: {\r\n projectId: data.projectId,\r\n link: data.link,\r\n branch: data.branch,\r\n commit: data.commit,\r\n },\r\n },\r\n });\r\n return data;\r\n },\r\n};\r\n\r\n//#endregion\r\n","//#region ---- Imports ----\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { AXP_HOOK_PROVIDER } from '@acorex-platform/framework-client/core';\r\nimport { AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';\r\nimport { provideCommandSetups } from '@acorex-platform/framework-client/runtime';\r\nimport { AXECodeReviewCommandKeys } from '@acorex-platform/extension-ai-code-review-client/contracts';\r\nimport { AXECodeReviewEntityProvider } from './entity.provider';\r\nimport { AXECodeReviewProjectEntityModifier } from './features/project-management/project-review-rule.entity-modifier';\r\nimport { AXECodeReviewSourceControlBranchActionsHookProvider } from './hooks/source-control-branch-actions.hook';\r\nimport { AXECodeReviewSourceControlCommitActionsHookProvider } from './hooks/source-control-commit-actions.hook';\r\n\r\n//#endregion\r\n\r\n//#region ---- Module ----\r\n\r\n/**\r\n * Code review extension — project Review Rules tab, plus review actions on the Repository page.\r\n */\r\n@NgModule({\r\n providers: [\r\n { provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXECodeReviewEntityProvider, multi: true },\r\n { provide: AXP_ENTITY_MODIFIER, useValue: AXECodeReviewProjectEntityModifier, multi: true },\r\n {\r\n provide: AXP_HOOK_PROVIDER,\r\n useValue: AXECodeReviewSourceControlCommitActionsHookProvider,\r\n multi: true,\r\n },\r\n {\r\n provide: AXP_HOOK_PROVIDER,\r\n useValue: AXECodeReviewSourceControlBranchActionsHookProvider,\r\n multi: true,\r\n },\r\n provideCommandSetups([\r\n {\r\n key: AXECodeReviewCommandKeys.ReviewCommit,\r\n command: () => import('./commands/review-commit.command').then((c) => c.AXECodeReviewCommitCommand),\r\n },\r\n {\r\n key: AXECodeReviewCommandKeys.ReviewBranch,\r\n command: () => import('./commands/review-branch.command').then((c) => c.AXECodeReviewBranchCommand),\r\n },\r\n ]),\r\n ],\r\n})\r\nexport class AXECodeReviewExtensionModule {}\r\n\r\n//#endregion\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["PmRootConfig","SourceControlRootConfig"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex-platform/extension-ai-code-review-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.46",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@acorex-platform/extension-source-control-core-client": "0.0.
|
|
6
|
+
"@acorex-platform/extension-source-control-core-client": "0.0.46",
|
|
7
7
|
"@angular/common": "^21.0.0 || ^22.0.0",
|
|
8
8
|
"@angular/core": "^21.0.0 || ^22.0.0"
|
|
9
9
|
},
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
|
|
1
2
|
import { AXESourceControlProjectSourceControlLinkEntityModel, AXESourceControlCommitDto } from '@acorex-platform/extension-source-control-core-client/contracts';
|
|
2
3
|
|
|
3
4
|
declare const AXECodeReviewCommandKeys: {
|
|
@@ -5,6 +6,14 @@ declare const AXECodeReviewCommandKeys: {
|
|
|
5
6
|
readonly ReviewBranch: "CodeReviewExtension.Branch:Review";
|
|
6
7
|
};
|
|
7
8
|
|
|
9
|
+
/** Google review aspects, plus security (Sonar vulnerability type). */
|
|
10
|
+
declare const AXE_CODE_REVIEW_RULE_CATEGORIES: readonly ["design", "functionality", "complexity", "tests", "naming", "style", "documentation", "security"];
|
|
11
|
+
type AXECodeReviewRuleCategory = (typeof AXE_CODE_REVIEW_RULE_CATEGORIES)[number];
|
|
12
|
+
/** SARIF defaultConfiguration.level. */
|
|
13
|
+
declare const AXE_CODE_REVIEW_RULE_SEVERITIES: readonly ["error", "warning", "note"];
|
|
14
|
+
type AXECodeReviewRuleSeverity = (typeof AXE_CODE_REVIEW_RULE_SEVERITIES)[number];
|
|
15
|
+
declare const AXE_CODE_REVIEW_RULE_DEFAULT_SEVERITY: AXECodeReviewRuleSeverity;
|
|
16
|
+
|
|
8
17
|
interface AXECodeReviewCommitCommandInput {
|
|
9
18
|
projectId: string;
|
|
10
19
|
link: AXESourceControlProjectSourceControlLinkEntityModel;
|
|
@@ -17,6 +26,36 @@ interface AXECodeReviewBranchCommandInput {
|
|
|
17
26
|
branch: string;
|
|
18
27
|
baseBranch: string;
|
|
19
28
|
}
|
|
29
|
+
interface AXECodeReviewRuleEntityModel extends AXPEntityModel<string> {
|
|
30
|
+
projectId: string;
|
|
31
|
+
title: string;
|
|
32
|
+
instruction: string;
|
|
33
|
+
category: AXECodeReviewRuleCategory;
|
|
34
|
+
severity: AXECodeReviewRuleSeverity;
|
|
35
|
+
enabled: boolean;
|
|
36
|
+
pathPattern?: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
declare const RootConfig: {
|
|
40
|
+
config: {
|
|
41
|
+
i18n: string;
|
|
42
|
+
};
|
|
43
|
+
module: {
|
|
44
|
+
name: string;
|
|
45
|
+
title: string;
|
|
46
|
+
icon: string;
|
|
47
|
+
};
|
|
48
|
+
entities: {
|
|
49
|
+
reviewRule: {
|
|
50
|
+
name: string;
|
|
51
|
+
fullName: string;
|
|
52
|
+
title: string;
|
|
53
|
+
titlePlural: string;
|
|
54
|
+
icon: string;
|
|
55
|
+
source: string;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
};
|
|
20
59
|
|
|
21
|
-
export { AXECodeReviewCommandKeys };
|
|
22
|
-
export type { AXECodeReviewBranchCommandInput, AXECodeReviewCommitCommandInput };
|
|
60
|
+
export { AXECodeReviewCommandKeys, AXE_CODE_REVIEW_RULE_CATEGORIES, AXE_CODE_REVIEW_RULE_DEFAULT_SEVERITY, AXE_CODE_REVIEW_RULE_SEVERITIES, RootConfig };
|
|
61
|
+
export type { AXECodeReviewBranchCommandInput, AXECodeReviewCommitCommandInput, AXECodeReviewRuleCategory, AXECodeReviewRuleEntityModel, AXECodeReviewRuleSeverity };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Code review extension —
|
|
4
|
+
* Code review extension — project Review Rules tab, plus review actions on the Repository page.
|
|
5
5
|
*/
|
|
6
6
|
declare class AXECodeReviewExtensionModule {
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXECodeReviewExtensionModule, never>;
|