Zearin
Zearin
## Recent related experience I recently started trying to port a project that used a deep `_data/` directory (yes, the same name! ☻), `*.mjs` files, along with `import` and `export`....
Look at this from the Node v16 docs: https://nodejs.org/dist/latest-v16.x/docs/api/esm.html#esm_node_imports
What about a `metalsmith: …` metadata key? Underneath that, you could add the `filename` or anything else necessary for Metalsmith’s processing pipeline. I can’t imagine any accidental name collisions if...
## “These aren’t the ~~droids~~ files you’re looking for…“ Now that I’ve had some time to get to know Metalsmith better, I don’t think the core needs to be modified....
> One minor correction though: that 'filename' key containing the "original" filename actually doesn't get created by Metalsmith. You can, however, easily add it with a plugin if needed. …Oh!...
(Edited my earlier post with a note reflecting @Ajedi32’s correction. Hopefully that will prevent my earlier post from misleading future readers who might be skimming the thread without looking closely.)
> @hollowdoor I'm confused. What part of @unstoppablecarl's list of conventions above do you think metalsmith-markdown is breaking? There's nothing in that list of conventions that says plugins shouldn't move...
> Do you mean aside from the change to a Promise-based API? Ah, nice catch! You are correct. This will still require changing code. I approached the changes with the...
(Aside: I *think* this sort-of address #211. When calling `build()` with `await`, no arguments are required.)
> * what changes would this require for plugins to remain compatible? I see we're still using Ware to manage the plugins. So for those plugins that strictly adhere to...