facebook/relay

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

Open

#3,782 opened on Jan 31, 2022

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

Repository metrics

Stars
 (18,930 stars)
PR merge metrics
 (No merged PRs in 30d)

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