29 lines
		
	
	
		
			813 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			813 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import * as plugins from './plugins.js';
 | |
| import * as paths from './paths.js';
 | |
| 
 | |
| import { GitzoneConfig } from './classes.gitzoneconfig.js';
 | |
| import type { TGitzoneProjectType } from './classes.gitzoneconfig.js';
 | |
| 
 | |
| /**
 | |
|  * the Project class is a tool to work with a gitzone project
 | |
|  */
 | |
| export class Project {
 | |
|   public static async fromCwd() {
 | |
|     const gitzoneConfig = await GitzoneConfig.fromCwd();
 | |
|     const project = new Project(gitzoneConfig);
 | |
|     if (!project.gitzoneConfig.data.projectType) {
 | |
|       throw new Error('Please define a project type');
 | |
|     }
 | |
|     return project;
 | |
|   }
 | |
| 
 | |
|   public gitzoneConfig: GitzoneConfig;
 | |
|   public get type(): TGitzoneProjectType {
 | |
|     return this.gitzoneConfig.data.projectType;
 | |
|   }
 | |
| 
 | |
|   constructor(gitzoneConfigArg: GitzoneConfig) {
 | |
|     this.gitzoneConfig = gitzoneConfigArg;
 | |
|   }
 | |
| }
 |