Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions packages/@lwc/engine-core/src/framework/invoker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { addErrorComponentStack } from '../shared/error';
import { evaluateTemplate, setVMBeingRendered, getVMBeingRendered } from './template';
import { runWithBoundaryProtection } from './vm';
import { logOperationStart, logOperationEnd, OperationId } from './profiler';
import type { LightningElement } from './base-lightning-element';
import { LightningElement } from './base-lightning-element';
import type { Template } from './template';
import type { VM } from './vm';
import type { LightningElementConstructor } from './base-lightning-element';
Expand Down Expand Up @@ -59,10 +59,9 @@ export function invokeComponentConstructor(vm: VM, Ctor: LightningElementConstru
// implementation of LightningElement, so we indirectly check if the base constructor is
// invoked by accessing the component on the vm.
// TODO [W-17769475]: Restore this fix when we can reliably detect Locker enabled
// const isInvalidConstructor = lwcRuntimeFlags.LEGACY_LOCKER_ENABLED
// ? vmBeingConstructed.component !== result
// : !(result instanceof LightningElement);
const isInvalidConstructor = vmBeingConstructed.component !== result;
const isInvalidConstructor = lwcRuntimeFlags.LEGACY_LOCKER_ENABLED
? vmBeingConstructed.component !== result
: !(result instanceof LightningElement);

if (isInvalidConstructor) {
throw new TypeError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ it("[W-6981076] shouldn't throw when a component with an invalid child in unmoun
});

// TODO [W-17769475]: Restore this test when we can reliably detect Locker enabled
xit('should fail when the constructor returns something other than an instance of itself', () => {
it('should fail when the constructor returns something other than an instance of itself', () => {
expect(() => {
createElement('x-returning-bad', { is: ReturningBad });
}).toThrowError(
Expand Down