faf-cli 6.11.0 → 6.13.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 +34 -7
- package/dist/cli.js +242 -241
- package/dist/cli.js.map +12 -11
- package/dist/detect/dart.d.ts +29 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +129 -127
- package/dist/index.js.map +10 -8
- package/dist/interop/servercard.d.ts +61 -0
- package/dist/interrogate/cargo.d.ts +1 -1
- package/dist/interrogate/readme.d.ts +1 -1
- package/package.json +4 -3
- package/project.faf +1 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dart/Flutter detection — CONTENT-AWARE pubspec classification.
|
|
3
|
+
*
|
|
4
|
+
* A pubspec.yaml alone does NOT mean Flutter. The same manifest backs Flutter
|
|
5
|
+
* apps, pure-Dart CLIs, packages, servers (Dart Frog / Shelf / Serverpod), and
|
|
6
|
+
* MCP servers (dart_mcp / mcp_server). We read the dependencies and branch —
|
|
7
|
+
* collapsing everything to "Flutter" is the bug this module fixes.
|
|
8
|
+
*
|
|
9
|
+
* Single source of truth for Dart: imported by both the v6 scanner (app-type +
|
|
10
|
+
* language) and Turbo-Cat (stack fills), so the two engines agree by construction.
|
|
11
|
+
*/
|
|
12
|
+
export type DartAppType = 'mobile' | 'mcp' | 'backend' | 'cli' | 'library';
|
|
13
|
+
export interface DartProject {
|
|
14
|
+
/** faf app_type — Flutter→mobile, Dart MCP→mcp, Dart server→backend, CLI→cli, else library. */
|
|
15
|
+
appType: DartAppType;
|
|
16
|
+
isFlutter: boolean;
|
|
17
|
+
/** Primary framework for the stack (Flutter / Dart Frog / Serverpod / Shelf / …) or ''. */
|
|
18
|
+
framework: string;
|
|
19
|
+
/** Flutter state management (Riverpod / Bloc / Provider / GetX / MobX / Signals) or ''. */
|
|
20
|
+
stateManagement: string;
|
|
21
|
+
/** Routing (go_router / auto_route) or ''. */
|
|
22
|
+
routing: string;
|
|
23
|
+
/** Test framework (flutter_test / test) or ''. */
|
|
24
|
+
testing: string;
|
|
25
|
+
/** Human-readable rationale for the .faf `# found:` comment (Glass Hood). */
|
|
26
|
+
found: string;
|
|
27
|
+
}
|
|
28
|
+
/** Classify a Dart/Flutter project from its pubspec.yaml. Returns null if not Dart. */
|
|
29
|
+
export declare function detectDartProject(dir: string): DartProject | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export { enrichScore, scoreFafYaml } from './core/scorer.js';
|
|
|
6
6
|
export { validateFaf } from './core/schema.js';
|
|
7
7
|
export { findFafFile, readFaf, readFafRaw } from './interop/faf.js';
|
|
8
8
|
export { generateProjectHtml, writeProjectHtml } from './interop/projecthtml.js';
|
|
9
|
+
export { generateServerCard, writeServerCard, fafContextBlock, registryMeta, registryName, REGISTRY_PUBLISHER_KEY, } from './interop/servercard.js';
|
|
10
|
+
export type { ServerCardOptions } from './interop/servercard.js';
|
|
9
11
|
export type { InterviewQuestion, InterviewOption, GoalSeed, TableOf8, TableOf8Row, BoxStatus } from './core/interview.js';
|
|
10
12
|
export { INTERVIEW, SIX_WS_INTERVIEW, STACK_INTERVIEW, INTERVIEW_BY_PATH, INTERVIEW_PATHS, INTERVIEW_VERSION, questionForSlot, interviewForMissing, seedSixWsFromGoal, buildTableOf8, } from './core/interview.js';
|
|
11
13
|
export { BENCH_VERSION, deriveQuestionSet, publicQuestions, gradeAnswers, buildReceipt, normalizeAnswer, answersMatch, ALIAS_GROUPS, } from './commands/bench.js';
|