Skip to content

Move all modulify functionality into grunt dev-server and builds (eliminate machine generated files) #1638

@samreid

Description

@samreid

During phetsims/number-pairs#217, I made a change to one a11y string in a yaml file, and when I went to commit the changes from modulify, there were changes in 5 files across 2 repos:

Image

This is very noisy and suffers from the antipattern of committing "build" artifacts.

I'm aware of 3 steps that would be required to deal with this:

  1. Eliminate all static servers. I'm aware that phet test, soon to be launchpad, uses a static server. It would need to convert to grunt dev-server. Not sure if there are others.
  2. Rosetta has a step that looks for the json strings file. It would need to know how to look for yaml instead (but @jbphet commented on this in Should we create a new /generated directory for machine written files? #1595 (comment) )
  3. Deal with this during the build step

We may also want to add caching for this step in the build server, if it speeds things up.

This would also eliminate the modulify step from development, or when designers change yaml files.

However, we still need to generate the *Fluent.ts file when changing yaml keys or variables, since the type information changes, and the type checker relies on static files (that would be crazy if the type checker loaded a "redirect" generated file from localhost/).

I see enough caveats or costs here that this may not be an easy step. May be good to consider with the development team, especially if we have requirements that static servers must work somewhere.

Overlaps somewhat with #1595 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions