@godv61/dsh-task-engine 0.30.0 → 0.30.2
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/.adaptive-test.mjs +91 -45
- package/.evidence-test.mjs +16 -16
- package/.resource-test.mjs +19 -19
- package/.roundtrip-test.mjs +5 -5
- package/.sonar-credential-test.mjs +38 -38
- package/.sonarlint-local-test.mjs +13 -10
- package/.workflow-test.mjs +37 -37
- package/README.md +217 -37
- package/docs/development.md +45 -45
- package/docs/manual.html +175 -178
- package/lib/client.js +536 -168
- package/lib/client.js.map +3 -3
- package/lib/controller.d.ts +46 -0
- package/lib/controller.js +248 -1
- package/lib/controller.js.map +1 -1
- package/lib/dev-task.js +6 -32
- package/lib/dev-task.js.map +1 -1
- package/lib/project-init.d.ts +11 -0
- package/lib/project-init.js +32 -1
- package/lib/project-init.js.map +1 -1
- package/lib/sonar-report.js +11 -1
- package/lib/sonar-report.js.map +1 -1
- package/lib/sonar.d.ts +6 -0
- package/lib/sonar.js.map +1 -1
- package/lib/sonarlint-install.d.ts +7 -0
- package/lib/sonarlint-install.js +150 -0
- package/lib/sonarlint-install.js.map +1 -0
- package/lib/sonarlint-local.d.ts +5 -1
- package/lib/sonarlint-local.js +35 -21
- package/lib/sonarlint-local.js.map +1 -1
- package/package.json +2 -2
- package/scripts/verify-package.mjs +3 -3
- package/skills/code-review/SKILL.md +4 -4
- package/skills/eng-delivery/SKILL.md +2 -2
- package/skills/task-orchestration/SKILL.md +1 -1
- package/skills/test-validation/SKILL.md +3 -3
package/lib/sonar-report.js
CHANGED
|
@@ -14,13 +14,14 @@ export function renderSonarReport(taskId, policy, audit) {
|
|
|
14
14
|
`# SonarQube 代码审核:${line(taskId)}`,
|
|
15
15
|
'',
|
|
16
16
|
`- 时间:${line(audit.checked_at)}`,
|
|
17
|
-
`- 来源:${line(policy.source ?? '
|
|
17
|
+
`- 来源:${line(policy.source ?? 'ide-local')}`,
|
|
18
18
|
`- 项目 Key:${line(policy.project_key)}`,
|
|
19
19
|
`- 分析目标:${line(audit.target)}`,
|
|
20
20
|
`- 本次结论:${line(audit.gate)}`,
|
|
21
21
|
`- 问题:${audit.findings.length} 条;阻断:${audit.blocking.length} 条`,
|
|
22
22
|
...(policy.source === 'ide-local' ? [
|
|
23
23
|
`- 人工复核后的任务门禁:${localReviewGate(audit)};未解决阻断:${unresolvedBlockingFindings(audit).length} 条`,
|
|
24
|
+
'- 结论范围:本地分析器可执行的项目规则;不等同 SonarQube 服务端完整扫描或 Quality Gate。',
|
|
24
25
|
] : []),
|
|
25
26
|
`- 本地审核范围:${policy.include_paths?.length ? policy.include_paths.map(line).join('、') : '任务登记的全部代码文件'}`,
|
|
26
27
|
'',
|
|
@@ -32,6 +33,15 @@ export function renderSonarReport(taskId, policy, audit) {
|
|
|
32
33
|
'',
|
|
33
34
|
...(audit.uncovered_files?.length ? audit.uncovered_files.map(file => `- ${line(file)}`) : ['- 无']),
|
|
34
35
|
'',
|
|
36
|
+
...(policy.source === 'ide-local' ? [
|
|
37
|
+
'## 项目规则配置与本地分析器',
|
|
38
|
+
'',
|
|
39
|
+
...(audit.profile_coverage?.length ? audit.profile_coverage.map(profile => `- ${line(profile.language)}:服务端启用 ${profile.active_rules} 条规则;本地分析器 ${line(profile.analyzer)}`)
|
|
40
|
+
: ['- 服务端未返回有已启用规则的语言配置']),
|
|
41
|
+
'',
|
|
42
|
+
'此处确认语言分析器是否同步;SonarQube 不提供每条规则的本地可执行性保证,不能据此宣称全部服务端规则已覆盖。',
|
|
43
|
+
'',
|
|
44
|
+
] : []),
|
|
35
45
|
'## 新代码问题',
|
|
36
46
|
'',
|
|
37
47
|
...(audit.findings.length ? audit.findings.map((finding, index) => `${index + 1}. ${blocked.has(finding.key) ? '**阻断** ' : ''}${line(finding.severity)} · ${line(finding.rule)} · ${line(finding.file)}${finding.line === undefined ? '' : `:${finding.line}`}\n ${line(finding.message)}(${line(finding.key)})`)
|
package/lib/sonar-report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sonar-report.js","sourceRoot":"","sources":["../src/sonar-report.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAqC,MAAM,YAAY,CAAA;AAE3G,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SAClF,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,KAAiB;IAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;IAC9D,OAAO,gBAAgB,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,MAAmB,EAAE,KAAiB;IACtF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACnE,MAAM,IAAI,GAAG;QACX,oBAAoB,IAAI,CAAC,MAAM,CAAC,EAAE;QAClC,EAAE;QACF,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QAChC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"sonar-report.js","sourceRoot":"","sources":["../src/sonar-report.ts"],"names":[],"mappings":"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"}
|
package/lib/sonar.d.ts
CHANGED
|
@@ -50,6 +50,12 @@ export interface SonarAudit {
|
|
|
50
50
|
report_path?: string;
|
|
51
51
|
/** Changed task files actually analyzed by the local engine. */
|
|
52
52
|
scanned_files?: string[];
|
|
53
|
+
/** Active project rules by language and whether an analyzer was synchronized locally. */
|
|
54
|
+
profile_coverage?: {
|
|
55
|
+
language: string;
|
|
56
|
+
active_rules: number;
|
|
57
|
+
analyzer: string;
|
|
58
|
+
}[];
|
|
53
59
|
}
|
|
54
60
|
/** Limit local analysis to the project-relative source roots used by the project's scanner. */
|
|
55
61
|
export declare function validAuditIncludePaths(value: unknown): value is string[];
|
package/lib/sonar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sonar.js","sourceRoot":"","sources":["../src/sonar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sonar.js","sourceRoot":"","sources":["../src/sonar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface SonarLintEnginePaths {
|
|
2
|
+
java: string;
|
|
3
|
+
lib: string;
|
|
4
|
+
plugins: string[];
|
|
5
|
+
}
|
|
6
|
+
/** Caller may pass a cache directory for testing; normal installations live outside project repositories. */
|
|
7
|
+
export declare function resolveSonarLintEngine(cacheBase?: string, signal?: AbortSignal, archivePath?: string): Promise<SonarLintEnginePaths>;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/** Install the standalone SonarLint backend on first use; connected mode fetches analyzers from SonarQube. */
|
|
2
|
+
import { execFile } from 'node:child_process';
|
|
3
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
4
|
+
import { copyFileSync, createReadStream, createWriteStream, existsSync, mkdirSync, renameSync, rmSync } from 'node:fs';
|
|
5
|
+
import { homedir } from 'node:os';
|
|
6
|
+
import { join, relative, resolve, sep } from 'node:path';
|
|
7
|
+
import { Readable } from 'node:stream';
|
|
8
|
+
import { pipeline } from 'node:stream/promises';
|
|
9
|
+
import { promisify } from 'node:util';
|
|
10
|
+
const run = promisify(execFile);
|
|
11
|
+
const VERSION = '11.9.0.86162';
|
|
12
|
+
const BASE = `https://repo.maven.apache.org/maven2/org/sonarsource/sonarlint/core/sonarlint-backend-cli/${VERSION}`;
|
|
13
|
+
const DISTRIBUTIONS = {
|
|
14
|
+
'win32-x64': { archive: 'windows_x64.zip', sha256: 'ff08fa813ef0507155d8e550b90425174cf778e63a473eabca53c19fe942f90b' },
|
|
15
|
+
'linux-x64': { archive: 'linux_x64.tar.gz', sha256: 'e3746b02ee7f66c2d01198a472d21067aebf84c0f042b8336cd9ecddce9284ce' },
|
|
16
|
+
'darwin-x64': { archive: 'macosx_x64.tar.gz', sha256: '3afe23b87f8080a20bbe3e8a783cd1ea4502023b685a37fde21d1b0b3ca7ed44' },
|
|
17
|
+
'darwin-arm64': { archive: 'macosx_aarch64.tar.gz', sha256: '95faa1a243a8d5e1f5ce6a9125dacbb25de455a95b5f398beca8fe4686448dd9' },
|
|
18
|
+
};
|
|
19
|
+
function pluginsFromEnvironment() {
|
|
20
|
+
return process.env.DSH_SONARLINT_PLUGINS?.split(sep === '\\' ? ';' : ':').filter(Boolean) ?? [];
|
|
21
|
+
}
|
|
22
|
+
function installedPaths(root) {
|
|
23
|
+
return { java: join(root, 'jre', 'bin', process.platform === 'win32' ? 'java.exe' : 'java'),
|
|
24
|
+
lib: join(root, 'lib'), plugins: pluginsFromEnvironment() };
|
|
25
|
+
}
|
|
26
|
+
function isInstalled(root) {
|
|
27
|
+
const paths = installedPaths(root);
|
|
28
|
+
return existsSync(paths.java) && existsSync(join(paths.lib, `sonarlint-backend-cli-${VERSION}.jar`));
|
|
29
|
+
}
|
|
30
|
+
function safeTemporaryPath(parent, candidate) {
|
|
31
|
+
const rel = relative(resolve(parent), resolve(candidate));
|
|
32
|
+
if (!rel || rel === '..' || rel.startsWith(`..${sep}`) || rel.startsWith(sep)) {
|
|
33
|
+
throw new Error('SonarLint temporary installation path escaped its cache directory');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
async function download(url, destination, signal) {
|
|
37
|
+
// curl honors HTTPS_PROXY on all supported hosts; DSH_SONARLINT_PROXY is an explicit DSH-only override.
|
|
38
|
+
const proxy = process.env.DSH_SONARLINT_PROXY;
|
|
39
|
+
const controller = new AbortController();
|
|
40
|
+
const onAbort = () => controller.abort();
|
|
41
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
42
|
+
try {
|
|
43
|
+
await run('curl', ['--fail', '--location', '--silent', '--show-error', '--proto', '=https',
|
|
44
|
+
'--proto-redir', '=https', '--connect-timeout', '20', '--max-time', '1800',
|
|
45
|
+
'--retry', '3', '--retry-delay', '3', '--retry-all-errors', '--continue-at', '-',
|
|
46
|
+
'--output', destination, url], { timeout: 1_850_000,
|
|
47
|
+
env: proxy ? { ...process.env, HTTPS_PROXY: proxy, https_proxy: proxy } : process.env,
|
|
48
|
+
signal: controller.signal });
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
if (error.code !== 'ENOENT') {
|
|
53
|
+
throw new Error(`无法下载 SonarLint 后台组件;检查 Maven Central 网络或 DSH_SONARLINT_PROXY 代理设置:${String(error)}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
signal?.removeEventListener('abort', onAbort);
|
|
58
|
+
}
|
|
59
|
+
let response;
|
|
60
|
+
try {
|
|
61
|
+
response = await fetch(url, { signal: signal ? AbortSignal.any([signal, AbortSignal.timeout(1_800_000)]) : AbortSignal.timeout(1_800_000) });
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
throw new Error(`无法下载 SonarLint 后台组件;检查 Maven Central 网络或代理:${String(error)}`);
|
|
65
|
+
}
|
|
66
|
+
if (!response.ok || !response.body)
|
|
67
|
+
throw new Error(`SonarLint 后台组件下载失败:HTTP ${response.status}`);
|
|
68
|
+
const length = Number(response.headers.get('content-length') ?? 0);
|
|
69
|
+
if (length > 500 * 1024 * 1024)
|
|
70
|
+
throw new Error('SonarLint 后台组件下载包过大');
|
|
71
|
+
await pipeline(Readable.fromWeb(response.body), createWriteStream(destination));
|
|
72
|
+
}
|
|
73
|
+
async function sha256(path) {
|
|
74
|
+
const digest = createHash('sha256');
|
|
75
|
+
for await (const chunk of createReadStream(path))
|
|
76
|
+
digest.update(chunk);
|
|
77
|
+
return digest.digest('hex');
|
|
78
|
+
}
|
|
79
|
+
const pending = new Map();
|
|
80
|
+
/** Caller may pass a cache directory for testing; normal installations live outside project repositories. */
|
|
81
|
+
export async function resolveSonarLintEngine(cacheBase = join(homedir(), '.dsh', 'sonarlint-runtime'), signal, archivePath) {
|
|
82
|
+
const explicitJava = process.env.DSH_SONARLINT_JAVA;
|
|
83
|
+
const explicitLib = process.env.DSH_SONARLINT_LIB;
|
|
84
|
+
const plugins = pluginsFromEnvironment();
|
|
85
|
+
if (explicitJava || explicitLib) {
|
|
86
|
+
if (!explicitJava || !explicitLib || !existsSync(explicitJava) || !existsSync(explicitLib)
|
|
87
|
+
|| plugins.some(path => !existsSync(path))) {
|
|
88
|
+
throw new Error('SonarLint 自定义路径不完整;请同时设置有效的 DSH_SONARLINT_JAVA 和 DSH_SONARLINT_LIB');
|
|
89
|
+
}
|
|
90
|
+
return { java: explicitJava, lib: explicitLib, plugins };
|
|
91
|
+
}
|
|
92
|
+
if (plugins.some(path => !existsSync(path)))
|
|
93
|
+
throw new Error('DSH_SONARLINT_PLUGINS 中有不存在的分析器路径');
|
|
94
|
+
const platform = `${process.platform}-${process.arch}`;
|
|
95
|
+
const distribution = DISTRIBUTIONS[platform];
|
|
96
|
+
if (!distribution)
|
|
97
|
+
throw new Error(`当前系统 ${platform} 暂无自动安装的 SonarLint 后台组件;可设置 DSH_SONARLINT_JAVA 和 DSH_SONARLINT_LIB`);
|
|
98
|
+
const root = join(cacheBase, VERSION, platform);
|
|
99
|
+
if (isInstalled(root))
|
|
100
|
+
return installedPaths(root);
|
|
101
|
+
const existing = pending.get(root);
|
|
102
|
+
if (existing)
|
|
103
|
+
return existing;
|
|
104
|
+
const task = (async () => {
|
|
105
|
+
const parent = join(cacheBase, VERSION);
|
|
106
|
+
mkdirSync(parent, { recursive: true });
|
|
107
|
+
const stage = join(parent, `.install-${platform}-${randomUUID()}`);
|
|
108
|
+
safeTemporaryPath(parent, stage);
|
|
109
|
+
mkdirSync(stage);
|
|
110
|
+
try {
|
|
111
|
+
const archive = join(stage, `distribution.${distribution.archive.endsWith('.zip') ? 'zip' : 'tar.gz'}`);
|
|
112
|
+
if (archivePath) {
|
|
113
|
+
copyFileSync(archivePath, archive);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
await download(`${BASE}/sonarlint-backend-cli-${VERSION}-${distribution.archive}`, archive, signal);
|
|
117
|
+
}
|
|
118
|
+
const hash = await sha256(archive);
|
|
119
|
+
if (hash !== distribution.sha256)
|
|
120
|
+
throw new Error('SonarLint 后台组件校验失败;下载内容与官方校验值不符');
|
|
121
|
+
await run('tar', ['-xf', archive, '-C', stage], { timeout: 180_000 });
|
|
122
|
+
rmSync(archive);
|
|
123
|
+
if (!isInstalled(stage))
|
|
124
|
+
throw new Error('SonarLint 后台组件缺少 Java 或后台依赖 JAR');
|
|
125
|
+
if (!isInstalled(root)) {
|
|
126
|
+
try {
|
|
127
|
+
renameSync(stage, root);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
if (!isInstalled(root))
|
|
131
|
+
throw error;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return installedPaths(root);
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
safeTemporaryPath(parent, stage);
|
|
138
|
+
if (existsSync(stage))
|
|
139
|
+
rmSync(stage, { recursive: true, force: true });
|
|
140
|
+
}
|
|
141
|
+
})();
|
|
142
|
+
pending.set(root, task);
|
|
143
|
+
try {
|
|
144
|
+
return await task;
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
pending.delete(root);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=sonarlint-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sonarlint-install.js","sourceRoot":"","sources":["../src/sonarlint-install.ts"],"names":[],"mappings":"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"}
|
package/lib/sonarlint-local.d.ts
CHANGED
|
@@ -13,5 +13,9 @@ interface ChangedFile {
|
|
|
13
13
|
/** Compare the current working tree with a reference; an untracked file is wholly new. */
|
|
14
14
|
export declare function changedLines(root: string, reference: string, taskPaths?: string[]): Promise<ChangedFile[]>;
|
|
15
15
|
/** Analyze only changed supported files with the project's synchronized Quality Profile. */
|
|
16
|
-
export declare function inspectLocalRules(policy: SonarPolicy, token: string, root: string, scopeHash: string, signal?: AbortSignal, taskPaths?: string[]): Promise<SonarAudit>;
|
|
16
|
+
export declare function inspectLocalRules(policy: SonarPolicy, token: string, root: string, scopeHash: string, signal?: AbortSignal, taskPaths?: string[], prepareOnly?: boolean): Promise<SonarAudit>;
|
|
17
|
+
/** Prepare the backend and verify project rule synchronization without auditing or uploading source files. */
|
|
18
|
+
export declare function prepareLocalAnalyzer(policy: SonarPolicy, token: string, root: string, signal?: AbortSignal): Promise<{
|
|
19
|
+
profiles: NonNullable<SonarAudit['profile_coverage']>;
|
|
20
|
+
}>;
|
|
17
21
|
export {};
|
package/lib/sonarlint-local.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/** Local SonarQube for IDE engine. It reads server rules and source files; it never runs a scanner or uploads an analysis. */
|
|
2
2
|
import { spawn, execFile } from 'node:child_process';
|
|
3
3
|
import { createHash, randomUUID } from 'node:crypto';
|
|
4
|
-
import {
|
|
4
|
+
import { mkdirSync, mkdtempSync, readFileSync, rmSync } from 'node:fs';
|
|
5
5
|
import { homedir, tmpdir } from 'node:os';
|
|
6
6
|
import { join, relative, resolve, sep } from 'node:path';
|
|
7
7
|
import { pathToFileURL } from 'node:url';
|
|
8
8
|
import { promisify } from 'node:util';
|
|
9
9
|
import { isBlockingFinding, isIncludedAuditPath } from "./sonar.js";
|
|
10
|
+
import { resolveSonarLintEngine } from "./sonarlint-install.js";
|
|
10
11
|
const run = promisify(execFile);
|
|
11
12
|
const SUPPORTED_FILE = /\.(?:java|js|jsx|ts|tsx|vue|css|scss|html|jsp|xml|json|ya?ml|sql|properties|py|go|kt|kts|cs|c|cc|cpp|h|hpp|php|rb|sh|scala|groovy)$/iu;
|
|
12
13
|
function isAuditSource(path) {
|
|
@@ -100,23 +101,13 @@ export async function changedLines(root, reference, taskPaths) {
|
|
|
100
101
|
return [...files.values()].filter(file => file.lines.size
|
|
101
102
|
&& (scoped === undefined || scoped.has(file.path.replaceAll('\\', '/').toLowerCase())));
|
|
102
103
|
}
|
|
103
|
-
/** The engine can be installed independently; environment paths point to its Java runtime and SonarLint JARs. */
|
|
104
|
-
function enginePaths() {
|
|
105
|
-
const java = process.env.DSH_SONARLINT_JAVA;
|
|
106
|
-
const lib = process.env.DSH_SONARLINT_LIB;
|
|
107
|
-
const plugins = process.env.DSH_SONARLINT_PLUGINS?.split(sep === '\\' ? ';' : ':').filter(Boolean) ?? [];
|
|
108
|
-
if (!java || !lib || !plugins.length || !existsSync(java) || !existsSync(lib) || plugins.some(path => !existsSync(path))) {
|
|
109
|
-
throw new Error('本地 Sonar 审核需要 DSH_SONARLINT_JAVA、DSH_SONARLINT_LIB 和 DSH_SONARLINT_PLUGINS;请先安装 SonarLint 后台组件并配置路径');
|
|
110
|
-
}
|
|
111
|
-
return { java, lib, plugins };
|
|
112
|
-
}
|
|
113
104
|
/** Analyze only changed supported files with the project's synchronized Quality Profile. */
|
|
114
|
-
export async function inspectLocalRules(policy, token, root, scopeHash, signal, taskPaths) {
|
|
105
|
+
export async function inspectLocalRules(policy, token, root, scopeHash, signal, taskPaths, prepareOnly = false) {
|
|
115
106
|
if (!token)
|
|
116
107
|
throw new Error('本地规则审核需要当前项目 SonarQube Token');
|
|
117
108
|
if (!policy.reference_branch)
|
|
118
109
|
throw new Error('本地规则审核需要新代码参考分支');
|
|
119
|
-
const changes = (await changedLines(root, policy.reference_branch))
|
|
110
|
+
const changes = (prepareOnly ? [] : await changedLines(root, policy.reference_branch))
|
|
120
111
|
.filter(file => isIncludedAuditPath(file.path, policy.include_paths));
|
|
121
112
|
if (taskPaths !== undefined) {
|
|
122
113
|
const missing = missingLocalAuditScope(changes.map(file => file.path), taskPaths);
|
|
@@ -142,7 +133,7 @@ export async function inspectLocalRules(policy, token, root, scopeHash, signal,
|
|
|
142
133
|
const serverMain = branchData.branches?.find(branch => branch.isMain === true)?.name;
|
|
143
134
|
if (!serverMain)
|
|
144
135
|
throw new Error('SonarQube 未返回项目主分支,无法同步本地规则');
|
|
145
|
-
const paths =
|
|
136
|
+
const paths = await resolveSonarLintEngine(undefined, signal);
|
|
146
137
|
const supported = changes.filter(change => localLanguage(change.path));
|
|
147
138
|
const files = supported.map(change => {
|
|
148
139
|
const absolute = resolve(root, change.path);
|
|
@@ -268,15 +259,33 @@ export async function inspectLocalRules(policy, token, root, scopeHash, signal,
|
|
|
268
259
|
if (readyTimer)
|
|
269
260
|
clearTimeout(readyTimer);
|
|
270
261
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
262
|
+
const pluginStatus = await request('plugin/getPluginStatuses', { configurationScopeId: 'project' }, 30_000);
|
|
263
|
+
if (!Array.isArray(pluginStatus?.pluginStatuses))
|
|
264
|
+
throw new Error('SonarLint 未返回本地语言分析器状态,不能判定审核覆盖范围');
|
|
265
|
+
const analyzers = new Map(pluginStatus.pluginStatuses.flatMap((entry) => typeof entry.language === 'string' && typeof entry.state === 'string' ? [[entry.language.toUpperCase(), entry.state]] : []));
|
|
266
|
+
const profileCoverage = profileData.profiles.filter(profile => profile.language && Number(profile.activeRuleCount) > 0)
|
|
267
|
+
.map(profile => ({ language: profile.language.toUpperCase(), active_rules: Number(profile.activeRuleCount),
|
|
268
|
+
analyzer: analyzers.get(profile.language.toUpperCase()) ?? 'UNAVAILABLE' }));
|
|
269
|
+
const activeLanguages = new Set(profileCoverage.map(profile => profile.language));
|
|
270
|
+
const unavailable = supported.filter(change => {
|
|
271
|
+
const language = localLanguage(change.path);
|
|
272
|
+
return language && activeLanguages.has(language) && analyzers.get(language) !== 'SYNCED';
|
|
273
|
+
});
|
|
274
|
+
const unavailablePaths = new Set(unavailable.map(change => change.path));
|
|
275
|
+
uncovered.push(...unavailable.map(change => change.path));
|
|
276
|
+
const scanned = files.filter(file => {
|
|
277
|
+
const language = localLanguage(file.ideRelativePath);
|
|
278
|
+
return !!language && activeLanguages.has(language) && !unavailablePaths.has(file.ideRelativePath);
|
|
279
|
+
});
|
|
280
|
+
if (scanned.length) {
|
|
281
|
+
notify('file/didUpdateFileSystem', { addedFiles: scanned, changedFiles: [], removedFiles: [] });
|
|
282
|
+
const status = await request('file/getFilesStatus', { fileUrisByConfigScopeId: { project: scanned.map(file => file.uri) } });
|
|
283
|
+
const excluded = scanned.filter(file => status.fileStatuses?.[file.uri]?.excluded);
|
|
275
284
|
if (excluded.length)
|
|
276
285
|
throw new Error(`SonarLint 排除了新增代码:${excluded.map(file => file.ideRelativePath).join(', ')}`);
|
|
277
286
|
}
|
|
278
|
-
const response =
|
|
279
|
-
configurationScopeId: 'project', analysisId: randomUUID(), filesToAnalyze:
|
|
287
|
+
const response = scanned.length ? await request('analysis/analyzeFilesAndTrack', {
|
|
288
|
+
configurationScopeId: 'project', analysisId: randomUUID(), filesToAnalyze: scanned.map(file => file.uri),
|
|
280
289
|
extraProperties: {}, shouldFetchServerIssues: false,
|
|
281
290
|
}) : { rawIssues: [], failedAnalysisFiles: [] };
|
|
282
291
|
if (response.failedAnalysisFiles?.length)
|
|
@@ -299,7 +308,7 @@ export async function inspectLocalRules(policy, token, root, scopeHash, signal,
|
|
|
299
308
|
return { ce_task_id: 'local', analysis_id: randomUUID(), gate: blocking.length || uncovered.length ? 'ERROR' : 'OK',
|
|
300
309
|
checked_at: new Date().toISOString(), scope_hash: scopeHash, findings, blocking,
|
|
301
310
|
...(uncovered.length ? { uncovered_files: uncovered } : {}),
|
|
302
|
-
target: policy.reference_branch, scanned_files:
|
|
311
|
+
target: policy.reference_branch, scanned_files: scanned.map(file => file.ideRelativePath), profile_coverage: profileCoverage };
|
|
303
312
|
}
|
|
304
313
|
finally {
|
|
305
314
|
settled = true;
|
|
@@ -314,4 +323,9 @@ export async function inspectLocalRules(policy, token, root, scopeHash, signal,
|
|
|
314
323
|
}
|
|
315
324
|
}
|
|
316
325
|
}
|
|
326
|
+
/** Prepare the backend and verify project rule synchronization without auditing or uploading source files. */
|
|
327
|
+
export async function prepareLocalAnalyzer(policy, token, root, signal) {
|
|
328
|
+
const audit = await inspectLocalRules(policy, token, root, 'prepare-only', signal, undefined, true);
|
|
329
|
+
return { profiles: audit.profile_coverage ?? [] };
|
|
330
|
+
}
|
|
317
331
|
//# sourceMappingURL=sonarlint-local.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sonarlint-local.js","sourceRoot":"","sources":["../src/sonarlint-local.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sonarlint-local.js","sourceRoot":"","sources":["../src/sonarlint-local.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@godv61/dsh-task-engine",
|
|
3
|
-
"version": "0.30.
|
|
4
|
-
"description": "Task-scoped engineering workflows for DeepSeek Harness: four complexity grades, project Skill/Rule initialization, verified tests, and optional review-time SonarQube checks.",
|
|
3
|
+
"version": "0.30.2",
|
|
4
|
+
"description": "Task-scoped engineering workflows for DeepSeek Harness: four complexity grades, project Skill/Rule initialization, verified tests, and optional review-time SonarQube checks.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
@@ -45,9 +45,9 @@ const bundledSkills = ['architecture-design', 'code-development', 'code-review',
|
|
|
45
45
|
check('orchestration and six meta Skills ship',
|
|
46
46
|
JSON.stringify(listing.filter(line => /^skills\/[^/]+\/SKILL\.md$/u.test(line)).sort())
|
|
47
47
|
=== JSON.stringify(bundledSkills.map(name => `skills/${name}/SKILL.md`).sort()))
|
|
48
|
-
check('no bundled business rules ship', !listing.some(line => line.startsWith('rules/')))
|
|
49
|
-
check('only current documentation ships', JSON.stringify(listing.filter(line => line.startsWith('docs/')).sort())
|
|
50
|
-
=== JSON.stringify(['docs/development.md', 'docs/manual.html']))
|
|
48
|
+
check('no bundled business rules ship', !listing.some(line => line.startsWith('rules/')))
|
|
49
|
+
check('only current documentation ships', JSON.stringify(listing.filter(line => line.startsWith('docs/')).sort())
|
|
50
|
+
=== JSON.stringify(['docs/development.md', 'docs/manual.html']))
|
|
51
51
|
|
|
52
52
|
// 3. files whitelist sanity
|
|
53
53
|
for (const required of ['hooks/commit-msg', 'lib/index.js', 'lib/client.js', 'lib/client.d.ts', 'preset/enable.mjs', 'README.md', '.p0-test.mjs', '.acceptance.mjs', '.hook-consistency.mjs', '.resource-test.mjs', '.workflow-test.mjs', '.hook-test.mjs', '.preset-test.mjs', '.assessment-batch1.mjs', '.e2e-presets.mjs', '.revision-test.mjs', '.freeze-test.mjs', '.enforce-test.mjs', '.evidence-test.mjs', '.roundtrip-test.mjs', '.filter-test.mjs', '.adaptive-test.mjs']) {
|
|
@@ -6,8 +6,8 @@ whenToUse: 自适应任务进入代码审核元技能时。
|
|
|
6
6
|
|
|
7
7
|
# 代码审核元技能
|
|
8
8
|
|
|
9
|
-
对照需求、任务产物、变更和测试回执审核。项目若启用 SonarQube
|
|
9
|
+
对照需求、任务产物、变更和测试回执审核。项目若启用 SonarQube,测试通过并进入本阶段后主动调用 `dev_task sonar_check`,对提交前的新代码执行本地规则审核;使用者无需另行点击。读取审核文件和未覆盖范围,有阻断问题时修复、重新测试并再次调用 `sonar_check`,不能只填一个通过结论。使用 `dev_task review` 记录结果。
|
|
10
10
|
|
|
11
|
-
对可复用的失败案例提出项目 Rule 候选,包含触发场景、错误与正确示例、对应 Sonar 规则;经审阅后挂到相应代码开发 Skill。不要把单次误报或整个 Quality Profile 原样写成规则。
|
|
12
|
-
|
|
13
|
-
本地规则审核的疑似误报先核对代码语义、规则说明与位置。确属误报时,使用 `sonar_disposition` 逐条提交具体原因和证据,等待人工批准;原始命中与原始门禁仍留在审核文件。此处置仅对当前未变化的本地审核有效,不能用于 CI 或上传式服务端 Quality Gate。已确认误报不应作为 `learn_rule` 的候选。
|
|
11
|
+
对可复用的失败案例提出项目 Rule 候选,包含触发场景、错误与正确示例、对应 Sonar 规则;经审阅后挂到相应代码开发 Skill。不要把单次误报或整个 Quality Profile 原样写成规则。
|
|
12
|
+
|
|
13
|
+
本地规则审核的疑似误报先核对代码语义、规则说明与位置。确属误报时,使用 `sonar_disposition` 逐条提交具体原因和证据,等待人工批准;原始命中与原始门禁仍留在审核文件。此处置仅对当前未变化的本地审核有效,不能用于 CI 或上传式服务端 Quality Gate。已确认误报不应作为 `learn_rule` 的候选。
|
|
@@ -17,8 +17,8 @@ whenToUse: 在启用工程化交付会话预设后,开始或继续开发任务
|
|
|
17
17
|
1. 先调用 `dev_task`(operation=status)查找当前工作区和分支的任务;有多个候选时让使用者明确目标。没有任务时评估复杂度,调用 `assess`,然后按实际需求调用 `create`;已有任务从返回的 `stage` 继续。
|
|
18
18
|
2. 读取 `status.bindings`、`skill_obligations`、`artifact_requirements`、`legal_next` 和 `commit`。只加载当前及即将进入的终态实际绑定的技能,遵守本次交互读取的最新规则正文;没有绑定时不自行补上技能或规则。
|
|
19
19
|
3. 技能要求的证据以其配置和 `status.skill_obligations` 为准:仅对 `command_receipts_required` 列出的技能通过带真实命令的 `skill_result` 记录;`manual` 通过人工审批记录;`artifact`、`review` 与 `none` 按对应阶段操作或无需额外回执处理。不要把所有技能都当成命令型技能。技能加载成功不等于要求的证据已经完成。
|
|
20
|
-
4. 需要记录产物时,只使用 `artifact_requirements` 给出的 id 与字段。按当前流程要求完成确认、实施项、验证和审核,再调用 `advance`;被拒绝时按返回的阻塞原因修正,不改任务文件绕过门禁。
|
|
21
|
-
`items` 默认按 ID 增量合并;只有明确重排或删除尚未实施的项目时才传 `items_mode=replace` 和完整目标列表。审核前对照 Git 变更补齐任务文件范围;插件会拒绝漏登的新增审核文件。
|
|
20
|
+
4. 需要记录产物时,只使用 `artifact_requirements` 给出的 id 与字段。按当前流程要求完成确认、实施项、验证和审核,再调用 `advance`;被拒绝时按返回的阻塞原因修正,不改任务文件绕过门禁。
|
|
21
|
+
`items` 默认按 ID 增量合并;只有明确重排或删除尚未实施的项目时才传 `items_mode=replace` 和完整目标列表。审核前对照 Git 变更补齐任务文件范围;插件会拒绝漏登的新增审核文件。
|
|
22
22
|
5. 只在 `status.commit` 允许的检查点申请提交,并按任务创建时的流程配置校验文件范围与消息。提交后按工具要求回写真实 Git HEAD。到达终态后调用 `complete`,以其完成条件为准;需要返工时使用 `revise`。
|
|
23
23
|
|
|
24
24
|
不同流程的阶段数与守卫不同,不把某一预设的阶段顺序或提交格式当作所有项目的默认工作方法。用户修改流程配置只影响之后创建的任务;进行中的任务继续遵守创建时的阶段与门禁,但在下次交互读取所引用技能和规则的最新正文。
|
|
@@ -6,6 +6,6 @@ whenToUse: 高或超高复杂度任务进入任务编排元技能时。
|
|
|
6
6
|
|
|
7
7
|
# 任务编排元技能
|
|
8
8
|
|
|
9
|
-
把需求和架构决定拆成按实现先后推进的步骤。每步写清依赖、预期代码或文档产物、完成判据及交接给下一步的内容;先实现基础能力,再实现依赖它的能力。拆分服务于正确推进,不按人员或分支数量机械分包。使用 `dev_task record` 写入 `task-plan` 产物,`steps` 每项单独起行并以稳定 ID 开头(例如 `- I1 数据模型`、`- I2 服务实现`),再用 `dev_task items` 按同样的 ID 和顺序登记全部实施项。进入代码开发前会核对两边的 ID,遗漏项不能静默消失。
|
|
9
|
+
把需求和架构决定拆成按实现先后推进的步骤。每步写清依赖、预期代码或文档产物、完成判据及交接给下一步的内容;先实现基础能力,再实现依赖它的能力。拆分服务于正确推进,不按人员或分支数量机械分包。使用 `dev_task record` 写入 `task-plan` 产物,`steps` 每项单独起行并以稳定 ID 开头(例如 `- I1 数据模型`、`- I2 服务实现`),再用 `dev_task items` 按同样的 ID 和顺序登记全部实施项。进入代码开发前会核对两边的 ID,遗漏项不能静默消失。
|
|
10
10
|
|
|
11
11
|
交接给代码开发:有序任务清单、依赖关系、每步完成定义。负责人和分支仅在用户或团队配置要求时记录。
|
|
@@ -6,8 +6,8 @@ whenToUse: 自适应任务进入测试元技能时。
|
|
|
6
6
|
|
|
7
7
|
# 测试元技能
|
|
8
8
|
|
|
9
|
-
根据验收条件选择验证场景,运行真实测试或构建命令,并通过 `dev_task verify` 保存回执。失败时先修复再重新运行;测试范围应覆盖本次改动及其主要回归风险。
|
|
10
|
-
|
|
11
|
-
Maven 测试命令必须在输出中证明 Surefire/Failsafe 至少执行了一个测试;退出码为 0 但测试数为 0 或没有测试摘要时,验证不能通过。构建通过不等于测试通过。必要时调整命令让测试摘要可见,并核对原始测试报告。
|
|
9
|
+
根据验收条件选择验证场景,运行真实测试或构建命令,并通过 `dev_task verify` 保存回执。失败时先修复再重新运行;测试范围应覆盖本次改动及其主要回归风险。
|
|
10
|
+
|
|
11
|
+
Maven 测试命令必须在输出中证明 Surefire/Failsafe 至少执行了一个测试;退出码为 0 但测试数为 0 或没有测试摘要时,验证不能通过。构建通过不等于测试通过。必要时调整命令让测试摘要可见,并核对原始测试报告。
|
|
12
12
|
|
|
13
13
|
交接给代码审核:测试命令、结果、覆盖的场景和未覆盖原因。不要把模型的口头判断当成通过的测试。
|