facebook/relay

Custom `artifactDirectory` has to exist and is not automatically created (like `__generate__`)

Open

#3782 opened on Jan 31, 2022

View on GitHub
 (10 comments) (6 reactions) (0 assignees)Rust (18,930 stars) (1,874 forks)batch import
help wantedrust

Description

When specifying a custom artifactDirectory in the relay compiler config, ​the compiler requires this directory to exist. Otherwise you get:

[ERROR] Config `/home/.../frontend/relay.config.js` is invalid:
​- The `artifactDirectory` does not exist at `/home/.../frontend/src/query-types`.

This is particularly annoying when using git, as you cannot check empty folders into git. The typical ".gitkeep file in folder" trick does not work well, because the relay-compiler deletes all files from the artifact directory on each compile, always leading to a dirty working directory.

I think the best is to use the same behavior as for the default __generated__ folder: create it, if it doesn't exist.


This problem only occurred after upgrading to v13 (i.e. the compiler written in Rust).

Contributor guide