piral-cli
Version:
The standard CLI for creating and building a Piral instance or a Pilet.
99 lines (98 loc) • 4.86 kB
TypeScript
import { Agent } from 'https';
import { ForceOverwrite } from './enums';
import { PiletsInfo, SharedDependency, PiletDefinition, AppDefinition, NpmClient } from '../types';
import type { SourceLanguage, PiralInstancePackageData, PiralInstanceDetails } from '../types';
import type { Framework, FileInfo, TemplateFileLocation, PiletPackageData, PiralPackageData } from '../types';
export interface PiralInstanceData {
packageName: Framework;
language: SourceLanguage;
reactVersion: number;
reactRouterVersion: number;
}
export declare function getPiralPath(root: string, name: string): string;
export declare function findPiralInstance(proposedApp: string, rootDir: string, details: PiralInstanceDetails, agent: Agent, interactive?: boolean): Promise<PiralInstancePackageData>;
export declare function findPiralInstances(proposedApps: Array<string>, piletPackage: PiletPackageData, piletDefinition: undefined | PiletDefinition, rootDir: string, agent: Agent, interactive?: boolean): Promise<PiralInstancePackageData[]>;
export declare function readPiralPackage(root: string, name: string): Promise<PiralPackageData>;
export declare function patchPiralPackage(root: string, app: string, data: PiralInstanceData, version: string, bundler?: string): Promise<void>;
export declare function getPiralPackage(app: string, data: PiralInstanceData, version: string, bundler?: string): Promise<{
app: string;
scripts: {
start: string;
build: string;
postinstall: string;
};
types: string;
importmap: {
imports: {};
inherit: string[];
};
dependencies: {
'piral-core'?: string;
'piral-base'?: string;
};
devDependencies: {
'piral-cli': string;
};
}>;
export declare function getFileStats(root: string, name: string): Promise<{
path: string;
hash: string;
changed: boolean;
}[]>;
export declare function copyScaffoldingFiles(source: string, target: string, files: Array<string | TemplateFileLocation>, piralInfo?: any, variables?: Record<string, string>): Promise<void>;
export declare function copyPiralFiles(root: string, name: string, piralInfo: PiralPackageData, forceOverwrite: ForceOverwrite, variables: Record<string, string>, originalFiles?: Array<FileInfo>): Promise<void>;
export declare function getPiletsInfo(piralInfo: Partial<PiralPackageData>): PiletsInfo;
export declare function retrievePiralRoot(baseDir: string, entry: string): Promise<string>;
export declare function findDependencyVersion(pckg: Record<string, any>, rootPath: string, dependency: SharedDependency): Promise<string>;
export declare function findPackageVersion(rootPath: string, packageName: string | Array<string>): Promise<string>;
export declare function flattenExternals(dependencies: Array<SharedDependency>, disableAsync?: boolean): string[];
export declare function retrieveExternals(root: string, packageInfo: PiralPackageData): Promise<Array<SharedDependency>>;
export declare function retrievePiletsInfo(entryFile: string): Promise<{
externals: SharedDependency[];
name: any;
version: any;
emulator: any;
shared: any;
framework: "piral" | "piral-core" | "piral-base";
dependencies: {
std: any;
dev: any;
peer: any;
};
scripts: any;
ignored: any[];
root: string;
files: Array<string | TemplateFileLocation>;
template: string;
devDependencies: Record<string, string | true>;
validators: Record<string, any>;
packageOverrides: Record<string, any>;
preScaffold: string;
postScaffold: string;
preUpgrade: string;
postUpgrade: string;
}>;
export declare function validateSharedDependencies(externals: Array<SharedDependency>): void;
export declare function isValidDependency(name: string): boolean;
export declare function patchPiletPackage(root: string, piralInfo: PiralPackageData, fromEmulator: boolean, client: NpmClient, newInfo?: {
language: SourceLanguage;
bundler: string;
}): Promise<void>;
/**
* Returns true if its an emulator package, otherwise it has to be a "raw" app shell.
*/
export declare function checkAppShellPackage(appPackage: PiralPackageData): boolean;
export declare function combinePiletExternals(appShells: Array<string>, peerDependencies: Record<string, string>, peerModules: Array<string>, importmap: Array<SharedDependency>): string[];
export declare function findPiletRoot(proposedRoot: string): Promise<string>;
export declare function retrievePiletData(target: string, app?: string, agent?: Agent, interactive?: boolean): Promise<{
dependencies: any;
devDependencies: any;
peerDependencies: any;
peerModules: any;
ignored: any[];
schema: import("../types").PiletSchemaVersion;
importmap: SharedDependency[];
apps: AppDefinition[];
piletPackage: any;
root: string;
}>;