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 while localVuePath is defined as the .vue file. The vue file is not compiled to the cache and is not present in the mapping of vueFileToJavaScriptFilenameMap.
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.
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
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 executedAssumption 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 becausechangedVueFilesOnWatch
is empty as it only populates these files after file changes on the inital start.