The team is now working on the WordPress Interactivity API. This unblocks the same UX Frontity framework enabled but directly in WordPress Core, fully compatible with the new Site Editor.
I find confusing to name our packages as “packages” and then divide them between “themes” and “extensions” when “theme” is just a namespace. It gets more confusing when dealing with npm packages.
The name “plugin” is also confusing because WP has plugins and there will be a Frontity plugin, but “extension” is not used anywhere else.
So my suggestion is to change our “packages” for “extensions”, even for the themes.
In frontity.settings.js:
module.exports = [
{
name: "my-site", // The name of your site.
extensions: [
"@frontity/mars-theme",
"@frontity/tiny-router",
"@frontity/wp-source"
]
}
]
Now your are wondering if it was the right decision!
luisherranz5
Yes, I still am
luisherranz6
@david?
David7
Well, we are in some way extending frontity’s core, so I think extension is a good name, isn’t it?
luisherranz8
EDIT: I put the poll on hold for now.
luisherranz10
@orballo could you please share your latest concerns here? This is a huge refactoring so I’d love to be sure before starting.
orballo11
Sure, my concerns where that depending on the context where we are talking about a package, it could be named package or extension even if the thing itself was the same.
For example, if we talk about @frontity/wp-source in relation with package.json we’ll call it package, but if we talk about @frontity/wp-source in relation with frontity.settings.js we’ll call it extension. It will be the same thing with two names depending on the context, and that might result confusing.
luisherranz12
Good point.
What about calling them just Frontity Packages instead of Extensions? Does it help?
orballo13
How would the key be called inside frontity.settings.js? frontityPackages? It seems redundant. Maybe the way to go is just to keep it as it is.
luisherranz14
Yes, they would be named just packages but Frontity packages when you need to distinguish them from regular npm packages.