jspm-config
Version:
Read jspm config and such
101 lines (100 loc) • 2.06 kB
TypeScript
export interface Options {
cwd: string;
}
/**
* Interface for `<jspm_packages>/.dependencies.json`.
*/
export interface DependenciesJson {
[ ]: {
deps: {
[ ]: string;
};
peerDeps: {
[ ]: string;
};
};
}
/**
* Browser field overrides like NPM.
*/
export declare type Browser = string | Overrides;
/**
* Override map for file lookups.
*/
export interface Overrides {
[ ]: string;
}
export interface JspmPackageJson {
name: string;
main: string;
version?: string;
typings?: string;
browser?: Browser;
browserTypings?: Browser;
directories?: {
baseURL: string;
packages?: string;
};
configFiles?: ConfigFiles;
dependencies?: {
[ ]: string;
};
peerDependencies?: {
[ ]: string;
};
devDependencie?: {
[ ]: string;
};
overrides?: {
[ ]: any;
};
}
/**
* Interface for the resolved JSPM config.
*/
export interface JspmConfig {
getDependencyTree(moduleName: string): any;
}
export interface ConfigFiles {
jspm: string;
'jspm:browser': string;
'jspm:dev': string;
'jspm:node': string;
}
export interface Configs {
jspm?: any;
browser?: any;
dev?: any;
node?: any;
}
export interface JspmProjectInfo {
jspmPackageJson: JspmPackageJson;
jspmConfigs: Configs;
dependenciesJson?: DependenciesJson;
}
export interface PathMap {
[ ]: string;
}
/**
* Module name maps to package name.
*/
export interface ModuleMap {
[ ]: string;
}
export interface PackageMap {
[ ]: {
map: ModuleMap;
};
}
export interface DependencyInfo {
paths: PathMap;
map: ModuleMap;
packages: PackageMap;
}
export interface DependencyBranch {
[ ]: DependencyTree;
}
export interface DependencyTree {
path: string;
map?: DependencyBranch;
}