@kleber.mottajr/juninho 1.2.0 → 2.0.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 +14 -15
- package/dist/config.d.ts +31 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +57 -3
- package/dist/config.js.map +1 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +59 -45
- package/dist/installer.js.map +1 -1
- package/dist/lint-detection.d.ts +2 -2
- package/dist/lint-detection.d.ts.map +1 -1
- package/dist/lint-detection.js +33 -7
- package/dist/lint-detection.js.map +1 -1
- package/dist/project-types.d.ts +7 -2
- package/dist/project-types.d.ts.map +1 -1
- package/dist/project-types.js +36 -3
- package/dist/project-types.js.map +1 -1
- package/dist/templates/agents.d.ts +2 -2
- package/dist/templates/agents.d.ts.map +1 -1
- package/dist/templates/agents.js +551 -100
- package/dist/templates/agents.js.map +1 -1
- package/dist/templates/commands.d.ts.map +1 -1
- package/dist/templates/commands.js +330 -285
- package/dist/templates/commands.js.map +1 -1
- package/dist/templates/docs.js +36 -24
- package/dist/templates/docs.js.map +1 -1
- package/dist/templates/plugins.d.ts.map +1 -1
- package/dist/templates/plugins.js +699 -99
- package/dist/templates/plugins.js.map +1 -1
- package/dist/templates/state.d.ts.map +1 -1
- package/dist/templates/state.js +138 -186
- package/dist/templates/state.js.map +1 -1
- package/dist/templates/support-scripts.d.ts.map +1 -1
- package/dist/templates/support-scripts.js +927 -247
- package/dist/templates/support-scripts.js.map +1 -1
- package/dist/templates/tools.d.ts +2 -2
- package/dist/templates/tools.d.ts.map +1 -1
- package/dist/templates/tools.js +2 -2
- package/dist/templates/tools.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -14,8 +14,8 @@ npm install -g @kleber.mottajr/juninho
|
|
|
14
14
|
# Navigate to your project
|
|
15
15
|
cd my-opencode-project
|
|
16
16
|
|
|
17
|
-
# Run setup — auto-detects project type
|
|
18
|
-
juninho setup
|
|
17
|
+
# Run setup — auto-detects project type and asks you to choose strong/medium/weak models
|
|
18
|
+
juninho setup
|
|
19
19
|
|
|
20
20
|
# Or specify type explicitly
|
|
21
21
|
juninho setup --type python
|
|
@@ -48,13 +48,13 @@ The framework orchestrates a multi-agent AI workflow for spec-driven development
|
|
|
48
48
|
|
|
49
49
|
### Specification & Planning
|
|
50
50
|
|
|
51
|
-
`/j.spec` conducts a 5-phase interview (Discovery → Requirements → Contract → Data → Review) with background codebase and external research. `/j.plan` runs 3 phases: Metis (intent analysis), Prometheus (interview + decomposition), and Momus (executability review). Both require explicit developer approval.
|
|
51
|
+
`/j.spec` conducts a 5-phase interview (Discovery → Requirements → Contract → Data → Review) with background codebase and external research. The approval step now uses a compact summary instead of dumping the full spec into the UI. `/j.plan` runs 3 phases: Metis (intent analysis), Prometheus (interview + decomposition), and Momus (executability review). Both require explicit developer approval.
|
|
52
52
|
|
|
53
53
|

|
|
54
54
|
|
|
55
55
|
### Implementation, Verification & Closeout
|
|
56
56
|
|
|
57
|
-
`/j.implement` executes wave-by-wave with git worktrees for parallelism. Each task follows the READ → ACT → COMMIT → VALIDATE loop. `@j.validator` gates every task against the spec. Pre-commit hooks run lint + related tests. `/j.check` runs repo-wide verification. `/j.unify` reconciles delivery, merges worktrees, updates docs, and creates a PR.
|
|
57
|
+
`/j.implement` executes wave-by-wave with git worktrees for parallelism. Each task follows the READ → ACT → COMMIT → VALIDATE loop. `@j.validator` gates every task against the spec. Pre-commit hooks run lint + related tests. `/j.check` now runs repo-wide verification plus a detailed PR-style review report, and that report can be fed back into `/j.implement` for correction passes. `/j.unify` reconciles delivery, merges worktrees, updates docs, and creates a PR.
|
|
58
58
|
|
|
59
59
|

|
|
60
60
|
|
|
@@ -81,7 +81,7 @@ The framework orchestrates a multi-agent AI workflow for spec-driven development
|
|
|
81
81
|
| `@j.implementer` | Medium | Wave execution, READ→ACT→COMMIT→VALIDATE |
|
|
82
82
|
| `@j.validator` | Medium | Spec-first validation, BLOCK/FIX/NOTE/APPROVED |
|
|
83
83
|
| `@j.plan-reviewer` | Medium | Executability gate for plans |
|
|
84
|
-
| `@j.reviewer` | Medium |
|
|
84
|
+
| `@j.reviewer` | Medium | Detailed PR-style review, also used by `/j.check` |
|
|
85
85
|
| `@j.unify` | Medium | Closeout: merge, docs, PR |
|
|
86
86
|
| `@j.explore` | Weak | Read-only codebase research |
|
|
87
87
|
| `@j.librarian` | Weak | External docs via Context7 + Context-Mode MCP |
|
|
@@ -111,18 +111,17 @@ Then patches `opencode.json` with agent definitions, Context7 MCP, and Context-M
|
|
|
111
111
|
| `/j.spec` | Feature specification via 5-phase interview |
|
|
112
112
|
| `/j.plan` | Strategic planning with 3-phase process |
|
|
113
113
|
| `/j.implement` | Execute plan wave-by-wave with validation |
|
|
114
|
-
| `/j.check` | Repo-wide verification
|
|
114
|
+
| `/j.check` | Repo-wide verification plus detailed review report |
|
|
115
115
|
| `/j.unify` | Closeout: merge worktrees, update docs, create PR |
|
|
116
116
|
| `/j.pr-review` | Advisory post-PR code review |
|
|
117
|
-
| `/j.start-work` | Begin work session with context loading |
|
|
118
|
-
| `/j.handoff` | End-of-session handoff document |
|
|
119
|
-
| `/j.status` | Show execution state and task progress |
|
|
120
|
-
| `/j.ulw-loop` | Ultra work loop (parallel implementation) |
|
|
121
|
-
| `/j.
|
|
122
|
-
| `/j.sync-docs` | Refresh domain/principles documentation |
|
|
123
|
-
| `/j.
|
|
124
|
-
| `/j.
|
|
125
|
-
| `/j.test` | Run tests related to staged files |
|
|
117
|
+
| `/j.start-work` | Begin work session with context loading |
|
|
118
|
+
| `/j.handoff` | End-of-session handoff document |
|
|
119
|
+
| `/j.status` | Show execution state and task progress |
|
|
120
|
+
| `/j.ulw-loop` | Ultra work loop (parallel implementation) |
|
|
121
|
+
| `/j.finish-setup` | Canonical bootstrap: AGENTS hierarchy, skills, and docs |
|
|
122
|
+
| `/j.sync-docs` | Refresh domain/principles documentation |
|
|
123
|
+
| `/j.lint` | Run structure lint on staged files |
|
|
124
|
+
| `/j.test` | Run tests related to staged files |
|
|
126
125
|
|
|
127
126
|
## Idempotency
|
|
128
127
|
|
package/dist/config.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Contains the user's chosen models for each tier (strong/medium/weak).
|
|
6
6
|
*/
|
|
7
7
|
import { type ModelTier } from "./models.js";
|
|
8
|
-
import type { ProjectType } from "./project-types.js";
|
|
8
|
+
import type { ProjectType, BuildTool } from "./project-types.js";
|
|
9
9
|
export interface JuninhoConfig {
|
|
10
10
|
/** Model ID for strong-tier agents (planner, spec-writer) */
|
|
11
11
|
strong: string;
|
|
@@ -17,7 +17,37 @@ export interface JuninhoConfig {
|
|
|
17
17
|
projectType?: ProjectType;
|
|
18
18
|
/** Whether the java project uses Kotlin */
|
|
19
19
|
isKotlin?: boolean;
|
|
20
|
+
/** Build tool for java projects */
|
|
21
|
+
buildTool?: BuildTool;
|
|
22
|
+
/** Runtime workflow settings for implement/unify/docs phases */
|
|
23
|
+
workflow?: {
|
|
24
|
+
automation?: {
|
|
25
|
+
nonInteractive?: boolean;
|
|
26
|
+
autoApproveArtifacts?: boolean;
|
|
27
|
+
};
|
|
28
|
+
implement?: {
|
|
29
|
+
preCommitScope?: string;
|
|
30
|
+
postImplementFullCheck?: boolean;
|
|
31
|
+
reenterImplementOnFullCheckFailure?: boolean;
|
|
32
|
+
};
|
|
33
|
+
unify?: {
|
|
34
|
+
enabled?: boolean;
|
|
35
|
+
updatePersistentContext?: boolean;
|
|
36
|
+
updateDomainDocs?: boolean;
|
|
37
|
+
updateDomainIndex?: boolean;
|
|
38
|
+
cleanupIntegratedTaskBranches?: boolean;
|
|
39
|
+
createPullRequest?: boolean;
|
|
40
|
+
createDeliveryPrBody?: boolean;
|
|
41
|
+
};
|
|
42
|
+
documentation?: {
|
|
43
|
+
preferAgentsMdForLocalRules?: boolean;
|
|
44
|
+
preferDomainDocsForBusinessBehavior?: boolean;
|
|
45
|
+
preferPrincipleDocsForCrossCuttingTech?: boolean;
|
|
46
|
+
syncMarkers?: boolean;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
20
49
|
}
|
|
50
|
+
export declare const DEFAULT_WORKFLOW_CONFIG: NonNullable<JuninhoConfig["workflow"]>;
|
|
21
51
|
/**
|
|
22
52
|
* Load saved configuration from .opencode/juninho-config.json.
|
|
23
53
|
* Returns null if no config file exists or it's malformed.
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEhE,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mCAAmC;IACnC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,gEAAgE;IAChE,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE;YACX,cAAc,CAAC,EAAE,OAAO,CAAA;YACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;SAC/B,CAAA;QACD,SAAS,CAAC,EAAE;YACV,cAAc,CAAC,EAAE,MAAM,CAAA;YACvB,sBAAsB,CAAC,EAAE,OAAO,CAAA;YAChC,kCAAkC,CAAC,EAAE,OAAO,CAAA;SAC7C,CAAA;QACD,KAAK,CAAC,EAAE;YACN,OAAO,CAAC,EAAE,OAAO,CAAA;YACjB,uBAAuB,CAAC,EAAE,OAAO,CAAA;YACjC,gBAAgB,CAAC,EAAE,OAAO,CAAA;YAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;YAC3B,6BAA6B,CAAC,EAAE,OAAO,CAAA;YACvC,iBAAiB,CAAC,EAAE,OAAO,CAAA;YAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;SAC/B,CAAA;QACD,aAAa,CAAC,EAAE;YACd,2BAA2B,CAAC,EAAE,OAAO,CAAA;YACrC,mCAAmC,CAAC,EAAE,OAAO,CAAA;YAC7C,sCAAsC,CAAC,EAAE,OAAO,CAAA;YAChD,WAAW,CAAC,EAAE,OAAO,CAAA;SACtB,CAAA;KACF,CAAA;CACF;AAID,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAyB1E,CAAA;AAgCD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAqBnE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAM1E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CA6B/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAM/E"}
|
package/dist/config.js
CHANGED
|
@@ -9,6 +9,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DEFAULT_WORKFLOW_CONFIG = void 0;
|
|
12
13
|
exports.loadConfig = loadConfig;
|
|
13
14
|
exports.saveConfig = saveConfig;
|
|
14
15
|
exports.resolveModels = resolveModels;
|
|
@@ -18,9 +19,60 @@ const path_1 = __importDefault(require("path"));
|
|
|
18
19
|
const models_js_1 = require("./models.js");
|
|
19
20
|
const discovery_js_1 = require("./discovery.js");
|
|
20
21
|
const CONFIG_FILENAME = "juninho-config.json";
|
|
22
|
+
exports.DEFAULT_WORKFLOW_CONFIG = {
|
|
23
|
+
automation: {
|
|
24
|
+
nonInteractive: false,
|
|
25
|
+
autoApproveArtifacts: false,
|
|
26
|
+
},
|
|
27
|
+
implement: {
|
|
28
|
+
preCommitScope: "related",
|
|
29
|
+
postImplementFullCheck: true,
|
|
30
|
+
reenterImplementOnFullCheckFailure: true,
|
|
31
|
+
},
|
|
32
|
+
unify: {
|
|
33
|
+
enabled: true,
|
|
34
|
+
updatePersistentContext: true,
|
|
35
|
+
updateDomainDocs: true,
|
|
36
|
+
updateDomainIndex: true,
|
|
37
|
+
cleanupIntegratedTaskBranches: true,
|
|
38
|
+
createPullRequest: true,
|
|
39
|
+
createDeliveryPrBody: true,
|
|
40
|
+
},
|
|
41
|
+
documentation: {
|
|
42
|
+
preferAgentsMdForLocalRules: true,
|
|
43
|
+
preferDomainDocsForBusinessBehavior: true,
|
|
44
|
+
preferPrincipleDocsForCrossCuttingTech: true,
|
|
45
|
+
syncMarkers: true,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
21
48
|
function configPath(projectDir) {
|
|
22
49
|
return path_1.default.join(projectDir, ".opencode", CONFIG_FILENAME);
|
|
23
50
|
}
|
|
51
|
+
function withWorkflowDefaults(config) {
|
|
52
|
+
return {
|
|
53
|
+
...config,
|
|
54
|
+
workflow: {
|
|
55
|
+
...exports.DEFAULT_WORKFLOW_CONFIG,
|
|
56
|
+
...config.workflow,
|
|
57
|
+
automation: {
|
|
58
|
+
...exports.DEFAULT_WORKFLOW_CONFIG.automation,
|
|
59
|
+
...config.workflow?.automation,
|
|
60
|
+
},
|
|
61
|
+
implement: {
|
|
62
|
+
...exports.DEFAULT_WORKFLOW_CONFIG.implement,
|
|
63
|
+
...config.workflow?.implement,
|
|
64
|
+
},
|
|
65
|
+
unify: {
|
|
66
|
+
...exports.DEFAULT_WORKFLOW_CONFIG.unify,
|
|
67
|
+
...config.workflow?.unify,
|
|
68
|
+
},
|
|
69
|
+
documentation: {
|
|
70
|
+
...exports.DEFAULT_WORKFLOW_CONFIG.documentation,
|
|
71
|
+
...config.workflow?.documentation,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
24
76
|
/**
|
|
25
77
|
* Load saved configuration from .opencode/juninho-config.json.
|
|
26
78
|
* Returns null if no config file exists or it's malformed.
|
|
@@ -32,13 +84,15 @@ function loadConfig(projectDir) {
|
|
|
32
84
|
try {
|
|
33
85
|
const data = JSON.parse((0, fs_1.readFileSync)(p, "utf-8"));
|
|
34
86
|
if (data.strong && data.medium && data.weak) {
|
|
35
|
-
return {
|
|
87
|
+
return withWorkflowDefaults({
|
|
36
88
|
strong: data.strong,
|
|
37
89
|
medium: data.medium,
|
|
38
90
|
weak: data.weak,
|
|
39
91
|
projectType: data.projectType,
|
|
40
92
|
isKotlin: data.isKotlin,
|
|
41
|
-
|
|
93
|
+
buildTool: data.buildTool,
|
|
94
|
+
workflow: data.workflow,
|
|
95
|
+
});
|
|
42
96
|
}
|
|
43
97
|
return null;
|
|
44
98
|
}
|
|
@@ -55,7 +109,7 @@ function saveConfig(projectDir, config) {
|
|
|
55
109
|
if (!(0, fs_1.existsSync)(dir)) {
|
|
56
110
|
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
57
111
|
}
|
|
58
|
-
(0, fs_1.writeFileSync)(configPath(projectDir), JSON.stringify(config, null, 2) + "\n");
|
|
112
|
+
(0, fs_1.writeFileSync)(configPath(projectDir), JSON.stringify(withWorkflowDefaults(config), null, 2) + "\n");
|
|
59
113
|
}
|
|
60
114
|
/**
|
|
61
115
|
* Resolve models for the given project:
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/installer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,WAAW,EAQjB,MAAM,oBAAoB,CAAA;AAO3B,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AA6TD,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsH5F"}
|
package/dist/installer.js
CHANGED
|
@@ -75,51 +75,61 @@ async function interactiveModelSelection(rl, existing) {
|
|
|
75
75
|
console.log(" Outros: " + grouped.unknown.join(", "));
|
|
76
76
|
console.log("");
|
|
77
77
|
const config = {
|
|
78
|
-
strong: models_js_1.DEFAULT_MODELS.strong,
|
|
79
|
-
medium: models_js_1.DEFAULT_MODELS.medium,
|
|
80
|
-
weak: models_js_1.DEFAULT_MODELS.weak,
|
|
78
|
+
strong: existing?.strong ?? models_js_1.DEFAULT_MODELS.strong,
|
|
79
|
+
medium: existing?.medium ?? models_js_1.DEFAULT_MODELS.medium,
|
|
80
|
+
weak: existing?.weak ?? models_js_1.DEFAULT_MODELS.weak,
|
|
81
81
|
};
|
|
82
82
|
for (const tier of ["strong", "medium", "weak"]) {
|
|
83
83
|
const tierModels = grouped[tier];
|
|
84
84
|
const defaultBest = best[tier];
|
|
85
85
|
const currentValue = existing?.[tier];
|
|
86
|
+
const fallbackOptions = [...grouped.strong, ...grouped.medium, ...grouped.weak, ...grouped.unknown];
|
|
87
|
+
const candidateOptions = Array.from(new Set([
|
|
88
|
+
...tierModels,
|
|
89
|
+
...(tierModels.length === 0 ? fallbackOptions : []),
|
|
90
|
+
currentValue,
|
|
91
|
+
defaultBest,
|
|
92
|
+
config[tier],
|
|
93
|
+
].filter((value) => Boolean(value))));
|
|
94
|
+
const defaultValue = currentValue ?? defaultBest ?? config[tier];
|
|
86
95
|
console.log(`─── ${TIER_LABELS[tier]} ───`);
|
|
87
96
|
console.log(` Usado por: ${TIER_AGENTS[tier].join(", ")}`);
|
|
88
97
|
console.log(` Ideal: ${TIER_KNOWN_DEFAULTS[tier]}`);
|
|
89
|
-
if (
|
|
90
|
-
console.log(" ⚠ Nenhum modelo
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const marker = (currentValue === m || (!currentValue && m === defaultBest)) ? " ← recomendado" : "";
|
|
98
|
-
console.log(` ${i + 1}) ${m}${marker}`);
|
|
99
|
-
});
|
|
100
|
-
const response = await ask(rl, ` Escolha (1-${allOptions.length}) ou Enter para '${defaultBest ?? models_js_1.DEFAULT_MODELS[tier]}': `);
|
|
101
|
-
const idx = parseInt(response, 10);
|
|
102
|
-
config[tier] = (idx >= 1 && idx <= allOptions.length) ? allOptions[idx - 1] : (defaultBest ?? models_js_1.DEFAULT_MODELS[tier]);
|
|
98
|
+
if (candidateOptions.length === 0) {
|
|
99
|
+
console.log(" ⚠ Nenhum modelo detectado para seleção.");
|
|
100
|
+
const manual = await ask(rl, ` Digite o model ID ou Enter para padrão (${models_js_1.DEFAULT_MODELS[tier]}): `);
|
|
101
|
+
config[tier] = manual || models_js_1.DEFAULT_MODELS[tier];
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
if (tierModels.length === 0) {
|
|
105
|
+
console.log(" ⚠ Nenhum modelo deste tier detectado. Escolha explícita obrigatória entre os fallbacks abaixo.");
|
|
103
106
|
}
|
|
104
107
|
else {
|
|
105
|
-
|
|
106
|
-
config[tier] = manual || models_js_1.DEFAULT_MODELS[tier];
|
|
108
|
+
console.log(" Escolha explícita obrigatória para este tier:");
|
|
107
109
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
console.log(` ${
|
|
110
|
+
candidateOptions.forEach((model, index) => {
|
|
111
|
+
const markers = [];
|
|
112
|
+
if (model === currentValue)
|
|
113
|
+
markers.push("atual");
|
|
114
|
+
if (model === defaultBest)
|
|
115
|
+
markers.push("recomendado");
|
|
116
|
+
if (!tierModels.includes(model))
|
|
117
|
+
markers.push("fallback");
|
|
118
|
+
const suffix = markers.length > 0 ? ` ← ${markers.join(", ")}` : "";
|
|
119
|
+
console.log(` ${index + 1}) ${model}${suffix}`);
|
|
118
120
|
});
|
|
119
|
-
const defaultIdx =
|
|
120
|
-
const response = await ask(rl, ` Escolha (1-${
|
|
121
|
+
const defaultIdx = Math.max(1, candidateOptions.indexOf(defaultValue) + 1);
|
|
122
|
+
const response = await ask(rl, ` Escolha (1-${candidateOptions.length}), digite um model ID, ou Enter para ${defaultIdx}: `);
|
|
121
123
|
const idx = parseInt(response, 10);
|
|
122
|
-
|
|
124
|
+
if (Number.isInteger(idx) && idx >= 1 && idx <= candidateOptions.length) {
|
|
125
|
+
config[tier] = candidateOptions[idx - 1];
|
|
126
|
+
}
|
|
127
|
+
else if (response) {
|
|
128
|
+
config[tier] = response;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
config[tier] = candidateOptions[defaultIdx - 1] ?? models_js_1.DEFAULT_MODELS[tier];
|
|
132
|
+
}
|
|
123
133
|
}
|
|
124
134
|
console.log(` ✓ ${TIER_LABELS[tier]}: ${config[tier]}`);
|
|
125
135
|
console.log("");
|
|
@@ -146,6 +156,9 @@ async function manualEntry(rl, existing) {
|
|
|
146
156
|
/* ─── Resolve models (auto or interactive) ─── */
|
|
147
157
|
async function resolveModelsForSetup(projectDir, rl) {
|
|
148
158
|
const saved = (0, config_js_1.loadConfig)(projectDir);
|
|
159
|
+
if (process.stdin.isTTY) {
|
|
160
|
+
return interactiveModelSelection(rl, saved);
|
|
161
|
+
}
|
|
149
162
|
if (saved)
|
|
150
163
|
return saved;
|
|
151
164
|
const available = (0, discovery_js_1.discoverAvailableModels)();
|
|
@@ -155,10 +168,7 @@ async function resolveModelsForSetup(projectDir, rl) {
|
|
|
155
168
|
return { strong: best.strong, medium: best.medium, weak: best.weak };
|
|
156
169
|
}
|
|
157
170
|
}
|
|
158
|
-
|
|
159
|
-
return { strong: models_js_1.DEFAULT_MODELS.strong, medium: models_js_1.DEFAULT_MODELS.medium, weak: models_js_1.DEFAULT_MODELS.weak };
|
|
160
|
-
}
|
|
161
|
-
return interactiveModelSelection(rl, null);
|
|
171
|
+
return { strong: models_js_1.DEFAULT_MODELS.strong, medium: models_js_1.DEFAULT_MODELS.medium, weak: models_js_1.DEFAULT_MODELS.weak };
|
|
162
172
|
}
|
|
163
173
|
/* ─── Resolve project type ─── */
|
|
164
174
|
const TYPE_LABELS = {
|
|
@@ -223,7 +233,7 @@ async function interactiveTypeSelection(rl, projectDir) {
|
|
|
223
233
|
return { projectType, isKotlin };
|
|
224
234
|
}
|
|
225
235
|
/* ─── Lint detection and suggestion ─── */
|
|
226
|
-
async function handleLintDetection(projectDir, projectType, isKotlin, rl) {
|
|
236
|
+
async function handleLintDetection(projectDir, projectType, isKotlin, buildTool, rl) {
|
|
227
237
|
const result = (0, lint_detection_js_1.detectLintTool)(projectDir, projectType, isKotlin);
|
|
228
238
|
if (result.detected) {
|
|
229
239
|
console.log(`[juninho] ✓ Linter detectado: ${result.detected}${result.configFile ? ` (${result.configFile})` : ""}`);
|
|
@@ -232,7 +242,7 @@ async function handleLintDetection(projectDir, projectType, isKotlin, rl) {
|
|
|
232
242
|
// No linter detected — suggest if interactive
|
|
233
243
|
if (!process.stdin.isTTY)
|
|
234
244
|
return undefined;
|
|
235
|
-
const suggestions = (0, lint_detection_js_1.suggestLintTools)(projectType, isKotlin);
|
|
245
|
+
const suggestions = (0, lint_detection_js_1.suggestLintTools)(projectType, isKotlin, buildTool);
|
|
236
246
|
if (suggestions.length === 0)
|
|
237
247
|
return undefined;
|
|
238
248
|
const typeLabel = isKotlin ? "Kotlin" : TYPE_LABELS[projectType];
|
|
@@ -285,12 +295,13 @@ async function runSetup(projectDir, options = {}) {
|
|
|
285
295
|
// Step 0.5: Resolve project type
|
|
286
296
|
const savedConfig = (0, config_js_1.loadConfig)(projectDir);
|
|
287
297
|
const { projectType, isKotlin } = await resolveProjectType(projectDir, rl, options, savedConfig);
|
|
298
|
+
const buildTool = projectType === "java" ? (0, project_types_js_1.detectBuildTool)(projectDir) : undefined;
|
|
288
299
|
const typeLabel = isKotlin ? "Java/Kotlin" : TYPE_LABELS[projectType];
|
|
289
|
-
console.log(`[juninho] ✓ Project type: ${typeLabel}`);
|
|
300
|
+
console.log(`[juninho] ✓ Project type: ${typeLabel}${buildTool ? ` (${buildTool})` : ""}`);
|
|
290
301
|
// Step 0.7: Detect/suggest lint tool
|
|
291
|
-
const lintTool = await handleLintDetection(projectDir, projectType, isKotlin, rl);
|
|
302
|
+
const lintTool = await handleLintDetection(projectDir, projectType, isKotlin, buildTool, rl);
|
|
292
303
|
// Step 1: Create directory structure
|
|
293
|
-
const config = (0, project_types_js_1.getEffectiveConfig)(projectType, isKotlin);
|
|
304
|
+
const config = (0, project_types_js_1.getEffectiveConfig)(projectType, isKotlin, buildTool);
|
|
294
305
|
createDirectories(projectDir, config.skills);
|
|
295
306
|
console.log("[juninho] ✓ Directories created");
|
|
296
307
|
// Step 2: Save config (models + project type)
|
|
@@ -298,11 +309,12 @@ async function runSetup(projectDir, options = {}) {
|
|
|
298
309
|
...models,
|
|
299
310
|
projectType,
|
|
300
311
|
isKotlin: isKotlin || undefined,
|
|
312
|
+
buildTool,
|
|
301
313
|
};
|
|
302
314
|
(0, config_js_1.saveConfig)(projectDir, fullConfig);
|
|
303
315
|
console.log("[juninho] ✓ Config saved");
|
|
304
316
|
// Step 3: Write agents
|
|
305
|
-
(0, agents_js_1.writeAgents)(projectDir, models, projectType, isKotlin);
|
|
317
|
+
(0, agents_js_1.writeAgents)(projectDir, models, projectType, isKotlin, buildTool);
|
|
306
318
|
console.log("[juninho] ✓ Agents created (9)");
|
|
307
319
|
// Step 4: Write skills (filtered by project type)
|
|
308
320
|
(0, skills_js_1.writeSkills)(projectDir, projectType, isKotlin);
|
|
@@ -311,14 +323,14 @@ async function runSetup(projectDir, options = {}) {
|
|
|
311
323
|
(0, plugins_js_1.writePlugins)(projectDir, projectType, isKotlin);
|
|
312
324
|
console.log("[juninho] ✓ Plugins created (12)");
|
|
313
325
|
// Step 6: Write tools
|
|
314
|
-
(0, tools_js_1.writeTools)(projectDir, projectType, isKotlin);
|
|
326
|
+
(0, tools_js_1.writeTools)(projectDir, projectType, isKotlin, buildTool);
|
|
315
327
|
console.log("[juninho] ✓ Tools created (4)");
|
|
316
328
|
// Step 7: Write support scripts
|
|
317
329
|
(0, support_scripts_js_1.writeSupportScripts)(projectDir, projectType, isKotlin, lintTool);
|
|
318
330
|
console.log("[juninho] ✓ Support scripts created (4)");
|
|
319
331
|
// Step 8: Write commands
|
|
320
332
|
(0, commands_js_1.writeCommands)(projectDir);
|
|
321
|
-
console.log("[juninho] ✓ Commands created (
|
|
333
|
+
console.log("[juninho] ✓ Commands created (14)");
|
|
322
334
|
// Step 9: Write state files
|
|
323
335
|
(0, state_js_1.writeState)(projectDir);
|
|
324
336
|
console.log("[juninho] ✓ State files created");
|
|
@@ -343,7 +355,7 @@ async function runSetup(projectDir, options = {}) {
|
|
|
343
355
|
if (finishResponse.toLowerCase() !== "n") {
|
|
344
356
|
console.log("[juninho] Executando /j.finish-setup via opencode...");
|
|
345
357
|
try {
|
|
346
|
-
(0, child_process_1.execSync)('opencode
|
|
358
|
+
(0, child_process_1.execSync)('opencode run "/j.finish-setup"', {
|
|
347
359
|
cwd: projectDir,
|
|
348
360
|
stdio: "inherit",
|
|
349
361
|
timeout: 600_000, // 10 minutes
|
|
@@ -414,9 +426,11 @@ function createDirectories(projectDir, skills) {
|
|
|
414
426
|
".opencode/scripts",
|
|
415
427
|
".opencode/commands",
|
|
416
428
|
".opencode/state",
|
|
429
|
+
".opencode/templates",
|
|
417
430
|
"docs",
|
|
418
431
|
"docs/principles",
|
|
419
432
|
"docs/domain",
|
|
433
|
+
"docs/reports",
|
|
420
434
|
"docs/specs",
|
|
421
435
|
"worktrees",
|
|
422
436
|
];
|
package/dist/installer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":";;;;;AAqWA,4BAsHC;AA3dD,2BAAkF;AAClF,uCAA0C;AAC1C,iDAAwC;AACxC,gDAAuB;AACvB,qDAAmD;AACnD,qDAAmD;AACnD,uDAAqD;AACrD,mDAAiD;AACjD,yDAAuD;AACvD,mDAAiD;AACjD,uEAAoE;AACpE,iDAAkE;AAClE,2CAAwE;AACxE,iDAAwD;AACxD,2CAKoB;AAEpB,yDAS2B;AAC3B,2DAI4B;AAO5B,6BAA6B;AAE7B,SAAS,GAAG,CAAC,EAAsC,EAAE,QAAgB;IACnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,yCAAyC;AAEzC,MAAM,WAAW,GAA8B;IAC7C,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,cAAc;CACrB,CAAA;AAED,MAAM,WAAW,GAAgC;IAC/C,MAAM,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,MAAM,EAAE,CAAC,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC;IACpF,IAAI,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;CACnC,CAAA;AAED,MAAM,mBAAmB,GAA8B;IACrD,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,mBAAmB;IAC3B,IAAI,EAAE,kBAAkB;CACzB,CAAA;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB,CACtC,EAAsC,EACtC,QAA8B;IAE9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAA;IAChF,MAAM,SAAS,GAAG,IAAA,sCAAuB,GAAE,CAAA;IAE3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;QACzE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAA;QACxF,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;QACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAA;QAChF,OAAO,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,MAAM,0BAA0B,CAAC,CAAA;IACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,OAAO,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,IAAA,4BAAgB,EAAC,SAAS,CAAC,CAAA;IAExC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACpF,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACpF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAAI,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAClF,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM,MAAM,GAAkB;QAC5B,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,0BAAc,CAAC,MAAM;QACjD,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,0BAAc,CAAC,MAAM;QACjD,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,0BAAc,CAAC,IAAI;KAC5C,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAgB,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,eAAe,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QACnG,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;YAC1C,GAAG,UAAU;YACb,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,YAAY;YACZ,WAAW;YACX,MAAM,CAAC,IAAI,CAAC;SACb,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,YAAY,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;QAEhE,OAAO,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEpD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;YACxD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,6CAA6C,0BAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,0BAAc,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAA;YACjH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;YAChE,CAAC;YAED,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,MAAM,OAAO,GAAa,EAAE,CAAA;gBAC5B,IAAI,KAAK,KAAK,YAAY;oBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACjD,IAAI,KAAK,KAAK,WAAW;oBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBACtD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBACnE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,KAAK,GAAG,MAAM,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gBAAgB,gBAAgB,CAAC,MAAM,wCAAwC,UAAU,IAAI,CAAC,CAAA;YAC7H,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAElC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACxE,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC1C,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,0BAAc,CAAC,IAAI,CAAC,CAAA;YACzE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,EAAsC,EACtC,QAA8B;IAE9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAA;IAC9E,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;IAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM,aAAa,GAAG,QAAQ,EAAE,MAAM,IAAI,0BAAc,CAAC,MAAM,CAAA;IAC/D,MAAM,aAAa,GAAG,QAAQ,EAAE,MAAM,IAAI,0BAAc,CAAC,MAAM,CAAA;IAC/D,MAAM,WAAW,GAAI,QAAQ,EAAE,IAAI,IAAM,0BAAc,CAAC,IAAI,CAAA;IAE5D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,mBAAmB,aAAa,KAAK,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,mBAAmB,aAAa,KAAK,CAAC,CAAA;IACnE,MAAM,IAAI,GAAK,MAAM,GAAG,CAAC,EAAE,EAAE,mBAAmB,WAAW,KAAK,CAAC,CAAA;IAEjE,OAAO;QACL,MAAM,EAAE,MAAM,IAAI,aAAa;QAC/B,MAAM,EAAE,MAAM,IAAI,aAAa;QAC/B,IAAI,EAAI,IAAI,IAAM,WAAW;KAC9B,CAAA;AACH,CAAC;AAED,kDAAkD;AAElD,KAAK,UAAU,qBAAqB,CAClC,UAAkB,EAClB,EAAsC;IAEtC,MAAM,KAAK,GAAG,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAA;IAEpC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,yBAAyB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IAEvB,MAAM,SAAS,GAAG,IAAA,sCAAuB,GAAE,CAAA;IAC3C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAA,4BAAgB,EAAC,SAAS,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QACtE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,0BAAc,CAAC,MAAM,EAAE,MAAM,EAAE,0BAAc,CAAC,MAAM,EAAE,IAAI,EAAE,0BAAc,CAAC,IAAI,EAAE,CAAA;AACpG,CAAC;AAED,kCAAkC;AAElC,MAAM,WAAW,GAAgC;IAC/C,aAAa,EAAE,mBAAmB;IAClC,cAAc,EAAE,mBAAmB;IACnC,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,SAAS;CACrB,CAAA;AAED,KAAK,UAAU,kBAAkB,CAC/B,UAAkB,EAClB,EAAsC,EACtC,OAAqB,EACrB,WAAiC;IAEjC,+BAA+B;IAC/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,IAAA,+BAAY,EAAC,UAAU,CAAC,CAAA;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;QAC1D,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChD,CAAC;IAED,mCAAmC;IACnC,IAAI,WAAW,EAAE,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO;YACL,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,KAAK;SACxC,CAAA;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,QAAQ,GAAG,IAAA,oCAAiB,EAAC,UAAU,CAAC,CAAA;IAE9C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,QAAQ,KAAK,MAAM,IAAI,IAAA,+BAAY,EAAC,UAAU,CAAC,CAAA;QAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,wCAAwC,KAAK,qBAAqB,CAAC,CAAA;YAClG,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACnC,OAAO,wBAAwB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;IAC5C,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;QACvE,OAAO,wBAAwB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AACpD,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,EAAsC,EACtC,UAAkB;IAElB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;IACrD,sCAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gBAAgB,sCAAmB,CAAC,MAAM,KAAK,CAAC,CAAA;IAC/E,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,sCAAmB,CAAC,MAAM,CAAC;QACjE,CAAC,CAAC,sCAAmB,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,QAAQ,GAAG,WAAW,KAAK,MAAM,IAAI,IAAA,+BAAY,EAAC,UAAU,CAAC,CAAA;IACnE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;AAClC,CAAC;AAED,2CAA2C;AAE3C,KAAK,UAAU,mBAAmB,CAChC,UAAkB,EAClB,WAAwB,EACxB,QAAiB,EACjB,SAAgC,EAChC,EAAsC;IAEtC,MAAM,MAAM,GAAG,IAAA,kCAAc,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEhE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACpH,OAAO,MAAM,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAE1C,MAAM,WAAW,GAAG,IAAA,oCAAgB,EAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IACtE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAE9C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,8DAA8D,SAAS,GAAG,CAAC,CAAA;IACvF,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gBAAgB,WAAW,CAAC,MAAM,GAAG,CAAC,wBAAwB,CAAC,CAAA;IAC9F,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAElC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA;YACrD,IAAI,CAAC;gBACH,IAAA,wBAAQ,EAAC,MAAM,CAAC,OAAO,EAAE;oBACvB,GAAG,EAAE,UAAU;oBACf,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAA;gBACF,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,YAAY,CAAC,CAAA;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,IAAI,yBAAyB,CAAC,CAAA;YACpF,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,wBAAwB;AAEjB,KAAK,UAAU,QAAQ,CAAC,UAAkB,EAAE,UAAwB,EAAE;IAC3E,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAA;IACvE,MAAM,WAAW,GAAG,IAAA,eAAU,EAAC,MAAM,CAAC,CAAA;IAEtC,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;QAC/E,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAA;IAE9C,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAE5E,IAAI,CAAC;QACH,uDAAuD;QACvD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACnD,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACnD,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAEjD,iCAAiC;QACjC,MAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAA;QAC1C,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAChG,MAAM,SAAS,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAClF,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACrE,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAE1F,qCAAqC;QACrC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;QAE5F,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAA,qCAAkB,EAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QACnE,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;QAE9C,8CAA8C;QAC9C,MAAM,UAAU,GAAkB;YAChC,GAAG,MAAM;YACT,WAAW;YACX,QAAQ,EAAE,QAAQ,IAAI,SAAS;YAC/B,SAAS;SACV,CAAA;QACD,IAAA,sBAAU,EAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;QAEvC,uBAAuB;QACvB,IAAA,uBAAW,EAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAE7C,kDAAkD;QAClD,IAAA,uBAAW,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAEnE,wBAAwB;QACxB,IAAA,yBAAY,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC/C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAE/C,sBAAsB;QACtB,IAAA,qBAAU,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;QAE5C,gCAAgC;QAChC,IAAA,wCAAmB,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QAEtD,yBAAyB;QACzB,IAAA,2BAAa,EAAC,UAAU,CAAC,CAAA;QACzB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAEhD,4BAA4B;QAC5B,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAA;QACtB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;QAE9C,sDAAsD;QACtD,IAAA,mBAAS,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAEhD,+BAA+B;QAC/B,IAAA,2BAAiB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAEhD,mCAAmC;QACnC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAE9B,wBAAwB;QACxB,IAAA,kBAAa,EAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QAE/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;QAC5D,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAA;QACrF,OAAO,CAAC,GAAG,CAAC,6HAA6H,CAAC,CAAA;QAE1I,iCAAiC;QACjC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,8FAA8F,CAAC,CAAA;YACpI,IAAI,cAAc,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;gBACnE,IAAI,CAAC;oBACH,IAAA,wBAAQ,EAAC,gCAAgC,EAAE;wBACzC,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,OAAO,EAAE,aAAa;qBAChC,CAAC,CAAA;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAA;gBAChG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAA;YACtG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAA;QACjH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAE1D,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAErD,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAA;YAC/F,OAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG;;;;;;;;;;;;;;CAcrB,CAAA;IAEC,IAAA,kBAAa,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAEpC,IAAI,CAAC;QACH,IAAA,cAAS,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC1B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,0GAA0G,CAAC,CAAA;IACzH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,MAAgB;IAC7D,MAAM,IAAI,GAAG;QACX,WAAW;QACX,kBAAkB;QAClB,kBAAkB;QAClB,8DAA8D;QAC9D,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC7C,mBAAmB;QACnB,iBAAiB;QACjB,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;QACjB,qBAAqB;QACrB,MAAM;QACN,iBAAiB;QACjB,aAAa;QACb,cAAc;QACd,YAAY;QACZ,WAAW;KACZ,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,IAAA,cAAS,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/lint-detection.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* when none is found. For java projects, detects Kotlin to recommend
|
|
6
6
|
* ktlint/detekt instead of Checkstyle.
|
|
7
7
|
*/
|
|
8
|
-
import type { ProjectType } from "./project-types.js";
|
|
8
|
+
import type { ProjectType, BuildTool } from "./project-types.js";
|
|
9
9
|
export interface LintDetectionResult {
|
|
10
10
|
detected: string | null;
|
|
11
11
|
configFile?: string;
|
|
@@ -22,5 +22,5 @@ export declare function detectLintTool(projectDir: string, projectType: ProjectT
|
|
|
22
22
|
/**
|
|
23
23
|
* Suggest lint tools appropriate for the project type.
|
|
24
24
|
*/
|
|
25
|
-
export declare function suggestLintTools(projectType: ProjectType, isKotlin: boolean): LintSuggestion[];
|
|
25
|
+
export declare function suggestLintTools(projectType: ProjectType, isKotlin: boolean, buildTool?: BuildTool): LintSuggestion[];
|
|
26
26
|
//# sourceMappingURL=lint-detection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-detection.d.ts","sourceRoot":"","sources":["../src/lint-detection.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"lint-detection.d.ts","sourceRoot":"","sources":["../src/lint-detection.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEhE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,OAAO,GAChB,mBAAmB,CAgBrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,OAAO,EACjB,SAAS,CAAC,EAAE,SAAS,GACpB,cAAc,EAAE,CA6DlB"}
|
package/dist/lint-detection.js
CHANGED
|
@@ -37,12 +37,26 @@ function detectLintTool(projectDir, projectType, isKotlin) {
|
|
|
37
37
|
/**
|
|
38
38
|
* Suggest lint tools appropriate for the project type.
|
|
39
39
|
*/
|
|
40
|
-
function suggestLintTools(projectType, isKotlin) {
|
|
40
|
+
function suggestLintTools(projectType, isKotlin, buildTool) {
|
|
41
41
|
if (projectType === "java" && isKotlin) {
|
|
42
|
+
if (buildTool === "maven") {
|
|
43
|
+
return [
|
|
44
|
+
{
|
|
45
|
+
name: "Spotless (Maven plugin)",
|
|
46
|
+
install: 'echo "Add com.diffplug.spotless:spotless-maven-plugin to pom.xml plugins, then run: ./mvnw spotless:apply"',
|
|
47
|
+
command: "./mvnw spotless:check",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "ktlint (Maven plugin)",
|
|
51
|
+
install: 'echo "Add com.github.gantsign.maven:ktlint-maven-plugin to pom.xml plugins"',
|
|
52
|
+
command: "./mvnw ktlint:check",
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
}
|
|
42
56
|
return [
|
|
43
57
|
{
|
|
44
58
|
name: "ktlint (via Gradle plugin)",
|
|
45
|
-
install: '
|
|
59
|
+
install: 'echo "Add id(\\"org.jlleitschuh.gradle.ktlint\\") to plugins in build.gradle.kts, then run: ./gradlew ktlintApplyToIdea"',
|
|
46
60
|
command: "./gradlew ktlintCheck",
|
|
47
61
|
},
|
|
48
62
|
{
|
|
@@ -70,9 +84,15 @@ function suggestLintTools(projectType, isKotlin) {
|
|
|
70
84
|
{ name: "go vet (built-in)", install: "", command: "go vet ./..." },
|
|
71
85
|
];
|
|
72
86
|
case "java":
|
|
87
|
+
if (buildTool === "maven") {
|
|
88
|
+
return [
|
|
89
|
+
{ name: "Spotless (Maven plugin)", install: 'echo "Add com.diffplug.spotless:spotless-maven-plugin to pom.xml plugins"', command: "./mvnw spotless:check" },
|
|
90
|
+
{ name: "Checkstyle (Maven plugin)", install: 'echo "Add maven-checkstyle-plugin to pom.xml plugins"', command: "./mvnw checkstyle:check" },
|
|
91
|
+
];
|
|
92
|
+
}
|
|
73
93
|
return [
|
|
74
|
-
{ name: "Checkstyle (Gradle
|
|
75
|
-
{ name: "SpotBugs (Gradle
|
|
94
|
+
{ name: "Checkstyle (Gradle plugin)", install: 'echo "Add checkstyle plugin to build.gradle"', command: "./gradlew checkstyleMain" },
|
|
95
|
+
{ name: "SpotBugs (Gradle plugin)", install: 'echo "Add spotbugs plugin to build.gradle"', command: "./gradlew spotbugsMain" },
|
|
76
96
|
];
|
|
77
97
|
case "generic":
|
|
78
98
|
return [];
|
|
@@ -139,12 +159,15 @@ function detectGoLint(projectDir) {
|
|
|
139
159
|
return { detected: null };
|
|
140
160
|
}
|
|
141
161
|
function detectJavaLint(projectDir) {
|
|
142
|
-
// Check for
|
|
162
|
+
// Check for lint tools in build scripts
|
|
143
163
|
for (const buildFile of ["build.gradle", "build.gradle.kts", "pom.xml"]) {
|
|
144
164
|
const p = path_1.default.join(projectDir, buildFile);
|
|
145
165
|
if ((0, fs_1.existsSync)(p)) {
|
|
146
166
|
try {
|
|
147
167
|
const content = (0, fs_1.readFileSync)(p, "utf-8");
|
|
168
|
+
if (content.includes("spotless")) {
|
|
169
|
+
return { detected: "spotless", configFile: buildFile };
|
|
170
|
+
}
|
|
148
171
|
if (content.includes("checkstyle")) {
|
|
149
172
|
return { detected: "checkstyle", configFile: buildFile };
|
|
150
173
|
}
|
|
@@ -160,12 +183,15 @@ function detectJavaLint(projectDir) {
|
|
|
160
183
|
return { detected: null };
|
|
161
184
|
}
|
|
162
185
|
function detectKotlinLint(projectDir) {
|
|
163
|
-
// Check for
|
|
164
|
-
for (const buildFile of ["build.gradle.kts", "build.gradle"]) {
|
|
186
|
+
// Check for lint tools in build scripts (Gradle and Maven)
|
|
187
|
+
for (const buildFile of ["build.gradle.kts", "build.gradle", "pom.xml"]) {
|
|
165
188
|
const p = path_1.default.join(projectDir, buildFile);
|
|
166
189
|
if ((0, fs_1.existsSync)(p)) {
|
|
167
190
|
try {
|
|
168
191
|
const content = (0, fs_1.readFileSync)(p, "utf-8");
|
|
192
|
+
if (content.includes("spotless")) {
|
|
193
|
+
return { detected: "spotless", configFile: buildFile };
|
|
194
|
+
}
|
|
169
195
|
if (content.includes("ktlint")) {
|
|
170
196
|
return { detected: "ktlint", configFile: buildFile };
|
|
171
197
|
}
|