@pyreon/cli 0.5.5 → 0.5.7

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.
@@ -1,259 +1,35 @@
1
- #!/usr/bin/env node
2
- import * as fs from "node:fs";
3
- import * as path from "node:path";
4
- import { detectReactPatterns, generateContext as generateContext$1, hasReactPatterns, migrateReactCode } from "@pyreon/compiler";
1
+ import { ProjectContext, ProjectContext as ProjectContext$1 } from "@pyreon/compiler";
5
2
 
6
- //#region src/context.ts
7
- /**
8
- * pyreon context — generates .pyreon/context.json for AI tool consumption
9
- *
10
- * Delegates scanning to @pyreon/compiler's unified project scanner,
11
- * then writes the result to disk and ensures .pyreon/ is gitignored.
12
- */
13
- async function generateContext(options) {
14
- const context = generateContext$1(options.cwd);
15
- const outDir = options.outPath ? path.dirname(options.outPath) : path.join(options.cwd, ".pyreon");
16
- const outFile = options.outPath ?? path.join(outDir, "context.json");
17
- if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, {
18
- recursive: true
19
- });
20
- fs.writeFileSync(outFile, JSON.stringify(context, null, 2), "utf-8");
21
- ensureGitignore(options.cwd);
22
- const relOut = path.relative(options.cwd, outFile);
23
- console.log(` ✓ Generated ${relOut} (${context.components.length} components, ${context.routes.length} routes, ${context.islands.length} islands)`);
24
- return context;
25
- }
26
- function ensureGitignore(cwd) {
27
- const gitignorePath = path.join(cwd, ".gitignore");
28
- try {
29
- const content = fs.existsSync(gitignorePath) ? fs.readFileSync(gitignorePath, "utf-8") : "";
30
- if (!content.includes(".pyreon/") && !content.includes(".pyreon\n")) {
31
- const addition = content.endsWith("\n") ? ".pyreon/\n" : "\n.pyreon/\n";
32
- fs.appendFileSync(gitignorePath, addition);
33
- }
34
- } catch {}
35
- }
36
-
37
- //#endregion
38
- //#region src/doctor.ts
39
- /**
40
- * pyreon doctor — project-wide health check for AI-friendly development
41
- *
42
- * Runs a pipeline of checks:
43
- * 1. React pattern detection (imports, hooks, JSX attributes)
44
- * 2. Import source validation (@pyreon/* vs react/vue)
45
- * 3. Common Pyreon mistakes (signal without call, key vs by, etc.)
46
- *
47
- * Output modes:
48
- * - Human-readable (default): colored terminal output
49
- * - JSON (--json): structured output for AI agent consumption
50
- * - CI (--ci): exits with code 1 on any error
51
- *
52
- * Fix mode (--fix): auto-applies safe transforms via migrateReactCode
53
- */
54
- async function doctor(options) {
55
- const startTime = performance.now();
56
- const result = runChecks(collectSourceFiles(options.cwd), options);
57
- const elapsed = Math.round(performance.now() - startTime);
58
- if (options.json) printJson(result);else printHuman(result, elapsed);
59
- return result.summary.totalErrors;
60
- }
61
- function shouldSkipDirEntry(entry) {
62
- if (!entry.isDirectory()) return false;
63
- return entry.name.startsWith(".") || sourceIgnoreDirs.has(entry.name);
64
- }
65
- function walkSourceFiles(dir, results) {
66
- let entries;
67
- try {
68
- entries = fs.readdirSync(dir, {
69
- withFileTypes: true
70
- });
71
- } catch {
72
- return;
73
- }
74
- for (const entry of entries) {
75
- if (shouldSkipDirEntry(entry)) continue;
76
- const fullPath = path.join(dir, entry.name);
77
- if (entry.isDirectory()) walkSourceFiles(fullPath, results);else if (entry.isFile() && sourceExtensions.has(path.extname(entry.name))) results.push(fullPath);
78
- }
79
- }
80
- function collectSourceFiles(cwd) {
81
- const results = [];
82
- walkSourceFiles(cwd, results);
83
- return results;
84
- }
85
- function checkFileWithFix(file, relPath) {
86
- let code;
87
- try {
88
- code = fs.readFileSync(file, "utf-8");
89
- } catch {
90
- return {
91
- result: null,
92
- fixCount: 0
93
- };
94
- }
95
- if (!hasReactPatterns(code)) return {
96
- result: null,
97
- fixCount: 0
98
- };
99
- const migrated = migrateReactCode(code, relPath);
100
- if (migrated.changes.length > 0) fs.writeFileSync(file, migrated.code, "utf-8");
101
- const remaining = detectReactPatterns(migrated.code, relPath);
102
- if (remaining.length > 0 || migrated.changes.length > 0) return {
103
- result: {
104
- file: relPath,
105
- diagnostics: remaining,
106
- fixed: migrated.changes.length > 0
107
- },
108
- fixCount: migrated.changes.length
109
- };
110
- return {
111
- result: null,
112
- fixCount: 0
113
- };
114
- }
115
- function checkFileDetectOnly(file, relPath) {
116
- let code;
117
- try {
118
- code = fs.readFileSync(file, "utf-8");
119
- } catch {
120
- return null;
121
- }
122
- if (!hasReactPatterns(code)) return null;
123
- const diagnostics = detectReactPatterns(code, relPath);
124
- if (diagnostics.length > 0) return {
125
- file: relPath,
126
- diagnostics,
127
- fixed: false
128
- };
129
- return null;
3
+ //#region src/context.d.ts
4
+ interface ContextOptions {
5
+ cwd: string;
6
+ outPath?: string | undefined;
130
7
  }
131
- function runChecks(files, options) {
132
- const fileResults = [];
133
- let totalFixed = 0;
134
- for (const file of files) {
135
- const relPath = path.relative(options.cwd, file);
136
- if (options.fix) {
137
- const {
138
- result,
139
- fixCount
140
- } = checkFileWithFix(file, relPath);
141
- totalFixed += fixCount;
142
- if (result) fileResults.push(result);
143
- } else {
144
- const result = checkFileDetectOnly(file, relPath);
145
- if (result) fileResults.push(result);
146
- }
147
- }
148
- const totalErrors = fileResults.reduce((sum, f) => sum + f.diagnostics.length, 0);
149
- const totalFixable = fileResults.reduce((sum, f) => sum + f.diagnostics.filter(d => d.fixable).length, 0);
150
- return {
151
- passed: totalErrors === 0,
152
- files: fileResults,
153
- summary: {
154
- filesScanned: files.length,
155
- filesWithIssues: fileResults.length,
156
- totalErrors,
157
- totalFixable,
158
- totalFixed
159
- }
160
- };
161
- }
162
- function printJson(result) {
163
- console.log(JSON.stringify(result, null, 2));
164
- }
165
- function printFileResult(fileResult) {
166
- if (fileResult.diagnostics.length === 0) return;
167
- console.log(` ${fileResult.file}${fileResult.fixed ? " (partially fixed)" : ""}`);
168
- for (const diag of fileResult.diagnostics) {
169
- const fixTag = diag.fixable ? " [fixable]" : "";
170
- console.log(` ${diag.line}:${diag.column} — ${diag.message}${fixTag}`);
171
- console.log(` Current: ${diag.current}`);
172
- console.log(` Suggested: ${diag.suggested}`);
173
- console.log("");
174
- }
175
- }
176
- function printSummary(summary) {
177
- console.log(` ${summary.totalErrors} issue${summary.totalErrors === 1 ? "" : "s"} in ${summary.filesWithIssues} file${summary.filesWithIssues === 1 ? "" : "s"}`);
178
- if (summary.totalFixable > 0) console.log(` ${summary.totalFixable} auto-fixable — run 'pyreon doctor --fix' to apply`);
179
- console.log("");
180
- }
181
- function printHuman(result, elapsed) {
182
- const {
183
- summary
184
- } = result;
185
- console.log("");
186
- console.log(` Pyreon Doctor — scanned ${summary.filesScanned} files in ${elapsed}ms`);
187
- console.log("");
188
- if (result.passed && summary.totalFixed === 0) {
189
- console.log(" ✓ No issues found. Your code is Pyreon-native!");
190
- console.log("");
191
- return;
192
- }
193
- if (summary.totalFixed > 0) {
194
- console.log(` ✓ Auto-fixed ${summary.totalFixed} issue${summary.totalFixed === 1 ? "" : "s"}`);
195
- console.log("");
196
- }
197
- for (const fileResult of result.files) printFileResult(fileResult);
198
- printSummary(summary);
199
- }
200
-
8
+ declare function generateContext(options: ContextOptions): Promise<ProjectContext$1>;
201
9
  //#endregion
202
- //#region src/index.ts
10
+ //#region src/doctor.d.ts
203
11
  /**
204
- * @pyreon/cliDeveloper tools for Pyreon
205
- *
206
- * Commands:
207
- * pyreon doctor [--fix] [--json] Scan project for React patterns, bad imports, etc.
208
- * pyreon context — Generate .pyreon/context.json for AI tools
209
- */
210
-
211
- function printUsage() {
212
- console.log(`
213
- pyreon <command> [options]
214
-
215
- Commands:
216
- doctor [--fix] [--json] [--ci] Scan for React patterns, bad imports, and common mistakes
217
- context [--out <path>] Generate .pyreon/context.json for AI tools
218
-
219
- Options:
220
- --help Show this help message
221
- --version Show version
222
- `);
223
- }
224
- async function main() {
225
- if (!command || command === "--help" || command === "-h") {
226
- printUsage();
227
- return;
228
- }
229
- if (command === "--version" || command === "-v") {
230
- console.log("0.4.0");
231
- return;
232
- }
233
- if (command === "doctor") {
234
- const options = {
235
- fix: args.includes("--fix"),
236
- json: args.includes("--json"),
237
- ci: args.includes("--ci"),
238
- cwd: process.cwd()
239
- };
240
- const exitCode = await doctor(options);
241
- if (options.ci && exitCode > 0) process.exit(1);
242
- return;
243
- }
244
- if (command === "context") {
245
- const outIdx = args.indexOf("--out");
246
- const outPath = outIdx >= 0 ? args[outIdx + 1] : void 0;
247
- await generateContext({
248
- cwd: process.cwd(),
249
- outPath
250
- });
251
- return;
252
- }
253
- console.error(`Unknown command: ${command}`);
254
- printUsage();
255
- process.exit(1);
256
- }
12
+ * pyreon doctor project-wide health check for AI-friendly development
13
+ *
14
+ * Runs a pipeline of checks:
15
+ * 1. React pattern detection (imports, hooks, JSX attributes)
16
+ * 2. Import source validation (@pyreon/* vs react/vue)
17
+ * 3. Common Pyreon mistakes (signal without call, key vs by, etc.)
18
+ *
19
+ * Output modes:
20
+ * - Human-readable (default): colored terminal output
21
+ * - JSON (--json): structured output for AI agent consumption
22
+ * - CI (--ci): exits with code 1 on any error
23
+ *
24
+ * Fix mode (--fix): auto-applies safe transforms via migrateReactCode
25
+ */
26
+ interface DoctorOptions {
27
+ fix: boolean;
28
+ json: boolean;
29
+ ci: boolean;
30
+ cwd: string;
31
+ }
32
+ declare function doctor(options: DoctorOptions): Promise<number>;
257
33
  //#endregion
258
- export { doctor, generateContext };
259
- //# sourceMappingURL=index.d.ts.map
34
+ export { type ContextOptions, type DoctorOptions, type ProjectContext, doctor, generateContext };
35
+ //# sourceMappingURL=index2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["scanProject"],"sources":["../../../src/context.ts","../../../src/doctor.ts","../../../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index2.d.ts","names":[],"sources":["../../../src/context.ts","../../../src/doctor.ts"],"mappings":";;;UAaiB,cAAA;EACf,GAAA;EACA,OAAA;AAAA;AAAA,iBAGoB,eAAA,CAAgB,OAAA,EAAS,cAAA,GAAiB,OAAA,CAAQ,gBAAA;;;;;;AALxE;;;;;AAKA;;;;;;;UCOiB,aAAA;EACf,GAAA;EACA,IAAA;EACA,EAAA;EACA,GAAA;AAAA;AAAA,iBAqBoB,MAAA,CAAO,OAAA,EAAS,aAAA,GAAgB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pyreon/cli",
3
- "version": "0.5.5",
3
+ "version": "0.5.7",
4
4
  "description": "CLI tools for Pyreon — doctor, generate, context",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,7 +42,7 @@
42
42
  "prepublishOnly": "bun run build"
43
43
  },
44
44
  "dependencies": {
45
- "@pyreon/compiler": "0.5.5"
45
+ "@pyreon/compiler": "0.5.7"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "typescript": ">=5.0.0"
@@ -208,7 +208,7 @@ export function App() {
208
208
  const count = signal(0)
209
209
  const doubled = computed(() => count() * 2)
210
210
  effect(() => console.log(doubled()))
211
- onMount(() => { return undefined })
211
+ onMount(() => { console.log("mounted") })
212
212
  return <div class="app">{count()}</div>
213
213
  }
214
214
  `