Skip to content

Commit 9d5111f

Browse files
committed
Bugfix: Regex fixed to account for comments before class definitions. closes #545
1 parent 7f5081b commit 9d5111f

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/moduleManager.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export class ModuleManager {
5555

5656
private static readTypescriptFile(filename: string, errors: string[]): NgModule | Component | Directive | Pipe | Injectable | undefined {
5757
const fileContents = fs.readFileSync(filename).toString();
58-
let regex: RegExp = /@NgModule\s*\(\s*(\{.+?\})\s*\)\s*export\s+class\s+(\w+)\s+/ims;
58+
let regex: RegExp = /@NgModule\s*\(\s*(\{.+?\})\s*\).+export\s+class\s+(\w+)\s+/ims;
5959
var match = regex.exec(fileContents);
6060
if (match !== null) {
6161
const moduleName = match[2];
@@ -78,7 +78,7 @@ export class ModuleManager {
7878
return undefined;
7979
}
8080
}
81-
regex = /@Component\s*\(\s*(\{.+?\})\s*\)\s*export\s+class\s+(\w+)\s+(.*)/ims;
81+
regex = /@Component\s*\(\s*(\{.+?\})\s*\).+export\s+class\s+(\w+)\s+(.*)/ims;
8282
match = regex.exec(fileContents);
8383
if (match !== null) {
8484
const className = match[2];
@@ -87,17 +87,17 @@ export class ModuleManager {
8787
this.enrichComponent(component, classBody);
8888
return component;
8989
}
90-
regex = /@Directive\s*\(.*?\)\s*export\s+class\s+(\w+)\s+(.*)/ims;
90+
regex = /@Directive\s*\(.*?\).+export\s+class\s+(\w+)\s+(.*)/ims;
9191
const newDirective = this.parseNamedEntity(Directive, filename, fileContents, regex);
9292
if (newDirective !== undefined) {
9393
return newDirective;
9494
}
95-
regex = /@Pipe\s*\(.*?\)\s*export\s+class\s+(\w+)\s+(.*)/ims;
95+
regex = /@Pipe\s*\(.*?\).+export\s+class\s+(\w+)\s+(.*)/ims;
9696
const newPipe = this.parseNamedEntity(Pipe, filename, fileContents, regex);
9797
if (newPipe !== undefined) {
9898
return newPipe;
9999
}
100-
regex = /@Injectable\s*\(.*?\)\s*export\s+class\s+(\w+)\s+(.*)/ims;
100+
regex = /@Injectable\s*\(.*?\).+export\s+class\s+(\w+)\s+(.*)/ims;
101101
const newInjectable = this.parseNamedEntity(Injectable, filename, fileContents, regex);
102102
if (newInjectable !== undefined) {
103103
return newInjectable;

0 commit comments

Comments
 (0)