Skip to content

Commit 290447e

Browse files
committed
Refactored resource configs, entities, dependency graph builder, plugins and resolvers,
1 parent b43d527 commit 290447e

28 files changed

Lines changed: 156 additions & 593 deletions

codify-core/src/commands/plan/orchestrator.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import { ConfigCompiler } from '../../config-compiler/index.js';
2+
import { DependencyGraphBuilder } from '../../dependency-graph-builder/dependency-graph-builder.js';
23
import { PluginCollection } from '../../plugins/plugin-collection.js';
34

45
export const PlanOrchestrator = {
56
async run(rootDirectory: string): Promise<string> {
6-
const parsedProject = await ConfigCompiler.parseProject(rootDirectory);
7+
const project = await ConfigCompiler.parseProject(rootDirectory);
78

89
const pluginCollection = new PluginCollection();
9-
const resourceMap = await pluginCollection.initialize(parsedProject);
10+
const resourceMap = await pluginCollection.initialize(project);
11+
project.validateWithResourceMap(resourceMap);
1012

11-
parsedProject.validateWithResourceMap(resourceMap);
13+
await pluginCollection.validate(project);
14+
const depedencyGraph = await DependencyGraphBuilder.buildDependencyGraph(project);
1215

13-
14-
// const compiledProject = await ConfigCompiler.compileProject(parsedProject, definitions);
15-
// console.log(compiledProject);
16-
// const plan = await pluginCollection.getPlan(compiledProject);
16+
const plan = await pluginCollection.getPlan(project);
1717
//
1818
// await pluginCollection.destroy();
1919
// return JSON.stringify(plan, null, 2);
Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
import { ResourceDefinitions } from '../plugins/entities/definitions/resource.js';
1+
import { Project } from '../entities/project.js';
2+
import { ProjectConfig } from '../entities/project-config.js';
3+
import { ResourceConfig } from '../entities/resource-config.js';
24
import { InternalError } from '../utils/errors.js';
35
import { ConfigClass } from './language-definition.js';
46
import { ConfigLoader } from './loader/index.js';
5-
import { DependencyGraphBuilder } from './output-generator/dependency-graph-builder.js';
6-
import { CompiledProject } from './output-generator/entities/compiled-project.js';
7-
import { CompiledProjectTransformer } from './output-generator/transformer.js';
8-
import { ProjectConfig } from './parser/entities/configs/project.js';
9-
import { ParsedModule } from './parser/entities/parsed-module.js';
10-
import { ParsedProject } from './parser/entities/parsed-project.js';
117
import { FileParser } from './parser/index.js';
128
import { JsonFileParser } from './parser/json/file-parser.js';
139

@@ -17,7 +13,7 @@ export class ConfigCompiler {
1713
'json': new JsonFileParser(),
1814
}
1915

20-
static async parseProject(directory: string): Promise<ParsedProject> {
16+
static async parseProject(directory: string): Promise<Project> {
2117
const loadedProject = await (new ConfigLoader().loadProject(directory));
2218

2319
const configBlocksResult = await Promise.all(loadedProject.coreModule.files.map((file) => {
@@ -35,18 +31,10 @@ export class ConfigCompiler {
3531
throw new Error('One or zero project config can be specified');
3632
}
3733

38-
const projectConfig = parsedProjectConfigs[0] as ProjectConfig;
39-
return new ParsedProject({
40-
coreModule: new ParsedModule({
41-
configBlocks: configBlocks.filter((u) => u.configClass !== ConfigClass.PROJECT),
42-
}),
34+
const projectConfig = parsedProjectConfigs[0] as unknown as ProjectConfig;
35+
return new Project({
4336
projectConfig,
37+
resourceConfigs: configBlocks.filter((u) => u.configClass !== ConfigClass.PROJECT) as ResourceConfig[],
4438
})
4539
}
46-
47-
static compileProject(parsedProject: ParsedProject, definitions: ResourceDefinitions): CompiledProject {
48-
const compiledProject = CompiledProjectTransformer.validateAndTransform(parsedProject, definitions);
49-
DependencyGraphBuilder.buildDependencyGraph(compiledProject);
50-
return compiledProject;
51-
}
5240
}

codify-core/src/config-compiler/output-generator/entities/compiled-project.test.ts

Lines changed: 0 additions & 169 deletions
This file was deleted.

codify-core/src/config-compiler/output-generator/entities/compiled-project.ts

Lines changed: 0 additions & 76 deletions
This file was deleted.

codify-core/src/config-compiler/output-generator/entities/index.ts

Lines changed: 0 additions & 14 deletions
This file was deleted.

codify-core/src/config-compiler/output-generator/entities/resource-parameter.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)