npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

diode-cli

v0.1.2

Published

A WASM-powered local development environment for Laravel.

Downloads

5

Readme

Screenshot of Diode running in a terminal window

Diode

MIT Licensed Node 16.0.0 or higher Total Downloads

A zero-configuration, WASM-powered local development environment for Laravel

Diode is a Node CLI app containing a PHP server specifically built to run a local development environment for the Laravel framework. It's heavily inspired by, and built on the work of, the WordPress Playground team.

Note: This is currently in active development and updates can contain breaking changes. Some core Laravel features may be broken or missing when using this tool. If you find a bug, feel free to open an issue!

Installation

Installation is through npm and requires Node version >= 16.0.0.

npm install -g diode-cli

Basic Usage

To create a new Laravel application in the current (empty) directory, run the create command.

diode create

This will take a minute or two to complete, but then a brand new Laravel application source code should be available in the current directory.

To run the application locally, start the server with the serve command.

diode serve

This will mount the current directory as a virtual filesystem and start listening at localhost:1738. You can override the port that it's bound to by including the port option.

diode serve --port=8080

You can run most Composer commands with Diode, passing in the package and options you would natively.

diode composer require laravel/breeze --dev

Artisan commands are also available via the command of the same name.

diode artisan make:model Comment --migration

Caveats

These are some current known limitations or workarounds when using Diode with Laravel. Most of these are due to the current feature set of php-wasm.

  • Composer installations run much slower than natively, as packages are individually downloaded and unzipped instead of using proc_open
  • Unless you are using an external database (like RDS), SQLite is recommended
  • When running migrations for the first time, you'll have to use the --force option to bypass the question about creating a sqlite database for the first time.

Why Build This?

Getting started developing PHP applications can be notoriously tricky compared with other languages like JavaScript.

Installing PHP locally has a history of being difficult depending on the OS you're using, and Docker exists but might be a bit complicated for new developers.

I built Diode as a kind of quick-start tool to spin up a local environment, letting you hit the ground running to build an application with Laravel.

If you find yourself wanting more out of a local environment, I suggest trying out something like Docker as the next step! I have a series of YouTube videos and a full course available if you'd like to learn more about using Docker with Laravel.

Contact

Have an issue? Submit it here! Want to get in touch or recommend a feature? Feel free to reach out to me on Twitter for any other questions or comments.

License

This software is licensed under The MIT License (MIT). See LICENSE.md for more details.