🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

faf-cli

Package Overview
Dependencies
Maintainers
1
Versions
158
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

faf-cli - npm Package Compare versions

Comparing version
7.6.0
to
7.7.0
+53
dist/detect/swift.d.ts
/**
* Swift detection — CONTENT-AWARE Package.swift / Xcode classification.
*
* Kill line: Package.swift alone ≠ app.
* SPM backs libraries, executables (CLI), server apps (Vapor / Hummingbird),
* MCP servers (official swift-sdk product MCP), and Xcode client apps.
* Static token scan only — never execute Package.swift / swift build.
*
* Same composition as go.ts / ruby.ts: knowledge in swift-detection.json.
*/
export type SwiftAppType = 'mcp' | 'backend' | 'cli' | 'app' | 'library';
export interface SwiftProject {
appType: SwiftAppType;
/** Primary framework label (Vapor / Hummingbird / MCP / ArgumentParser / …) or ''. */
framework: string;
/** spm when Package.swift; xcode when only xcodeproj; both when combined. */
packageManager: 'spm' | 'xcode' | 'spm+xcode';
/** Glass Hood rationale for .faf `# found:`. */
found: string;
}
export interface PackageSwiftSignals {
packageUrls: string[];
productNames: string[];
hasLibraryProduct: boolean;
hasExecutableProduct: boolean;
hasPluginProduct: boolean;
hasExecutableTarget: boolean;
hasLibraryTarget: boolean;
}
/** True if directory looks like a Swift project root. */
export declare function isSwiftRoot(dir: string): boolean;
/** Root-level *.xcodeproj directory names. */
export declare function listXcodeprojs(dir: string): string[];
/**
* Static scan of Package.swift — does NOT compile or evaluate Swift.
* Strips line and block comments best-effort before token extraction.
*/
export declare function parsePackageSwift(content: string): PackageSwiftSignals;
/** Best-effort strip of line (//) and block comments for static scan. */
export declare function stripSwiftComments(src: string): string;
/**
* Light pbxproj grep — no AST. Reads project.pbxproj under each .xcodeproj.
*/
export declare function scanXcodeProductTypes(dir: string): {
hasApplication: boolean;
hasTool: boolean;
hit?: string;
};
/**
* Classify a Swift project from Package.swift (+ light Xcode).
* Returns null if not a Swift root.
*/
export declare function detectSwiftProject(dir: string): SwiftProject | null;
+1
-1
{
"name": "faf-cli",
"version": "7.6.0",
"version": "7.7.0",
"description": "Persistent AI context + memory — .faf and .fafm, IANA-registered. Anthropic-merged.",

@@ -5,0 +5,0 @@ "type": "module",

@@ -133,8 +133,8 @@ <!-- faf: faf-cli | TypeScript | cli | CLI for the .faf and .fafm IANA-registered formats — AI context + memory that versions with your code -->

### What's New in v7.6.0 — The Ruby Edition
### What's New in v7.7.0 — The Swift Edition
**Content-aware Ruby** — `Gemfile alone ≠ Rails`. Pure gems stay pure gems.
**Content-aware Swift** — `Package.swift alone ≠ app`. Libraries stay libraries.
- **Gems + layout** — Rails · Sinatra · Roda · Grape · Hanami · MCP · CLI · library (static parse — does not execute Gemfile).
- **Still shipping** — JVM (7.5.x) `pom`/`gradle` alone ≠ type · C# (7.4.0) `.csproj alone ≠ type` · Go (7.3.0) `go.mod alone ≠ backend`.
- **Products + deps** — MCP · Vapor · Hummingbird · CLI · Xcode app · library (static parse — does not run `swift build`).
- **Still shipping** — Ruby (7.6.0) `Gemfile alone ≠ Rails` · JVM (7.5.x) `pom`/`gradle` alone ≠ type · C# (7.4.0) `.csproj alone ≠ type` · Go (7.3.0) `go.mod alone ≠ backend`.

@@ -141,0 +141,0 @@ ### Dart/Flutter — knowledge v2 in 7.2.1

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet