UNPKG

1.11 kBPlain TextView Raw
1import { ts } from 'ts-simple-ast';
2
3import { ClassHelper } from './angular/deps/helpers/class-helper';
4import { ComponentHelper } from './angular/deps/helpers/component-helper';
5
6import { compilerHost } from '../../utils';
7
8export class FrameworkDependencies {
9 private files: string[];
10 private program: ts.Program;
11 private typeChecker: ts.TypeChecker;
12 private classHelper: ClassHelper;
13 public componentHelper: ComponentHelper;
14 public routerParser;
15
16 constructor(files: string[], options: any) {
17 this.files = files;
18
19 const transpileOptions = {
20 target: ts.ScriptTarget.ES5,
21 module: ts.ModuleKind.CommonJS,
22 tsconfigDirectory: options.tsconfigDirectory,
23 allowJs: true
24 };
25 this.program = ts.createProgram(
26 this.files,
27 transpileOptions,
28 compilerHost(transpileOptions)
29 );
30 this.typeChecker = this.program.getTypeChecker();
31 this.classHelper = new ClassHelper(this.typeChecker);
32 this.componentHelper = new ComponentHelper(this.classHelper);
33 }
34}