Registry / web-framework / bootstrap

bootstrap

JSON →
library5.3.8jsnpmunverified

Bootstrap is a widely adopted, open-source front-end framework designed for building responsive, mobile-first web projects. It provides a comprehensive collection of HTML, CSS, and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components. The current stable version is 5.3.8. Bootstrap maintains a regular release cadence with frequent patch and minor updates, while major versions like v5 introduce significant architectural changes, such as the removal of its jQuery dependency. Its key differentiators include extensive documentation, a robust grid system, and a vast ecosystem of themes and plugins, making it a popular choice for rapid development and consistent UI/UX across various devices. It offers pre-compiled CSS and JS distributions, as well as Sass source files for extensive customization.

web-framework
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

For styling; import in your main JavaScript or TypeScript entry file, or link via HTML. For custom Sass builds, import `bootstrap/scss/bootstrap.scss`.

import 'bootstrap/dist/css/bootstrap.min.css';

Bootstrap 5 primarily uses ES Modules. Named imports are preferred for individual components. The CommonJS `require` syntax is generally discouraged in modern setups. Ensure `@popperjs/core` is installed for these components to work correctly.

import { Modal, Dropdown, Tooltip, Popover } from 'bootstrap';

Imports the full Bootstrap JavaScript bundle, attaching components to the global `window.bootstrap` object. While convenient, it leads to larger bundle sizes. Prefer named imports for specific components to optimize.

import 'bootstrap';

Bootstrap ships with its own TypeScript declaration files, allowing type-safe usage of component options and methods.

import type { ModalOptions } from 'bootstrap';

Demonstrates how to import and initialize Bootstrap's JavaScript components, specifically a Modal and a Tooltip, after the DOM has loaded.

import { Modal, Tooltip } from 'bootstrap'; // Ensure DOM is fully loaded before initializing components document.addEventListener('DOMContentLoaded', () => { // Example: Initialize a Modal component const myModalElement = document.getElementById('myModal'); if (myModalElement) { const myModal = new Modal(myModalElement, { backdrop: true, // Example option keyboard: true }); // You might show the modal based on some event or initial state: // myModal.show(); } // Example: Initialize all tooltips on the page const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]'); const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new Tooltip(tooltipTriggerEl)); console.log('Bootstrap Modal and Tooltip components initialized.'); }); /* HTML Context for the above JavaScript: <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#myModal"> Launch demo modal </button> <div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="myModalLabel">Modal title</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> This is a Bootstrap modal. </div> </div> </div> </div> <button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top"> Hover for Tooltip </button> */
Debug
Known footguns
breakingBootstrap 5 removed its dependency on jQuery. All JavaScript components now operate on pure JavaScript. Migrating from Bootstrap 4 requires rewriting any custom JavaScript that relied on jQuery for component initialization or manipulation.
gotchaMissing `@popperjs/core` peer dependency will cause Bootstrap JavaScript components like tooltips, popovers, dropdowns, and modals to fail or throw errors related to positioning.
deprecatedPassing percentage units to the global `abs()` function in Sass is deprecated with Dart Sass v1.65.0 onwards, leading to deprecation warnings during compilation. Bootstrap internally addressed this, but custom Sass setups might still encounter it.
gotchaThe Bootstrap Sass variable `$color-mode-type` for managing dark mode compilation was re-evaluated. If you were manually importing `_variables-dark.scss`, keep doing so as this pattern is expected for v6. Bootstrap 5.3.3 fixed an issue where `_variables.scss` *wasn't* automatically importing `_variables-dark.scss`, which previously caused breaking changes in Sass builds.
gotchaChanges to default dark mode colors (e.g., `$gray-500` replaced with `$gray-300` for body text) in v5.3.1 might affect existing custom dark mode themes, potentially requiring adjustments to maintain desired contrast and aesthetics.
Upgrade
Version history

Breaking-change detection hasn't run for this library yet.

Audit
Security & dependencies

CVE tracking and dependency tree are planned for a later release.

Agent activity
13 hits · last 30 days
gptbot
4
ahrefsbot
4
bytedance
3
script
1
Resources