Component Bundles

A component bundle contains a component or an app and all its related resources.

ResourceResource NameUsageSee Also
Component or Applicationsample.cmp or sample.appThe only required resource in a bundle. Contains markup for the component or app. Each bundle contains only one component or app resource.Creating Componentsaura:application
CSS Stylessample.cssContains styles for the component.CSS in Components
ControllersampleController.jsContains client-side controller methods to handle events in the component.Handling Events with Client-Side Controllers
Designsample.designFile required for components used in Lightning App Builder, Lightning pages, Experience Builder, or Flow Builder.Aura Component Bundle Design Resources
Documentationsample.auradocA description, sample code, and one or multiple references to example componentsWriting Documentation for the Component Library
RenderersampleRenderer.jsClient-side renderer to override default rendering for a component.Create a Custom Renderer
HelpersampleHelper.jsJavaScript functions that can be called from any JavaScript code in a component’s bundleSharing JavaScript Code in a Component Bundle
SVG Filesample.svgCustom icon resource for components used in the Lightning App Builder or Experience Builder.Configure Components for Lightning Pages and the Lightning App Builder

All resources in the component bundle follow the naming convention and are auto-wired. For example, a controller <componentName>Controller.js is auto-wired to its component, which means that you can use the controller within the scope of that component.

Each resource, such as a cmp, css, or js file, in an Aura component bundle has a maximum file size of 1,000,000 bytes. However, for performance reasons, we recommend that you don’t exceed a maximum file size of 128 KB (131,072 bytes).