Shopee / shopee-react-knowledgeable

⚛︎ To share knowledge and have fun.
77 stars 19 forks source link

React Knowledgeable #8 - Nov 23, 2018 #31

Closed wgao19 closed 5 years ago

wgao19 commented 5 years ago

React Knowledgeable Week 8

🗓 Date: 18:00, Friday, Nov 23, 2018 🗺 Location: 2nd Floor Sharing Space

Developing and Publishing Multiple Packages, #34 ⚡️⚡️⚡️⚡️

Speaker: Lihau Tan @tanhauhau

If you think develop, publish and maintain 1 package to NPM is easy, think about doing that with multiple packages, each with dependencies amongst each other. I will share about the cost and complexity of setting up the development environment for developing and maintaining multiple packages, as well as approaches to simplify it.

Why ⚡️⚡️⚡️⚡️? Read about the preparation of this talk: Behind the Podium for the Lerna Talk

Other Updates

Now calling paper for Dec 21

Holiday season is looming! We're calling for some fun talks for the Christmas mood. Recall that we're actually passionate about non-technical talks. For those of you who have lingered long enough, think about

👀 Eyeing at you guys. 👀 Also eyeing at our new joiners. 👀 And eyeing at our chill developers.

Links

wgao19 commented 5 years ago

Behind the Podium for the Lerna Talk

This week we have the long-due Lerna talk in the pipeline. We know we have a potentially good talk -- recently adapted in our codebase management, relatively new to the community, loads of questions (and possibly confusions) by new users, which means -- us.

The Lerna doc is clear. But we have a big team. A considerable portion of us were not sure why we want to use it to begin with. And there are not much resources, not to mention the good and the intuitive ones, out there.

@tanhauhau is one of the two developers who work on the adaptation of our codebase to monorepo using Lerna. After working on it for a few months, he has accumulated much knowledge, technical and intuitive, on the topic. He has implemented a few more packages alongside our migration to Lerna, including Lerna-Extras (an internal package to save our typing of long Lerna commands), the bb8- serial packages (code and especially FlowType code generation).

We've set out to think that we'd make it a short ⚡️talk, like the [Git-Good] talk also given by Lihau a few weeks back. We've thrown a brief dry run a few weeks ago. It's simply not working. With only a few of us in the audience, we were tearing the talk apart by all the random confusions we had about the topic such as

You get the idea. Some of the questions we asked were not even regarding the same group of concepts. Whereas those questions might sound quite dumb by seasoned developers.

Thinking that some of us would pick up Lerna along the way of our monorepo adaptation, we decided to postpone this talk.

Now that roughly a month has passed. And our speaker Lihau is in the mood of getting rid of the feeling of owing a talk. So we’re serious about kicking it off.. So we scheduled another dry run / discussion to earlier this week.

While not much is clear, we somehow felt obliged to include a “why” section to it. It easily went far into the classic monorepo / package management discussion. Git-Submodules, for example, shall we talk about that as well? Oh wow, there’s no way we’re getting anywhere close to Lerna under 7 mins.

Somehow we were not feeling right to give a lengthy talk, neither. Despite its complexity and our confusions, it’s still a tool. Similar with Git, NPM. Not saying it’s uninteresting, but putting up a full featured talk might push us even further back to learning about it.

We lingered around the form of the talk for a while, again. A lightning talk is out of the question now. Should we try a workshop?

We expected numerous pauses to the talk. We want to give people time to think and digest. But we also don’t want to tear the talk apart like we did in our first few dry-runs. So we figured maybe we just schedule them in, provide ample time for q&a.

Eventually an idea hit us that we had the “aha, that’s it” call. We’re going to make it serial lightnings ⚡️ ⚡️ ⚡️ ⚡️. Lightning talks are good. They’re compact and focused. The speaker won’t be interrupted. We’ll break the topic into 4-5 smaller, more focused topics. Each of those a lightning ⚡️, and we will pause between each lightning and allow for any questions that come along and move on only when the audience feels ready.

So that’s the story about the serial lightnings you’d seen in our roster this week. Enjoy!