<p dir="auto">Build failing with:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="ninja: Entering directory `C:\denodev\deno\target\debug'
[43/633] LINK flatc.exe flatc.exe.pdb
FAILED: flatc.exe flatc.exe.pdb
ninja -t msvc -e environment.x64 -- ../../third_party/llvm-build/Release+Asserts/bin/lld-link.exe /nologo /OUT:./flatc.exe /PDB:./flatc.exe.pdb @./flatc.exe.rsp
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;bool&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;char&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;signed char&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned char&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;wchar_t&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;char16_t&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;char32_t&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;short&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned short&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;int&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned int&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;long&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned long&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;__int64&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned __int64&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_floating_point&lt;float&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_floating_point&lt;double&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_floating_point&lt;long double&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::is_void_v&lt;void&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::is_void_v&lt;void const&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: too many errors emitted, stopping now (use /errorlimit:0 to see all errors)
[48/633] CC obj/build_extra/rust/ring-core/cpu-intel.obj
ninja: build stopped: subcommand failed."><pre class="notranslate"><code class="notranslate">ninja: Entering directory `C:\denodev\deno\target\debug'
[43/633] LINK flatc.exe flatc.exe.pdb
FAILED: flatc.exe flatc.exe.pdb
ninja -t msvc -e environment.x64 -- ../../third_party/llvm-build/Release+Asserts/bin/lld-link.exe /nologo /OUT:./flatc.exe /PDB:./flatc.exe.pdb @./flatc.exe.rsp
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;bool&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;char&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;signed char&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned char&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;wchar_t&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;char16_t&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;char32_t&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;short&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned short&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;int&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned int&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;long&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned long&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;__int64&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_integral&lt;unsigned __int64&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_floating_point&lt;float&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_floating_point&lt;double&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::_Is_floating_point&lt;long double&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::is_void_v&lt;void&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: duplicate symbol: bool const std::is_void_v&lt;void const&gt; in obj/build_extra/flatbuffers/flatc/flatc_main.obj and in obj/build_extra/flatbuffers/compiler_files/cpp_generator.obj
lld-link: error: too many errors emitted, stopping now (use /errorlimit:0 to see all errors)
[48/633] CC obj/build_extra/rust/ring-core/cpu-intel.obj
ninja: build stopped: subcommand failed.
</code></pre></div>
<p dir="auto">Okay, this project looks really interesting so far. While watching the talk I just noticed one thing that might be a problem for some developers. That's just allowing imports with relative path's (besides URLs). There are a lot of questions on the internet on how one can import a file in TS/Webpack/whatever relative to the project root. With relative paths people will end up with things like <code class="notranslate">import { foo } from '../../../../modules/featureA/foo.ts'</code>. Or was it just <code class="notranslate">../../../modules/...</code>? What if I move my files around? Yes, you have to update your imports anyway. But figuring out how many directories you have to go up is a very tedious task on its own.</p>
<p dir="auto">In the talk, you/Ryan talked about browser compatibility. I haven't tried out ES modules in the browser just yet. But I'm pretty sure it also supports absolute paths. <em>Absolute</em> in that context means <em>relative to the web root</em>. It would be really handy if we were able to just write <code class="notranslate">import { foo } from '/modules/featureA/foo.ts'</code>.</p>
<p dir="auto">Of course, now there's the question: What is the root directory of a deno application? The only thing that makes sense to me right now is the folder that contains the entry file ‒ basically what <code class="notranslate">process.cwd()</code> is in node. But I also think it's fine to place the entry file in the most top-level directory of the project, isn't it?</p>
<p dir="auto">Or is there any problem about absolute paths I didn't think about so far? What do you think about that?</p>