[#1458]: Fix strictPath behaviour when aot: false
is set
#1459
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes strictPath default behavior when
aot: false
is set. This solves #1458The Bug
When you set
aot: false
without explicitly specifyingstrictPath
,routes behave as if
strictPath: true
is enabled. This causes paths withtrailing slashes to return 404.
Example:
Returns 404, should be 200
Root Cause
Line 812 in src/index.ts uses strict equality:
When strictPath is undefined (the default), undefined === false evaluates
to false, so loose path variants never get added to the dynamic router.
The Fix
Changed to truthy check:
This matches the pattern used elsewhere in the codebase (lines 1024, 1042,
1048, and compose.ts:2271).
Tests
Added test/core/aot-strictpath.test.ts covering:
Summary by CodeRabbit