Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A rugged, minimal framework for composing JavaScript behavior in your markup.

License

NotificationsYou must be signed in to change notification settings

alpinejs/alpine

Repository files navigation

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

Alpine Component Patterns

Contribution Guide:

Quickstart

  • clone this repo locally
  • runnpm install &npm run build
  • Include the/packages/alpinejs/dist/cdn.js file from a<script> tag on a webpage and you're good to go!

Brief Tour

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:

PackageDescription
alpinejsThe main Alpine repo with all of Alpine's core
collapseA plugin for expanding and collapsing elements using smooth animations
cspA repo to provide a "CSP safe" build of Alpine
docsThe Alpine documentation
focusA plugin that allows you to manage focus inside an element
historyA plugin for binding data to query string parameters using the history API (name is likely to change)
intersectA plugin for triggering JS expressions based on elements intersecting with the viewport
maskA plugin for automatically formatting a text input field as a user types
morphA plugin for morphing HTML (like morphdom) inside the page intelligently
persistA plugin for persisting Alpine state across page loads

The compiled JS files (as a result of runningnpm run [build/watch]) to be included as a<script> tag for example are stored in each package'spackages/[package]/dist directory.

Each package should at least have: a "cdn" build that is self-initializing and can be included using thesrc attribute in a<script defer> tag, and amodule.[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 thescripts/build.js file.

Testing

There are 2 different testing tools used in this repo: Cypress (for integration tests), and Jest (for unit tests).

All tests are stored inside the/tests folder under/tests/cypress and/tests/jest.

You can run them both from the command line using:npm run test

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 Jest tests, you can runnpm run jest like normal and target specific tests. You can specify command line config options to forward to the jest command with-- like so:npm run jest -- --watch


[8]ページ先頭

©2009-2025 Movatter.jp