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

Transforming string concatenations to template strings #10

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

julian-schneider
Copy link

@julian-schneider julian-schneider commented Jul 24, 2023

Addresses #8.

Draft PR with hacky code that transforms any line containing import(...) to a template string as a preprocessing step, but without checking the original content.
If the original line was not even a string concatenation, but e.g. part of a regex as happening here, it breaks the regex.

If the user is aware of this risk, the code can be used in combination with the filter option, as to not break other module code. But it would be nicer to be able to prevent the issue entirely:

Normally, this line does a final check if the import statement contains a template string. But since the new code has transformed destinationFile to a template string already, the check is now useless. If this condition was changed to effectively check whether the original line was either a template string, or a valid import statement containing simple string concatenation, this code should work fine. But I did not find a robust way to check that.

An alternative to using this code would be to let ESLint do the job: The prefer-template rule can be enforced via the --fix option, which might be a robust preprocessing step for string concatenation.

warning: this code transforms any line containing `import(...)` to a template string without checking the original content. If the original line was not even a string concatenation, but e.g. part of a regex, it breaks it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant