Skip to content
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

Closed
wants to merge 1 commit into from
Closed

[WIP] Fix dynamic-import-chunkname validation regex #1411

wants to merge 1 commit into from

Conversation

vkrol
Copy link

@vkrol vkrol commented Jul 8, 2019

Fixes #1407.

@coveralls
Copy link

coveralls commented Jul 8, 2019

Coverage Status

Coverage remained the same at 97.902% when pulling ab4057a on vkrol:fix-dynamic-import-chunkname-validation-regex into 7ffbf03 on benmosher:master.

tests/src/rules/dynamic-import-chunkname.js Show resolved Hide resolved
@@ -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),?)+ $/
Copy link
Member

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.

Copy link
Author

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.

Copy link
Author

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.

Copy link
Member

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.

Copy link
Author

@vkrol vkrol Jul 8, 2019

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),?)+ $/

Copy link
Member

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)

Copy link
Author

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?

Copy link
Member

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 vkrol changed the title Fix dynamic-import-chunkname validation regex [WIP] Fix dynamic-import-chunkname validation regex Sep 5, 2019
@ljharb
Copy link
Member

ljharb commented Apr 16, 2020

@vkrol are you still interested in completing this PR?

@vkrol
Copy link
Author

vkrol commented Apr 21, 2020

@ljharb Yes.

@vkrol
Copy link
Author

vkrol commented Feb 20, 2022

Obsoleted by #2330.

@vkrol vkrol closed this Feb 20, 2022
@ljharb
Copy link
Member

ljharb commented Feb 20, 2022

That hasn’t landed yet tho.

@ljharb ljharb reopened this Feb 20, 2022
@vkrol
Copy link
Author

vkrol commented Nov 11, 2022

This was fixed in #2330.

@vkrol vkrol closed this Nov 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

dynamic-import-chunkname does not handle webpackInclude/webpackExclude comments correctly
3 participants