commands/spm_utils library
SPM (Swift Package Manager) utilities for nitrogen CLI.
Provides helpers for detecting, validating, and managing SPM configuration in Flutter plugins. Used by init, link, doctor, and migrate commands.
Classes
- PackageSwiftValidation
- Validation result for a Package.swift file.
- SpmSourcesValidation
- Verifies SPM Sources directory structure is correct.
- SpmStatus
- Result of SPM detection for a plugin.
Functions
-
createSpmSourcesStructure(
String baseDir, String platform, String className, String pluginName) → void - Creates the SPM Sources directory structure for a platform.
-
detectSpmStatus(
String baseDir) → SpmStatus - Detects SPM and CocoaPods status for a plugin directory.
-
getSpmSourcesDirs(
String packageSwiftPath) → List< String> - Gets the Sources directories from a Package.swift.
-
isNestedSpmLayout(
String packageSwiftPath) → bool - Checks if a Package.swift uses the Flutter 3.41+ nested layout.
-
isNestedSpmPath(
String packageSwiftPath) → bool -
Returns true if the given
packageSwiftPathis in a nested Flutter 3.41+ layout (ios/<name>/Package.swift) rather than the flatios/Package.swift. -
toPascalCase(
String name) → String - Converts a plugin name to PascalCase class name.
-
validatePackageSwift(
String path, String platform) → PackageSwiftValidation - Validates a Package.swift file for correct Nitro configuration.
-
validateSpmSourcesStructure(
String baseDir, String platform, String className) → SpmSourcesValidation - Validates the SPM Sources directory structure for a platform.