Thanks for contributing. This repository contains the vanilla JavaScript
CrestApps fork of bootstrap-select, the built distribution artifacts, the
Docusaurus docs site, and the Playwright/manual test assets used to verify
changes.
js/- source for the plugin runtimesass/- source stylesheetsdist/- generated distributable assetsdocs/- Docusaurus docs app and hosted standalone examplestests/- manual HTML fixtures, helpers, and Playwright e2e coverage
Edit the source files in js/, sass/, or docs/. Do not hand-edit
generated files in dist/.
- Search existing issues and pull requests before opening a new one.
- For non-trivial changes, open or reference an issue first so the scope is clear before implementation starts.
- For bugs, include the browser, OS, Bootstrap version, and
@crestapps/bootstrap-selectversion you tested against.
-
Install Node.js 20.19 or newer.
-
Install dependencies from the repository root:
npm install
-
Use the root
package.jsonscripts for day-to-day work:npm run build npm run lint npm test npm run docs:start
The project uses Rollup and Sass for asset generation and Docusaurus for the docs site.
npm run build- rebuildsdist/from the source filesnpm run lint- runs the configured ESLint checksnpm test- runs the Playwright suitenpm run docs:prepare- builds the plugin and copies docs assets intodocs/static/dist/npm run docs:start- prepares the docs assets and starts the local docs sitenpm run docs:build- creates a production docs build underdocs/.pages-build/npm run watch- rebuilds the plugin whenever JS or Sass sources change
The docs app lives under docs/ and serves both the documentation pages and
the standalone hosted examples under /examples/.
- Run
npm run docs:startfrom the repository root. - Open
http://localhost:3000/. - Check both the homepage and docs pages when changing branding or theme CSS.
- If you change plugin output used by the docs examples, rerun
npm run docs:prepareor restartdocs:start.
- Use the Playwright specs in
tests/e2e/for browser-level coverage. - Manual verification pages live in
tests/bootstrap5.htmlandtests/index.html. - The standalone docs examples in
docs/static/examples/are useful for reduced repros and smoke tests.
When possible, add or update automated coverage for bug fixes and behavior changes.
- Branch from
mainand targetmainunless maintainers ask for something else. - Keep changes focused and avoid mixing unrelated work in one PR.
- Update docs when the public API, setup, or behavior changes.
- Include validation notes in the PR description, especially for docs, build, and browser changes.
- Write a clear summary of the problem, the fix, and any follow-up work.
By contributing code to this repository, you agree that your contribution may be distributed under the project's current license.