graphql-transformer-core
Version:
A framework to transform from GraphQL SDL to AWS cloudFormation.
63 lines • 2.55 kB
TypeScript
import { Template } from 'cloudform-types';
import { FeatureFlagProvider } from '../FeatureFlags';
import { FileHandler } from './fileUtils';
import { TransformConfig } from './transformConfig';
import { DiffRule, ProjectRule } from './sanity-check';
export declare const CLOUDFORMATION_FILE_NAME = "cloudformation-template.json";
export declare const PARAMETERS_FILE_NAME = "parameters.json";
export interface ProjectOptions {
projectDirectory?: string;
transformersFactory: Function;
transformersFactoryArgs: object[];
currentCloudBackendDirectory: string;
rootStackFileName?: string;
dryRun?: boolean;
disableFunctionOverrides?: boolean;
disablePipelineFunctionOverrides?: boolean;
disableResolverOverrides?: boolean;
buildParameters?: Object;
featureFlags: FeatureFlagProvider;
sanityCheckRules: SanityCheckRules;
}
export interface SanityCheckRules {
projectRules: ProjectRule[];
diffRules: DiffRule[];
}
export declare function buildProject(opts: ProjectOptions): Promise<{
resolvers: Record<string, string>;
stacks: Record<string, import("../deployment-resources").Template>;
stackMapping: import("../deployment-resources").StackMapping;
pipelineFunctions: Record<string, string>;
functions: Record<string, string>;
schema: string;
userOverriddenSlots: string[];
rootStack: import("../deployment-resources").Template;
}>;
export interface UploadOptions {
directory: string;
upload: FileHandler;
}
export declare const uploadDeployment: (opts: UploadOptions) => Promise<void>;
export declare const getS3KeyNamesFromDirectory: (directory: string) => string[];
interface MigrationOptions {
projectDirectory: string;
cloudBackendDirectory?: string;
}
export declare function migrateAPIProject(opts: MigrationOptions): Promise<{
project: any;
cloudBackend: any;
}>;
export declare function revertAPIMigration(directory: string, oldProject: AmplifyApiV1Project): Promise<void>;
interface AmplifyApiV1Project {
schema: string;
parameters: any;
template: Template;
}
export declare function readV1ProjectConfiguration(projectDirectory: string): Promise<AmplifyApiV1Project>;
export declare function makeTransformConfigFromOldProject(project: AmplifyApiV1Project): TransformConfig;
export declare function getSanityCheckRules(isNewAppSyncAPI: boolean, ff: FeatureFlagProvider, allowDestructiveUpdates?: boolean): {
diffRules: DiffRule[];
projectRules: ProjectRule[];
};
export {};
//# sourceMappingURL=amplifyUtils.d.ts.map