-
-
Notifications
You must be signed in to change notification settings - Fork 11
Description
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
getJavaScriptComponentFileis undefined whilelocalVuePathis 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
vueFileToJavaScriptFilenameMapbut too late. -
Compile https://github.com/11ty/eleventy-plugin-vue/blob/0.x/.eleventy.js#L224 is never called. The
getInstanceFromInputPathis 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.