fix(ngc): don't codegen foo.d.ngfactory.ts from foo.d.ts (#10833)
This commit is contained in:
parent
292ccf882a
commit
cd8cbd3762
|
@ -9,6 +9,7 @@
|
|||
import {ApplicationRef, NgModule} from '@angular/core';
|
||||
import {FormsModule} from '@angular/forms';
|
||||
import {BrowserModule} from '@angular/platform-browser';
|
||||
import {MdButtonModule} from '@angular2-material/button';
|
||||
|
||||
import {AnimateCmp} from './animate';
|
||||
import {BasicComp} from './basic';
|
||||
|
@ -25,7 +26,10 @@ import {CompWithChildQuery, CompWithDirectiveChild} from './queries';
|
|||
CompWithDirectiveChild, CompUsingRootModuleDirectiveAndPipe, CompWithProviders,
|
||||
CompWithReferences, CompUsingPipes
|
||||
],
|
||||
imports: [BrowserModule, FormsModule, someLibModuleWithProviders(), ModuleUsingCustomElements],
|
||||
imports: [
|
||||
BrowserModule, FormsModule, someLibModuleWithProviders(), ModuleUsingCustomElements,
|
||||
MdButtonModule
|
||||
],
|
||||
providers: [SomeService],
|
||||
entryComponents: [
|
||||
AnimateCmp, BasicComp, CompWithEntryComponents, CompWithAnalyzeEntryComponentsProvider,
|
||||
|
|
|
@ -36,6 +36,12 @@ describe('template codegen output', () => {
|
|||
expect(fs.readFileSync(dtsOutput, {encoding: 'utf-8'})).toContain('Basic');
|
||||
});
|
||||
|
||||
it('should write .ngfactory.ts for .d.ts inputs', () => {
|
||||
const factoryOutput =
|
||||
path.join('node_modules', '@angular2-material', 'button', 'button.ngfactory.ts');
|
||||
expect(fs.existsSync(factoryOutput)).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should be able to create the basic component', () => {
|
||||
var compFixture = createComponent(BasicComp);
|
||||
expect(compFixture.componentInstance).toBeTruthy();
|
||||
|
|
|
@ -58,7 +58,7 @@ export class OfflineCompiler {
|
|||
compile(
|
||||
moduleUrl: string, ngModulesSummary: NgModulesSummary, components: StaticSymbol[],
|
||||
ngModules: StaticSymbol[]): Promise<SourceModule[]> {
|
||||
let fileSuffix = _splitLastSuffix(moduleUrl)[1];
|
||||
let fileSuffix = _splitTypescriptSuffix(moduleUrl)[1];
|
||||
let statements: o.Statement[] = [];
|
||||
let exportedVars: string[] = [];
|
||||
let outputSourceModules: SourceModule[] = [];
|
||||
|
@ -203,7 +203,7 @@ function _resolveStyleStatements(
|
|||
}
|
||||
|
||||
function _ngfactoryModuleUrl(compUrl: string): string {
|
||||
var urlWithSuffix = _splitLastSuffix(compUrl);
|
||||
var urlWithSuffix = _splitTypescriptSuffix(compUrl);
|
||||
return `${urlWithSuffix[0]}.ngfactory${urlWithSuffix[1]}`;
|
||||
}
|
||||
|
||||
|
@ -221,7 +221,10 @@ function _assertComponent(meta: CompileDirectiveMetadata) {
|
|||
}
|
||||
}
|
||||
|
||||
function _splitLastSuffix(path: string): string[] {
|
||||
function _splitTypescriptSuffix(path: string): string[] {
|
||||
if (/\.d\.ts$/.test(path)) {
|
||||
return [path.substring(0, path.length - 5), '.ts'];
|
||||
}
|
||||
let lastDot = path.lastIndexOf('.');
|
||||
if (lastDot !== -1) {
|
||||
return [path.substring(0, lastDot), path.substring(lastDot)];
|
||||
|
|
|
@ -13,6 +13,7 @@ PKGS=(
|
|||
rxjs
|
||||
@types/{node,jasmine}
|
||||
jasmine
|
||||
@angular2-material/{core,button}
|
||||
)
|
||||
|
||||
TMPDIR=${TMPDIR:-.}
|
||||
|
|
Loading…
Reference in New Issue