satisfactorymodding / satisfactorymodding/SatisfactoryModManager

Consider publishing generated files

Open
#252 0 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Svelte
Stars
500
Forks
94
Avg merge
9d 19h
Merged PRs (30d)
2

Description

I'm a package maintainer on Nixpkgs and I'm in the process of adding this package to our package collection.

The issue is that our build system needs to have a stable hash for files fetched from the internet, but the code-generation doesn't look to be reproducible, e.g. the localisation data may change.

AFAICT the graphql schema and tolgee localisation data is currently fetched from api.ficsit.app. Unfortunately, this means that fetching the data will always yield the latest version of the translations/graphql stuff.

Knowing this, I would ask that you consider also publishing the contents of frontend/src/lib/generated so that we can build the application in a reproducible way.

Another solution would be to allow fetching a specific revision of the data from the API, however that sounds more difficult than the method above.

Related PR: https://github.com/NixOS/nixpkgs/pull/348137

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining the generation process for frontend/src/lib/generated and the fetches from api.ficsit.app for the graphql schema and tolgee localisation data. Determine how the generated contents could be published for reproducible builds; done means the application can build without fetching mutable latest data.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.