Skip to content
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

Webpack: Move webpack merge/modes mention to a later lesson #26977

Open
3 tasks done
MaoShizhong opened this issue Dec 23, 2023 · 6 comments · May be fixed by #27953
Open
3 tasks done

Webpack: Move webpack merge/modes mention to a later lesson #26977

MaoShizhong opened this issue Dec 23, 2023 · 6 comments · May be fixed by #27953
Labels
Content: JavaScript Involves the JavaScript course Status: Stale This issue/PR has been inactive for over 30 days and will be closed if inactivity continues

Comments

@MaoShizhong
Copy link
Contributor

Checks

Describe your suggestion

In #26381 and #26552 I ended up adding step 4 of the webpack lesson assignment which took the user through the difference between development/production mode and using webpack-merge to set a dev and prod config tied to their own npm scripts.

Whilst this has proved convenient for some people (especially after more experience with Webpack) and has reduced the number of questions concerning the warning when no mode is specified, in hindsight, I feel it is not necessary to include that part in the Webpack lesson as it's not strictly necessary to get started with it. I feel it would be more beneficial moved to a later lesson e.g. the linting lesson (though still not 100% sure if this would the best place either?) in order to give the learner more time to use and get a feel for webpack before then introducing convenience measures.

This came about starting with this Discord discussion and keeping an eye on things since then, whilst fewer Qs about webpack mode came up, there seemed to be more confusing about webpack as a whole than needs be as people were already struggling to get to grips with the more important parts of using webpack let alone dealing with the difference between mode configs (if anything, the less unnecessary config they need to do at the start, the simpler the learning curve would be I feel). Html-webpack-plugin and css/style loaders I feel are the primary ones needed for straightforward workflow and understanding the roles of src/dist and should be plenty to get through restaurant page and to-do list. It just feels currently that webpack-merge and modes will serve only to overwhelm at the point they're mentioned.

Thoughts?

Path

Ruby / Rails, Node / JS

Lesson Url

https://www.theodinproject.com/lessons/node-path-javascript-webpack

(Optional) Discord Name

Mao

(Optional) Additional Comments

No response

@rlmoser99
Copy link
Member

Thank you for taking the time to make an issue. Can someone from the @TheOdinProject/javascript team, please review this issue, as well as a closely related one:
#26976

@JoshDevHub
Copy link
Contributor

JoshDevHub commented Jan 14, 2024

Hey @MaoShizhong

We agree that it makes sense to move the merge/modes later. With #26976 we're maybe going to explore some broad reorganization of the webpack content, and it seems like this could impact how we proceed with this issue.

Did you have any particular reason you wanted to move it to the linting lesson?

@MaoShizhong
Copy link
Contributor Author

MaoShizhong commented Jan 15, 2024

@JoshDevHub The position of the linting lesson within the course, at least at this point in time (especially now with template repos) felt like the most immediate more sensible place to me, though admittedly I haven't thought really hard about exactly where would be best and what work might be needed to slot the webpack-merge stuff in.

Reason being that point will have had you do 2 projects with webpack already, where some people will have probably found some stuff out through research and the community. The lesson name "Linting" doesn't really go well I know, but now that it includes stuff on template repos, I'm wondering how much of a lesson on "linting" alone it is...

But given that the team is in agreement about exploring a more general webpack section reorganising, I'm wondering about that again. I still don't think that webpack-merge should be introduced when webpack itself is taught first time. I think it should be introduced after at the very least one project to avoid overwhelming learners.
Perhaps in the section that teaches webpack first, the implicit mode warning can be addressed by just mentioning what modes are and saying to set "mode": "development" for now? Then later on address it in more detail and bring up webpack-merge as a convenience tool (since that's what it is)?

So depending on exactly how people plan to reorganise the webpack section, I think this specific issue should come into play after at least one project with webpack, perhaps two. Whether that means it can be integrated into however the section gets reorganised or simply at a later lesson e.g. linting or somewhere around there, depends on those plans. I don't consider this to be an urgent change to be made though in the context of those current plans to explore that section. Thoughts?

Copy link

This issue is stale because it has had no activity for the last 30 days.

@github-actions github-actions bot added the Status: Stale This issue/PR has been inactive for over 30 days and will be closed if inactivity continues label Feb 15, 2024
@MaoShizhong
Copy link
Contributor Author

Moving to backlog.
This is something that'll be worked on in conjunction with the larger ESM/Webpack lesson restructuring detailed in #26976

@github-actions github-actions bot removed the Status: Stale This issue/PR has been inactive for over 30 days and will be closed if inactivity continues label Mar 1, 2024
Copy link

This issue is stale because it has had no activity for the last 30 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Content: JavaScript Involves the JavaScript course Status: Stale This issue/PR has been inactive for over 30 days and will be closed if inactivity continues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants