Source vs. compiled paths
What just happened? The CLI command sanity check
is running in production mode, and got this error.
The reason may be that you have defined a compiled
path in the sanity.json
file in your Studio. This tells Sanity to look for the files in a different location when running in production mode.
Another reason may be that sanity check
has found a Studio plugin which is published on npm with files that are not compiled.
The paths
propery in a sanity.json
file tells Sanity where to look for both compiled and uncompiled code files. Given the following sanity.json
config:
{
"paths": {
"source": "./src",
"compiled": "./lib"
},
"parts": [
{
"implements": "part:@sanity/base/tool",
"path": "my-tool/index.js"
}
]
}
Sanity will look for source files in ./src
(relative to the location of the sanity.json
file) and compiled files in ./lib
. In the particular case above, the tool source should be in ./src/my-tool/index.js
and the compiled version will end up in ./lib/my-tool/index.js
.
If a plugin doesn't require any Babel compilation, the sanity.json
for that plugin doesn't need a declaration of the paths
property.
You can read more about sanity.json and parts.