|
2 долоо хоног өмнө | |
---|---|---|
.github | 3 долоо хоног өмнө | |
benchmarks | 1 жил өмнө | |
packages | 2 долоо хоног өмнө | |
scripts | 10 сар өмнө | |
tests | 3 долоо хоног өмнө | |
.editorconfig | 5 жил өмнө | |
.gitignore | 3 жил өмнө | |
CLAUDE.md | 2 долоо хоног өмнө | |
LICENSE.md | 3 долоо хоног өмнө | |
README.md | 2 долоо хоног өмнө | |
cypress.json | 4 жил өмнө | |
hero.jpg | 10 сар өмнө | |
index.html | 9 сар өмнө | |
index2.html | 3 жил өмнө | |
jest.config.js | 4 жил өмнө | |
morph.html | 2 жил өмнө | |
package-lock.json | 3 долоо хоног өмнө | |
package.json | 3 долоо хоног өмнө |
Go to the Alpine docs for most things: Alpine Docs
You are welcome to submit updates to the docs by submitting a PR to this repo. Docs are located in the /packages/docs
directory.
Stay here for contribution-related information.
Looking for V2 docs? here they are
npm install
& npm run build
/packages/alpinejs/dist/cdn.js
file from a <script>
tag on a webpage and you're good to go!You can get everything installed with: npm install
in the root directory of this repo after cloning it locally.
This repo is a "mono-repo" using npm workspaces for managing the packages. Each package has its own folder in the /packages
directory.
Rather than having to run separate builds for each package, all package bundles are handled with the same command: npm run build
Here's a brief look at each package in this repo:
Package | Description |
---|---|
alpinejs | The main Alpine repo with all of Alpine's core |
collapse | A plugin for expanding and collapsing elements using smooth animations |
csp | A repo to provide a "CSP safe" build of Alpine |
docs | The Alpine documentation |
focus | A plugin that allows you to manage focus inside an element |
history | A plugin for binding data to query string parameters using the history API (name is likely to change) |
intersect | A plugin for triggering JS expressions based on elements intersecting with the viewport |
mask | A plugin for automatically formatting a text input field as a user types |
morph | A plugin for morphing HTML (like morphdom) inside the page intelligently |
persist | A plugin for persisting Alpine state across page loads |
The compiled JS files (as a result of running npm run [build/watch]
) to be included as a <script>
tag for example are stored in each package's packages/[package]/dist
directory.
Each package should at least have: a "cdn" build that is self-initializing and can be included using the src
attribute in a <script defer>
tag, and a module.[esm/cjs].js
file that is used for importing as a JS module (cjs for node, esm for everything else).
The bundling for Alpine V3 is handled exclusively by ESBuild. All of the configuration for these builds is stored in the scripts/build.js
file.
There are 2 different testing tools used in this repo: Cypress (for integration tests), and Vitest (for unit tests).
All tests are stored inside the /tests
folder under /tests/cypress
and /tests/vitest
.
If you wish to only run Cypress and open it's user interface (recommended during development), you can run: npm run cypress
If you wish to only run Vitest tests, you can run npm run vitest
like normal and target specific tests.