Hi Sarah. What gets embedded in the library vs loaded as separate files is largely left up to the extension. In the case of Facebook, there's really two parts. One part is the extension "action" code that Launch runs when a rule is fired. The action code then calls, for example, fbq('track', 'PageView');. The logic behind the fbq function that actually sends the request to the server, etc. is loaded in dynamically as a separate file. If you search your network tab for fbevents on http://test1.hmkb2c.com/ you'll see that file being loaded in. In other words, the code that's embedded in the Launch library is basically just glue between Launch and the fbevents library that gets loaded in.
Technically, Facebook could opt into embedding the fbevents.js code into the Launch library instead of loading it as a separate file. It's their choice.
In the case of the Core extension's Custom Code action, the custom code is embedded in the Launch library if it pertains to a rule that has a Page Top or Page Bottom event, otherwise it's split into a separate file.
I'm going to need Aaronius9er9er9er to weigh in here for the real answer. I believe that any custom code blocks will show up as secondary .js files linked to the main .js file. Also, any libraries that are referenced (appmeasurement.js, at.js, etc) will obviously come separately - though they aren't linked in the same way that the ones coming from Launch are.
Thank you so much, @thebenrobb and @Aaronius9er9er9er, for the replies. You both always provide answers that are understandable!
I really appreciate you, @Aaronius9er9er9er, explaining the Facebook example - the last sentence the references glue really helped solidify the relationship for me. And thank you for calling out when the Core extension makes separate file vs including it in the embed code!