Does not work in @11ty/eleventy 2.0.1
Opened this issue · 1 comments
Using version 0.8.0
Using tested node versions 16, 20
Error on startup when .vue file present:
Using cross-env ELEVENTY_EXPERIMENTAL=true eleventy --serve
[11ty] Problem writing Eleventy templates: (more in DEBUG output)
[11ty] The "id" argument must be of type string. Received undefined (via TypeError)
[11ty]
[11ty] Original error stack trace: TypeError [ERR_INVALID_ARG_TYPE]: The "id" argument must be of type string. Received undefined
[11ty] at Module.require (node:internal/modules/cjs/loader:1304:3)
[11ty] at require (node:internal/modules/helpers:179:18)
[11ty] at EleventyVue.getComponent (D:\Data\workspace\...\node_modules\@11ty\eleventy-plugin-vue\EleventyVue.js:528:21)
[11ty] at Object.getInstanceFromInputPath (D:\Data\workspace\...\node_modules\@11ty\eleventy-plugin-vue\.eleventy.js:190:26)
[11ty] at CustomEngine.getExtraDataFromFile (D:\Data\workspace\...\node_modules\@11ty\eleventy\src\Engines\Custom.js:143:33)
[11ty] at async D:\Data\workspace\...\node_modules\@11ty\eleventy\src\TemplateContent.js:280:27
[11ty] Wrote 0 files in 0.09 seconds (v2.0.1)
Troubleshooting:
-
The path returned by
getJavaScriptComponentFile
is undefined whilelocalVuePath
is defined as the .vue file. The vue file is not compiled to the cache and is not present in the mapping ofvueFileToJavaScriptFilenameMap
. -
When I rename the vue file to something else and start eleventy with serve - then change it back to a vue file - it will throw the error. After the error is thrown the files are compiled and added to
vueFileToJavaScriptFilenameMap
but too late. -
Compile https://github.com/11ty/eleventy-plugin-vue/blob/0.x/.eleventy.js#L224 is never called. The
getInstanceFromInputPath
is called before the compile function is executed
Assumption of issue:
runBundle
is executed at the start. However, the listed files are empty https://github.com/11ty/eleventy-plugin-vue/blob/0.x/.eleventy.js#L145-L163 because changedVueFilesOnWatch
is empty as it only populates these files after file changes on the inital start.
To clarify : I get the same issue when using npm run sample
in this repository.