All Projects → alpine-collective → Alpinejs Devtools

alpine-collective / Alpinejs Devtools

Licence: mit
Chrome/Firefox DevTools extension for debugging Alpine.js applications.

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Alpinejs Devtools

Alphp
A micro PHP Docker environment based on an Alpine image. Can be used for container publishing, the completed image is only 30-40M
Stars: ✭ 100 (-49.75%)
Mutual labels:  alpine
Vagrant Alpine
Vagrant plugin for Alpine Linux Guest
Stars: ✭ 137 (-31.16%)
Mutual labels:  alpine
Tmoe Linux
🍭Without any basic knowledge of linux shell,you can easily install and configure a GNU/Linux graphical desktop environment on 📱Android termux and 💻WSL .🍰You can also run VSCode on your android phone.🍹Graphical qemu manager,🐋support running docker on Android.配置WSL和安卓手机的linux容器,桌面环境,主题美化,远程桌面,音频服务,镜像源,uefi开机启动项,webdav(nginx),fcitx输入法以及qemu-system虚拟机...
Stars: ✭ 149 (-25.13%)
Mutual labels:  alpine
Alpine Android
🐋 Small docker image for building & testing Android applications.
Stars: ✭ 116 (-41.71%)
Mutual labels:  alpine
Dcind
Docker image with Docker Compose. Useful as a base image for integration tests in Concourse CI.
Stars: ✭ 128 (-35.68%)
Mutual labels:  alpine
Asterisk
Asterisk PBX in Docker on Alpine Linux. Smallest Asterisk ever! ;)
Stars: ✭ 145 (-27.14%)
Mutual labels:  alpine
Docker Oidc Proxy
Docker Image built on Alpine Linux for secure OpenID Connect (OIDC) proxy authentication
Stars: ✭ 91 (-54.27%)
Mutual labels:  alpine
Docker Android Sdk
Stars: ✭ 171 (-14.07%)
Mutual labels:  alpine
Docker Clamav
Multi-arch dockerized open source antivirus for use with file sharing containers, REST API or TCP.
Stars: ✭ 133 (-33.17%)
Mutual labels:  alpine
Pieman
Script for creating custom OS images for single-board computers
Stars: ✭ 149 (-25.13%)
Mutual labels:  alpine
Alpine Mariadb
MariaDB running on Alpine Linux [Docker]
Stars: ✭ 117 (-41.21%)
Mutual labels:  alpine
Docker Rails Base
Optimized Docker base images for Rails applications
Stars: ✭ 120 (-39.7%)
Mutual labels:  alpine
Dockerfiles
Phalcon Dockerfiles used for internal purposes.
Stars: ✭ 145 (-27.14%)
Mutual labels:  alpine
Vagrant Box Templates
Stars: ✭ 100 (-49.75%)
Mutual labels:  alpine
Docker Elasticsearch Alpine
Alpine Linux based Elasticsearch Docker Image
Stars: ✭ 154 (-22.61%)
Mutual labels:  alpine
Gocv Alpine
GoCV-compatible OpenCV 3.4 Alpine 3.7 Docker image
Stars: ✭ 95 (-52.26%)
Mutual labels:  alpine
Docker Wkhtmltopdf
wkhtmltopdf for multiple base images
Stars: ✭ 142 (-28.64%)
Mutual labels:  alpine
Alpine Sqs
Dockerized ElasticMQ server + web UI over Alpine Linux for local development
Stars: ✭ 183 (-8.04%)
Mutual labels:  alpine
Dockerfile
some personally made dockerfile
Stars: ✭ 2,021 (+915.58%)
Mutual labels:  alpine
Docker Github Pages
🐳 Alpine Docker Image for GitHub Pages and Jekyll powered sites
Stars: ✭ 147 (-26.13%)
Mutual labels:  alpine

Chrome Web Store Chrome Web Store Mozilla Add-on Mozilla Add-on

Alpine.js devtools

Screenshot of Alpine.js devtools

Alpine.js devtools is a simple extension to help you debug Alpine.js components easily.

This extension is heavily inspired by Vue devtools, but customized for a unique Alpine.js developer experience.

Installation

Note: if you are using Google Chrome, Alpine.js devtools will not work with local files unless you configure the extension to be allowed Access to File URLs.

You can allow it by following these steps:

  1. Open chrome settings
  2. Go to extensions tab
  3. Choose Alpine.js devtools and press details
  4. Enable Allow access to file URLs

Allow access to file URLs permission

Identifying Components

Unlike other frameworks, Alpine does not include named components. Therefore by default, Alpine.js devtools will attempt to identify component names from the following attributes, in order: id, name, aria-label, x-data (the function name), role, and finally the tagName.

You may also override these with either x-title or x-id.

Development

Prerequisites

  • Node ^14.x
  • npm ^6.x

Chrome

  1. Clone this repo
  2. Run npm install
  3. Run npm run build:dev (or npm run build to test a production build)
  4. Load unpacked extension inside dist/chrome directory
  5. Open any HTML file that imports Alpine.js then inspect with Chrome DevTools. You should now have an Alpine.js panel available.

Firefox

  1. Follow the Development instructions to get a development build.
  2. Go to about:debugging#/runtime/this-firefox in Firefox
  3. Ensure you are on the "This Firefox" tab (see the left side nav)
  4. Click "Load Temporary Add-on..."
  5. Open any of the files in the built extension folder (./dist/chrome)
  6. Open any HTML file that imports Alpine.js then inspect with Firefox DevTools. You should now have an Alpine.js panel available.

Running the Alpine.js devtools simulator

A devtools simulator is provided in order to run tests and have an easier development workflow.

Note that when using the simulator all Chrome/Firefox devtools/Extension APIs are faked so it's useful if working on the Extension Backend (which runs in the end user's window, see packages/shell-chrome/src/backend.js) or the Alpine.js app which runs in the devtools panel (entrypoint: packages/shell-chrome/src/devtools/app.js).

  1. Clone this repo
  2. Run npm install
  3. Run npm start
  4. Open http://locahost:8080 (default port is 8080, you can override the port using the PORT environment variable. eg. PORT=5000 npm start will start the simulator on http://localhost:5000)
  5. You'll see a page with our sample Alpine.js app, example.html, running in the top half of the screen and the devtools simulator running in the bottom half of the screen.

Testing

We have 2 levels of tests in the project:

  • unit tests in ./tests, written and run with uvu
    • The command to run them is npm test.
  • E2E tests that run against the devtools simulator, in ./cypress, using Cypress.
    • The command to run Cypress tests is npm run cy:run
    • The command to open the Cypress UI is npm run cy:open
    • Note in order to run any Cypress tests, you'll need the simulator running (see Running the Alpine.js devtools simulator).

Formatting/Linting

Code is auto-formatted using Prettier, see the config at .prettierrc.js.

On push, a GitHub Action will auto-format your changes.

On commit, there's a husky + lint-staged hook that runs and auto-formats your changes (unless you disable pre-commit hooks).

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].