Skip to content

Commit 5c15bd2

Browse files
authored
Merge pull request #14 from Microsoft/bugfix/render-content-fails-optimized
Fix tree shaking removing code needed for handling `ng-content` in production builds
2 parents 2c66d54 + 19c1501 commit 5c15bd2

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

libs/core/src/lib/renderer/registry.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33

44
import * as React from 'react';
55

6-
import { Disguise } from './components/Disguise';
7-
import { ReactContent } from './react-content';
8-
96
export type ComponentResolver = () => React.ReactType;
107

118
const elementMap = new Map<string, { resolver: ComponentResolver }>();
@@ -49,6 +46,3 @@ export function getComponentClass(elementName: string): React.ReactType {
4946
throw new TypeError(`Could not load component for: ${elementName}.${e}`);
5047
}
5148
}
52-
53-
registerElement('ReactContent', () => ReactContent);
54-
registerElement('Disguise', () => Disguise);

libs/core/src/lib/renderer/renderer.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
import { Injectable, Renderer2, RendererStyleFlags2, RendererType2 } from '@angular/core';
55
import { EventManager, ɵDomRendererFactory2, ɵDomSharedStylesHost } from '@angular/platform-browser';
66
import { StringMap } from '../declarations/StringMap';
7+
import { Disguise } from './components/Disguise';
8+
import { ReactContent } from './react-content';
79
import { isReactNode, ReactNode } from './react-node';
10+
import { registerElement } from './registry';
811

912
const DEBUG = false;
1013

@@ -79,7 +82,11 @@ export class ReactRenderer implements Renderer2 {
7982
},
8083
};
8184

82-
constructor(public readonly rootRenderer: AngularReactRendererFactory) {}
85+
constructor(public readonly rootRenderer: AngularReactRendererFactory) {
86+
// These two elements are essential for the whole experience to be smooth for the user - register them from the get-go.
87+
registerElement('ReactContent', () => ReactContent);
88+
registerElement('Disguise', () => Disguise);
89+
}
8390

8491
destroy(): void {}
8592

0 commit comments

Comments
 (0)