ProjectHelpers
import type { ProjectHelpers } from "https://garn.io/ts/v0.0.20/project.ts";
type ProjectHelpers = {
withDevTools<T extends ProjectData>(this: T, devTools: Array<Package>): T;
shell(this: ProjectData, script: string): Executable;
shell(
this: ProjectData,
_s: TemplateStringsArray,
..._args: Array<NixStrLitInterpolatable>,
): Executable; check(this: ProjectData, check: string): Check;
check(
this: ProjectData,
_s: TemplateStringsArray,
..._args: Array<NixStrLitInterpolatable>,
): Check; build(
this: ProjectData,
_s: TemplateStringsArray,
..._args: Array<NixStrLitInterpolatable>,
): Package; add<T extends ProjectData, Additions>(this: T, fn: Plugin<Additions, T>): Omit<T, keyof Additions> & Additions;
addExecutable<T extends ProjectData, Name extends string>(
this: T,
name: Name,
executable: string,
): Omit<T, Name> & [n in Name]: Executable; addExecutable<T extends ProjectData, Name extends string>(this: T, name: Name): (_s: TemplateStringsArray, ..._args: Array<NixStrLitInterpolatable>) => Omit<T, Name> & [n in Name]: Executable;
addCheck<T extends ProjectData, Name extends string>(
this: T,
name: Name,
check: string,
): Omit<T, Name> & [n in Name]: Check; addCheck<T extends ProjectData, Name extends string>(this: T, name: Name): (_s: TemplateStringsArray, ..._args: Array<NixStrLitInterpolatable>) => Omit<T, Name> & [n in Name]: Check;
addPackage<T extends ProjectData, Name extends string>(
};this: T,
name: Name,
pkg: string,
): Omit<T, Name> & [n in Name]: Package; §Type
§
{
[src]withDevTools<T extends ProjectData>(this: T, devTools: Array<Package>): T;
shell(this: ProjectData, script: string): Executable;
shell(
this: ProjectData,
_s: TemplateStringsArray,
..._args: Array<NixStrLitInterpolatable>,
): Executable; check(this: ProjectData, check: string): Check;
check(
this: ProjectData,
_s: TemplateStringsArray,
..._args: Array<NixStrLitInterpolatable>,
): Check; build(
this: ProjectData,
_s: TemplateStringsArray,
..._args: Array<NixStrLitInterpolatable>,
): Package; add<T extends ProjectData, Additions>(this: T, fn: Plugin<Additions, T>): Omit<T, keyof Additions> & Additions;
addExecutable<T extends ProjectData, Name extends string>(
this: T,
name: Name,
executable: string,
): Omit<T, Name> & [n in Name]: Executable; addExecutable<T extends ProjectData, Name extends string>(this: T, name: Name): (_s: TemplateStringsArray, ..._args: Array<NixStrLitInterpolatable>) => Omit<T, Name> & [n in Name]: Executable;
addCheck<T extends ProjectData, Name extends string>(
this: T,
name: Name,
check: string,
): Omit<T, Name> & [n in Name]: Check; addCheck<T extends ProjectData, Name extends string>(this: T, name: Name): (_s: TemplateStringsArray, ..._args: Array<NixStrLitInterpolatable>) => Omit<T, Name> & [n in Name]: Check;
addPackage<T extends ProjectData, Name extends string>(
}this: T,
name: Name,
pkg: string,
): Omit<T, Name> & [n in Name]: Package;