Licence
MIT
Version
1.0.0
Deps
0
Size
18 kB
Vulns
0
Weekly
0
after-effects-versions
A Node.js library to detect installed Adobe After Effects versions on macOS and Windows.
Installation
npm install after-effects-versionsUsage
Get All Installed Versions
import { findAfterEffectsVersions } from 'after-effects-versions';
(async () => {
const installs = await findAfterEffectsVersions();
console.log(installs);
})();Get Latest Version Only
import { findLatestAfterEffects } from 'after-effects-versions';
(async () => {
const latest = await findLatestAfterEffects();
if (latest) {
console.log(`Latest: ${latest.name} v${latest.version}`);
console.log(`Path: ${latest.path}`);
} else {
console.log('No After Effects installation found');
}
})();Example Output
macOS
[
{
"platform": "mac",
"name": "Adobe After Effects 2025",
"version": "24.5.0",
"path": "/Applications/Adobe After Effects 2025.app"
},
{
"platform": "mac",
"name": "Adobe After Effects 2024",
"version": "24.2.1",
"path": "/Applications/Adobe After Effects 2024.app"
}
]Windows
[
{
"platform": "win",
"name": "Adobe After Effects 2024",**all** `AfterEffectsInstall` objects.
```typescript
interface AfterEffectsInstall {
platform: 'mac' | 'win';
name: string; // Human-readable app name
version: string | null; // Semantic version if available, otherwise null
path: string; // Install root path (.app folder on macOS, install dir on Windows)
exe?: string; // Path to AfterFX.exe on Windows only
}findLatestAfterEffects()
Returns a promise that resolves to the latest AfterEffectsInstall object (determined by semantic version comparison), or null if no installations are found.
Use this when you only need the latest version (e.g., for launching After Effects, checking compatibility, etc.). "exe": "C:\Program Files\Adobe\Adobe After Effects CC 2019\Support Files\AfterFX.exe" } ]
## API
### `findAfterEffectsVersions()`
Returns a promise that resolves to an array of `AfterEffectsInstall` objects.
```typescript
interface AfterEffectsInstall {
platform: 'mac' | 'win';
name: string; // Human-readable app name
version: string | null; // Semantic version if available, otherwise null
path: string; // Install root path (.app folder on macOS, install dir on Windows)
exe?: string; // Path to AfterFX.exe on Windows only
}
Platform Support
- macOS (darwin): Searches
/Applications/for After Effects.appbundles and reads version information fromInfo.plist - Windows (win32): Searches
Program FilesandProgram Files (x86)for After Effects installations and validates by checking forAfterFX.exe - Other platforms: Returns an empty array
How It Works
macOS Detection
- Scans
/Applications/directory for folders matching "After Effects" and ending with.app - Reads
Info.plistfrom each app bundle to extract version information (CFBundleShortVersionStringorCFBundleVersion) - Returns the full path to each
.appbundle
Windows Detection
- Searches common Adobe installation directories:
C:\Program Files\AdobeC:\Program Files (x86)\Adobe
- Looks for folders containing "After Effects" in the name
- Validates each installation by checking for
AfterFX.exein theSupport Filessubdirectory - Attempts to extract version from directory name (e.g., "2024", "2025")
Error Handling
The library is designed to be robust:
- Returns an empty array on unsupported platforms
- Continues searching even if individual installations fail to read
- Handles permission errors gracefully
- Does not throw exceptions during normal operation
Requirements
- Node.js 16 or higher
- No runtime dependencies
Notes
- Version accuracy: On macOS, versions are read from the app bundle's
Info.plist. On Windows, versions are extracted from directory names and may not always reflect the exact build number. - Permissions: The library needs read access to
/Applicationson macOS andProgram Fileson Windows. - Custom installations: Only detects installations in standard locations. Custom installation paths are not currently supported.
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.