@aws-amplify/cli-internal
Version:
Amplify CLI
86 lines • 4.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AmplifyMigrationAssessor = void 0;
const assessment_1 = require("./assess/assessment");
const amplify_prompts_1 = require("@aws-amplify/amplify-prompts");
const auth_cognito_assessor_1 = require("./assess/auth/auth-cognito.assessor");
const auth_user_pool_groups_assessor_1 = require("./assess/auth/auth-user-pool-groups.assessor");
const s3_assessor_1 = require("./assess/storage/s3.assessor");
const dynamodb_assessor_1 = require("./assess/storage/dynamodb.assessor");
const data_assessor_1 = require("./assess/api/data.assessor");
const rest_api_assessor_1 = require("./assess/api/rest-api.assessor");
const kinesis_assessor_1 = require("./assess/analytics/kinesis.assessor");
const function_assessor_1 = require("./assess/function/function.assessor");
const geo_geofence_collection_assessor_1 = require("./assess/geo/geo-geofence-collection.assessor");
const geo_map_assessor_1 = require("./assess/geo/geo-map.assessor");
const geo_place_index_assessor_1 = require("./assess/geo/geo-place-index.assessor");
const custom_cdk_assessor_1 = require("./assess/custom/custom-cdk.assessor");
class AmplifyMigrationAssessor {
constructor(gen1App, logger) {
this.gen1App = gen1App;
this.logger = logger;
}
assess() {
const discovered = this.gen1App.discover();
const combined = new assessment_1.Assessment(this.gen1App.appName, this.gen1App.envName);
for (const resource of discovered) {
const assessors = [];
this.logger.debug(`Assessing resource: ${resource.category}/${resource.resourceName} (${resource.service})`);
switch (resource.key) {
case 'auth:Cognito':
assessors.push(new auth_cognito_assessor_1.AuthCognitoAssessor(this.gen1App, resource));
break;
case 'auth:Cognito-UserPool-Groups':
assessors.push(new auth_user_pool_groups_assessor_1.AuthUserPoolGroupsAssessor(this.gen1App, resource));
break;
case 'storage:S3':
assessors.push(new s3_assessor_1.S3Assessor(this.gen1App, resource));
break;
case 'storage:DynamoDB':
assessors.push(new dynamodb_assessor_1.DynamoDBAssessor(this.gen1App, resource));
break;
case 'api:AppSync':
assessors.push(new data_assessor_1.DataAssessor(this.gen1App, resource));
break;
case 'api:API Gateway':
assessors.push(new rest_api_assessor_1.RestApiAssessor(this.gen1App, resource));
break;
case 'analytics:Kinesis':
assessors.push(new kinesis_assessor_1.AnalyticsKinesisAssessor(this.gen1App, resource));
break;
case 'function:Lambda':
assessors.push(new function_assessor_1.FunctionAssessor(this.gen1App, resource));
break;
case 'geo:GeofenceCollection':
assessors.push(new geo_geofence_collection_assessor_1.GeoFenceCollectionAssessor(this.gen1App, resource));
break;
case 'geo:Map':
assessors.push(new geo_map_assessor_1.GeoMapAssessor(this.gen1App, resource));
break;
case 'geo:PlaceIndex':
assessors.push(new geo_place_index_assessor_1.GeoPlaceIndexAssessor(this.gen1App, resource));
break;
case 'custom:customCDK':
assessors.push(new custom_cdk_assessor_1.CustomCdkAssessor(resource));
break;
case 'UNKNOWN':
combined.recordResource({
resource,
generate: (0, assessment_1.unsupported)('unknown resource type'),
refactor: (0, assessment_1.unsupported)('unknown resource type'),
});
break;
}
for (const assessor of assessors) {
assessor.record(combined);
}
}
return combined;
}
run() {
const assessment = this.assess();
amplify_prompts_1.printer.info(assessment.render());
}
}
exports.AmplifyMigrationAssessor = AmplifyMigrationAssessor;
//# sourceMappingURL=assess.js.map