import { CoreModels__NS__FrameworkVersion } from 'tnp-core/lib-prod'; import { BaseFeatureForProject } from 'tnp-helpers/lib-prod'; import { Models__NS__TaonContext } from '../../models'; import { EnvOptions } from '../../options'; import type { Project } from './project'; export declare class Framework extends BaseFeatureForProject { get isUnknownNpmProject(): boolean; /** * TODO make this more robust */ get isTnp(): boolean; /** * Core project with basic tested functionality */ get isCoreProject(): boolean; get isContainerWithLinkedProjects(): boolean; /** * is normal or smart container */ get isContainer(): boolean; get isContainerCoreProject(): boolean; get isContainerChild(): boolean; /** * Standalone project ready for publish on npm * Types of standalone project: * - isomorphic-lib : backend/fronded ts library with server,app preview * - angular-lib: frontend ui lib with angular preview */ get isStandaloneProject(): boolean; get frameworkVersion(): CoreModels__NS__FrameworkVersion; get frameworkVersionMinusOne(): CoreModels__NS__FrameworkVersion; frameworkVersionEquals(version: CoreModels__NS__FrameworkVersion): boolean; frameworkVersionAtLeast(version: CoreModels__NS__FrameworkVersion): boolean; migrateFromNgModulesToStandaloneV21(tsFileContent: string): string; replaceModuleAndComponentName(tsFileContent: string): string; fixCoreContent: (appTsContent: string, additionalEntrypointId?: number | undefined) => string; recreateVarsScss(initOptions: EnvOptions): void; preventNotExistedComponentAndModuleInAppTs(): void; recreateFileFromCoreProject: (options: { fileRelativePath?: string | string[]; forceRecrete?: boolean; additionalEntrypointId?: number | undefined; /** * if will override **fileRelativePath** with different path * to get file from core project * By default this helper will copy file from core project to this project: * * */ relativePathInCoreProject?: string | string[]; customDestinationLocation?: string | string[]; modifyContentBeforeSave?: (content: string) => string; }) => void; frameworkVersionLessThanOrEqual(version: CoreModels__NS__FrameworkVersion): boolean; frameworkVersionLessThan(version: CoreModels__NS__FrameworkVersion): boolean; get containerDataFromNodeModulesLink(): { isCoreContainer: boolean; coreContainerFromNodeModules: Project; }; get coreProject(): Project; get isLinkToNodeModulesDifferentThanCoreContainer(): boolean; /** * Get automatic core container for project * WHEN NODE_MODULES BELONG TO TNP -> it uses tnp core container */ get coreContainer(): Project; get tmpLocalProjectFullPath(): string; private resolveAbsPath; generateIndexTs(relativePath?: string): void; global(globalPackageName: string, packageOnly?: boolean): Promise; /** * @returns by default it will always return at least one context */ getAllDetectedContextsNames(): string[]; /** * @returns by default it will always return at least one context */ getAllDetectedTaonContexts(options?: { skipLibFolder?: boolean; }): Models__NS__TaonContext[]; contextFilter(relativePath: string): boolean; private _allDetectedNestedContexts; get allDetectedExternalIsomorphicDependenciesForNpmLibCode(): string[]; get allDetectedExternalNPmDependenciesForNpmLibCode(): string[]; recreateAppTsPresentationFiles(): void; NODE_BUILTIN_MODULES: string[]; setFrameworkVersion(newFrameworkVersion: CoreModels__NS__FrameworkVersion, options?: { confirm?: boolean; }): Promise; setNpmVersion(npmVersion: string, options?: { confirm?: boolean; }): Promise; generateLibIndex(): Promise; generateAppRoutes(): Promise; filterVerfiedBuilds(packagesNames: string[]): string[]; get notVerifiedIsomorphicPackagesBuildsInNodeModules(): string[]; }