-
Notifications
You must be signed in to change notification settings - Fork 28
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
Build failed on Windows. Changes enable cross-platform build #188
base: master
Are you sure you want to change the base?
Conversation
Setting environment variables in node using package.json was being done in such a way that was only working on Linux. Solution from https://stackoverflow.com/a/37131308 Added cross-env package as a development dependency, and modified all entries where an environment variable is being set to use cross-env making it platform independent
After making package.json platform independent, build broke on almost all files stating incorrect line break. To make this further platform independent without modifying all file linebreaks, change eslintrc.json config to not throw error when any particular style of line break is encountered.
thanks for your awesome PR. I'll review shortly. |
@@ -13,7 +13,7 @@ | |||
"arrow-parens": ["error", "as-needed"], | |||
"comma-dangle": ["error", "never"], | |||
"indent": ["error", 2], | |||
"linebreak-style": ["error", "unix"], | |||
"linebreak-style": 0, |
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.
could you tell me a little more about this. I hadn't paid much attention to this recently. I think we still want to keep a consistent line break approach ("\n"), but I'm open to discussion. What does setting "linebreak-style" to zero achieve? I think there's ways to do \n and not \r\n on Windows machines when you are using vscode...
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.
I'm not that strict about linebreak-style really, as I don't think it affects much except how things look on different editors/ides. Github check-in/check-out can also change linebreaks depending on your github settings, to allow for platform independent development. So, likebreak-style being inconsistent should be warning, rather than error.
Having said all that, the change I made, i.e. linebreak-style: 0, essentially disables linebreak-style checks. Don't know how to make it into a platform dependent warning, so that, if you're working on Windows, it warns if linebreaks are not Windows style, and if you're working on Unix, then it warns on non-Unix line breaks.
Do we even need to check linebreak styles for build as it doesn't affect output and code minifying removes them anyway.
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.
How about this?
"linebreak-style": ["error", (process.platform === "win32" ? "windows" : "unix")]
This should throw error only if the linebreak style is not appropriate for the platform you're working on.
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.
I think this would still lead to inconsistencies between platforms, which I'm hoping to avoid. Would you be able to add an . editorconfig instead?
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.
thank you! Adding Windows support would be massive! :-)
Type of PR
What is the Goal of the PR?
To enable build on Windows platform.
What is the Motivation for the PR?
I'm using Windows :)
I'm new to community based development and js dev and github. I forked the repository and cloned it to my pc and followed instructions to build, but that failed. This should not happen. The project/repository should be platform independent.
What Tests are Included?
It builds