Open vlaaad opened 1 month ago
Cyan doesn't currently handle this use case too well. An awkward solution would be to move the lua file into the build directory and use the dont_prune
config.
return {
build_dir = "build",
include_dir = {"src"},
source_dir = "src",
dont_prune = { "build/test.lua" },
}
Or keep your lua sources in a different directory and use a build script to copy them over.
But this use case seems reasonable enough to be supported by default.
@euclidianAce I think I'm hitting the same issue when trying to use Cyan with the teal
branch of LuaRocks.
Right now I have two kinds of Lua files under src
, and I want to ignore both:
.lua
files from the .tl
files (I'm still keeping them under src/
to keep the build scripts compatible). I managed to get Cyan to ignore this by adding exclude = { "**/*.lua" }
in my tlconfig.lua
filesrc/luarocks/vendor/argparse.lua
, for which I have a src/luarocks/vendor/argparse.d.tl
file. Looks like Cyan is still checking the .lua
file (and thus outputting lots of errors) because these are referenced by other files as dependencies.
See repro: cyan-lua-compilation-repro.zip
When I have a following file structure:
And
tlconfg.lua
set to:Then cyan build fails:
It looks like cyan tries to typecheck a lua file as if it was a teal file (even though there is a corresponding
.d.tl
file!).