-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Roadmap for v1.0.0 #31
Comments
v1 Goals:I 100% agree that 'stabilizing' the API surface should be the goal of v1. A Robust Plugins Story:The biggest blocker for v1 in my mind is a fully thought out plugin story. How plugins interact with the API really needs more people than just myself investigating before I'd be comfortable saying the API is 'stable'. (lots more below) Rollup Internalization:I'll share my experience more in the other thread #30, but I do believe internalizing the default configs should be a part of v1 but how we offer customization also needs to be considered. I just know across the 4 different Elder.js projects, we tend to have slightly configs due to decisions that predate Elder.js. (Mainly having to do with replacing values in Svelte files.) There are also questions around esm/system and how users could write CSS emitted from svelte to static files instead of tossing it in the head discussed in the other thread.
|
to get an idea of how to reduce api surface area, here's an ideal i'd like to get to and we can maybe work backwards from there:
that's all the steps to have a useful, running site with default layout/navigation (this is also how elderjs becomes the default documentation tool for the svelte ecosystem). then we can customize everything else from there via a getting started/tutorial. the principle i seek is "provide immediate value, let people customize later". Sara Viera got there for the single page Readme.md usecase. gatsby/nextjs/eleventy/docusuarus are all almost-but-not-quite-there. this is what i would have built for |
@sw-yx I totally dig the idea, but I don't think a CLI supporting a specific usecase should live in the core. Instead what you outlined would be perfect for a template/plugin with a tiny CLI wrapper around Elder.js. Here are my specific thoughts on the scope of Elder.js. Elder.js Scope:Before releasing Elder.js I sat down and asked myself if I could commit to maintaining it or facilitate it being maintained until 2023-2024 and doing so would result in a HELL YES for me. Initially the decision wasn't a "Hell YES", but it became one for the following reasons:
TL:DR; Guiding Elder.js' Scope
This statement works because it clearly guides which of the different issues should be a part of the core such as:
Solving the Specific Usecase Outlined:For the usecase outlined by @sw-yx, this could totally be done as a CLI wrapper around Elder.js/template. Steps in more detail:
Bigger PictureOverall I'd consider Elder.js a failure if it adds to JS fatigue, doesn't support the business cases above, or if I personally am not learning a ton. (this is my first OSS project where I am the lead dev) It is weird to write my motivations in such a public forum, but hopefully understanding these motivations help inform what you can expect from me and Elder.js. edit: clarified scope statement. |
Actively hacking on this here: #35 |
@jbmoelker @sw-yx @halafi Major items besides If anyone would like to try the template with shortcodes, it is here: https://github.com/Elderjs/template/tree/v0.2.0. Just a reminder that you'll need to clone the project.... not degit it. |
thanks nick - am focusing on shipping my site first and will upgrade to v0.2 after you launch! |
Hey everyone. This entire checklist has been crushed on #35 along with a bunch of other fixes if anyone would like to code review. Going to be migrating over some plugins, getting things working on ElderGuide.com, and then we'll have a v1.0.0 on our hands. :) |
Wow! I got back from my vacation, and see that you already released v1! Amazing work! Hope we can start using it in more projects at De Voorhoede. We have two projects using Elder in development. Hope to share them (including the code) soon. |
@jbmoelker Woot woot. :) Welcome back. One thing I'd love another set of eyes on this implementation of module/nomodule #42. |
Hi Elder team! Congrats on all the hard work so far! I'm very curious if you have a roadmap - things you think should be added, changed or removed to Elder - before releasing a stable v1.0.0. What are your ideas?
Imho more functionality can always be added later. So while I think short codes (#29) could be a great addition, I personally think they could wait. On the other hand, I think it's very important to reduce the API surface of Elder to a minimum before releasing v1.0.0 as that makes it easier to change things under the hood without developers using the framework being affected. So to me issues like simplifying elder.config.js (#27) and hiding the internals of rollup.config.js (#30) are important to get right before many start using the framework and expect a stable experience.
What are your thoughts?
The text was updated successfully, but these errors were encountered: