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

Build failed on Windows. Changes enable cross-platform build #188

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

avnir-cs
Copy link

@avnir-cs avnir-cs commented Jul 6, 2022

Type of PR

  • [+] Bug Fix
  • [+] Feature

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

avnir-cs added 2 commits July 6, 2022 13:58
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.
@DanielJDufour
Copy link
Member

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,
Copy link
Member

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...

Copy link
Author

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.

Copy link
Author

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.

Source: https://stackoverflow.com/a/53110172

Copy link
Member

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?

package.json Outdated Show resolved Hide resolved
Copy link
Member

@DanielJDufour DanielJDufour left a 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! :-)

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.

2 participants