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

fix excessive gleam.mjs generation #3238

Merged
merged 1 commit into from
Jun 11, 2024

Conversation

ofekd
Copy link

@ofekd ofekd commented Jun 2, 2024

This patch fixes excessive generation by checking if modules is empty.

Two other possible solutions have been ruled out:

  • Checking for file existence may result in not updating outdated files
  • Comparing contents is slow

closes #3178

Copy link
Member

@lpil lpil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!! I've left a note inline, and the changelog will need to be updated too.

compiler-core/src/codegen.rs Show resolved Hide resolved
This patch fixes excessive generation by checking if `modules` is empty.

Two other possible solutions have been ruled out:

- Checking for file existence may result in not updating outdated files
- Comparing contents is slow

closes gleam-lang#3178
@ofekd
Copy link
Author

ofekd commented Jun 4, 2024

All done, thanks for reviewing

Copy link
Member

@lpil lpil 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

@lpil lpil merged commit 50d7a90 into gleam-lang:main Jun 11, 2024
11 checks passed
ofekd pushed a commit to ofekd/gleam that referenced this pull request Jun 20, 2024
This patch fixes ecvession generation by checking files existence.

An earlier attempt (gleam-lang#3238) had done this by checking for empty `modules`,
noting in its commit message that file existence checks will cause old
`gleam.mjs` to never be updated when a new version is available. I have
since learned that that was incorrect, as new versions of `gleam` delete
`build` folders created by previous versions.

closes gleam-lang#3178
ofekd pushed a commit to ofekd/gleam that referenced this pull request Jun 20, 2024
This patch fixes excessive generation by checking for file existence.

An earlier attempt (gleam-lang#3238) had done this by checking for empty `modules`,
noting in its commit message that file existence checks will cause old
`gleam.mjs` to never be updated when a new version is available. I have
since learned that that was incorrect, as new versions of `gleam` delete
`build` folders created by previous versions.

closes gleam-lang#3178
ofekd pushed a commit to ofekd/gleam that referenced this pull request Jun 20, 2024
This patch fixes excessive generation by checking for file existence.

An earlier attempt (gleam-lang#3238) had done this by checking for empty `modules`,
noting in its commit message that file existence checks will cause old
`gleam.mjs` to never be updated when a new version is available. I have
since learned that that was incorrect, as new versions of `gleam` delete
`build` folders created by previous versions.

closes gleam-lang#3178
ofekd pushed a commit to ofekd/gleam that referenced this pull request Jun 20, 2024
This patch fixes excessive generation by checking for file existence.

An earlier attempt (gleam-lang#3238) had done this by checking for empty `modules`,
noting in its commit message that file existence checks will cause old
`gleam.mjs` to never be updated when a new version is available. I have
since learned that that was incorrect, as new versions of `gleam` delete
`build` folders created by previous versions.

closes gleam-lang#3178
ofekd pushed a commit to ofekd/gleam that referenced this pull request Jun 20, 2024
This patch fixes excessive generation by checking for file existence.

An earlier attempt (gleam-lang#3238) had done this by checking for empty `modules`,
noting in its commit message that file existence checks will cause old
`gleam.mjs` to never be updated when a new version is available. I have
since learned that that was incorrect, as new versions of `gleam` delete
`build` folders created by previous versions.

closes gleam-lang#3178
lpil pushed a commit that referenced this pull request Jun 22, 2024
This patch fixes excessive generation by checking for file existence.

An earlier attempt (#3238) had done this by checking for empty `modules`,
noting in its commit message that file existence checks will cause old
`gleam.mjs` to never be updated when a new version is available. I have
since learned that that was incorrect, as new versions of `gleam` delete
`build` folders created by previous versions.

closes #3178
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.

gleam build generates gleam.mjs and gleam.d.mts even if they already exist
2 participants