diff --git a/src/compiler/compile/css/Selector.ts b/src/compiler/compile/css/Selector.ts index 8569ef8b64..42a60c15f7 100644 --- a/src/compiler/compile/css/Selector.ts +++ b/src/compiler/compile/css/Selector.ts @@ -42,7 +42,7 @@ export default class Selector { this.blocks = group_selectors(node); // take trailing :global(...) selectors out of consideration - const i = this.blocks.findIndex(block => !block.global); + const i = this.blocks.findLastIndex(block => !block.global); this.local_blocks = this.blocks.slice(0, i); diff --git a/src/compiler/interfaces.ts b/src/compiler/interfaces.ts index 248175da59..276c9f6abf 100644 --- a/src/compiler/interfaces.ts +++ b/src/compiler/interfaces.ts @@ -1,6 +1,15 @@ import { AssignmentExpression, Node, Program } from 'estree'; import { SourceMap } from 'magic-string'; +declare global { + interface Array { + findLastIndex( + predicate: (value: T, index: number, obj: T[]) => unknown, + thisArg?: any + ): number + } +} + interface BaseNode { start: number; end: number;