@netlify/framework-info
Version:
Framework detection utility
57 lines (56 loc) • 1.28 kB
TypeScript
import type { FrameworkName } from './generated/frameworkNames.js';
interface PollingStrategy {
name: 'HTTP' | 'TCP';
}
interface Plugin {
packageName: string;
condition: {
minNodeVersion: string;
};
}
interface BaseFramework {
id: FrameworkName;
name: string;
category: 'build_tool' | 'frontend_framework' | 'static_site_generator';
logo?: {
default: string;
light: string;
dark: string;
};
staticAssetsDirectory?: string;
env: Record<string, string>;
}
export interface FrameworkDefinition extends BaseFramework {
detect: {
npmDependencies: string[];
excludedNpmDependencies: string[];
configFiles: string[];
};
dev: {
command?: string;
port?: number;
pollingStrategies?: PollingStrategy[];
};
build: {
command: string;
directory: string;
};
plugins: Plugin[];
}
export interface Framework extends BaseFramework {
package: {
name: string;
version: string;
};
dev: {
commands?: string[];
port?: number;
pollingStrategies?: PollingStrategy[];
};
build: {
commands: string[];
directory: string;
};
plugins: string[];
}
export {};