import { type PackageJson } from '@alexaegis/workspace-tools'; import type { InternalModuleFormat } from 'rollup'; import type { UserConfig } from 'vite'; import { PackageJsonKind } from '../plugins/autolib.plugin.options.js'; import { type AutoBinOptions } from './auto-bin.class.options.js'; import type { PreparedBuildUpdate } from './prepared-build-update.type.js'; export declare const NPM_INSTALL_HOOKS: string[]; /** * From https://docs.npmjs.com/cli/v8/using-npm/scripts * And anything that start pre- and post- that also matches a user defined * script (prebuild and postbuild works if 'build' exists) */ export declare const ALL_NPM_HOOKS: string[]; export declare const ALL_ROLLUP_MODULE_FORMATS: readonly InternalModuleFormat[]; export interface BinPaths { srcPath: string; shimPaths: Record; outPath: Record; outToOutPath: Record; } export declare class AutoBin implements PreparedBuildUpdate { private options; private entryMap; private markComment; private outDirAbs; private shimDirAbs; private outBinDirAbs; private packageType; private pathMap; private oldBins; constructor(options: AutoBinOptions); /** * The keys in this entry has to be keyed with the entire extensionless path * of each bin. example: "bin/foo": "bin/foo.ts" */ getViteConfigUpdates(): UserConfig; preUpdate(packageJson: PackageJson): Promise; private getAllExtensionVariantsOfPath; /** * for module based packages, bins are modules too and the adjust path * step only acts for the 'es' format */ adjustPaths(packageJson: PackageJson, packageJsonKind: PackageJsonKind, format: InternalModuleFormat): Promise; /** * Ensures shimDir exists and creates simple javascript files that are * importing their counterpart from `outDir` */ private createShims; private ensureEsmBinEntriesRenamed; /** * */ private preLink; } //# sourceMappingURL=auto-bin.class.d.ts.map