-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Fix dynamic-import-chunkname validation regex #1411
[WIP] Fix dynamic-import-chunkname validation regex #1411
Conversation
@@ -30,7 +30,7 @@ module.exports = { | |||
const { webpackChunknameFormat = '[0-9a-zA-Z-_/.]+' } = config || {} | |||
|
|||
const paddedCommentRegex = /^ (\S[\s\S]+\S) $/ | |||
const commentStyleRegex = /^( \w+: ("[^"]*"|\d+|false|true),?)+ $/ | |||
const commentStyleRegex = /^( \w+: ("[^"]*"|\/.*\/|\d+|false|true),?)+ $/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's not just allow "anything", let's be explicit about webpackInclude/webpackExclude.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do not just allow anything. We allow anything between slashes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we want to be explicit about webpackInclude/webpackExclude then we need to be explicit about webpackPreload + true/false too for example. In this case we need to write more sophisticated parser of magic comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fair point, and reasonable to say it's out of scope for this PR - but i'd expect that even if the stuff after the :
is "anything", that the part before it would have to be more explicit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would this be the appropriate solution for now?
- const commentStyleRegex = /^( \w+: ("[^"]*"|\/.*\/|\d+|false|true),?)+ $/
+ const commentStyleRegex = /^( (webpackChunkName|webpackInclude|webpackExclude|...): ("[^"]*"|\/.*\/|\d+|false|true),?)+ $/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That looks great to me - does that mirror what webpack supports? (like, is the space after the colon required, is the space between /*
and w
required or optional, etc)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
like, is the space after the colon required, is the space between /* and w required or optional, etc)
The space after the colon and the space between /* and w are optional. Do we need to change the regex in this PR or it is out of scope?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems better to change it in this PR, so that after this PR lands, it actually matches what webpack supports and no more.
@vkrol are you still interested in completing this PR? |
@ljharb Yes. |
Obsoleted by #2330. |
That hasn’t landed yet tho. |
This was fixed in #2330. |
Fixes #1407.