Learn

Bundles

It's straightforward: First-party vs third-party

To help separate first-party code from third-party code, we’ve moved and renamed all of our include core first-party add-ons to bundles, as in, “add-ons bundled with the core.” These bundles work almost exactly the same way that add-ons do, the only differences being:

  • bundles are kept within the _app folder, so when it comes time to update, you no longer need to futz with add-ons
  • when there’s a naming conflict (a foo folder in bundles and a foo folder in add-ons), the bundle will win — this might be viewed as us taking over namespaces, but really it’s to ensure that people don’t accidentally overwrite core functionality

We’ve updated all of the included fieldtypes, plugins (a.k.a. tags), tasks, and modifiers to be bundles. That means that a lot of Statamic’s functionality uses the same code add-on architecture that’s available for third-party developers to build with.

If you want to poke through the included bundles, look in _app/core/bundles for a whole bunch of folders. Each one of these is a bundle. Inside you’ll find files just like any add-on.

On Raven Forms & Bloodhound

First-party add-ons that are purchased separately from Statamic, as well as any third-party add-on should still be placed in the _add-ons folder. In fact, you should never need to add or remove anything individually from bundles, those are core-only items that come for free with Statamic.

This article was last updated on September 13th, 2016. Find an error? Please let us know!