Skip to content

Commit 8cff6f0

Browse files
fixup! fix(compiler): add more specific matcher for hydrate never block
1 parent e304b2e commit 8cff6f0

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

packages/compiler/src/render3/r3_deferred_blocks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ const HYDRATE_WHEN_PATTERN = /^hydrate\s+when\s/;
3232
const HYDRATE_ON_PATTERN = /^hydrate\s+on\s/;
3333

3434
/** Pattern to identify a `hydrate never` trigger. */
35-
const HYDRATE_NEVER_PATTERN = /^hydrate\s+never$/;
35+
const HYDRATE_NEVER_PATTERN = /^hydrate\s+never(\s*)$/;
3636

3737
/** Pattern to identify a `minimum` parameter in a block. */
3838
const MINIMUM_PARAMETER_PATTERN = /^minimum\s/;

packages/compiler/test/render3/r3_template_transform_spec.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1425,6 +1425,26 @@ describe('R3 template transform', () => {
14251425
);
14261426
});
14271427

1428+
it('should not report an error when `hydrate never` is used with additonal blocks', () => {
1429+
expect(() => parse('@defer (hydrate never; on idle;) {hello}')).not.toThrowError(
1430+
/Unrecognized trigger/,
1431+
);
1432+
});
1433+
1434+
it('should not report an error when `hydrate never` is used with spaces', () => {
1435+
expect(() => parse('@defer(hydrate never ; on idle ;) {hello}')).not.toThrowError(
1436+
/Unrecognized trigger/,
1437+
);
1438+
});
1439+
1440+
it('should not report an error when `hydrate never` is used after another block', () => {
1441+
expect(() =>
1442+
parse(`@defer(
1443+
on idle;
1444+
hydrate never) {hello}`),
1445+
).not.toThrowError(/Unrecognized trigger/);
1446+
});
1447+
14281448
it('should report when `hydrate never` is used together with another `hydrate` trigger', () => {
14291449
// Extra trigger after `hydrate never`.
14301450
expect(() =>

0 commit comments

Comments
 (0)