I am giving up my bed for one night.

My Sleep Out helps youth facing homelessness find safe shelter and loving care at Covenant House. That care includes essential services like education, job training, medical care, mental health and substance use counseling, and legal aid — everything they need to build independent, sustainable futures.

By supporting my Sleep Out, you are supporting the dreams of young people overcoming homelessness.

Together, we are working towards a future where every young person has a safe place to sleep.

Thank you.

Custom Builds with php-wasm-builder

The php-wasm-builder package is the set of source files needed to build php-wasm & php-cgi-wasm.

The php-wasm-builder command is a wrapper script for the build process that allows the user to easily configure the underlying build process & drop the build assets wherever is necessary.

You can use .php-wasm-rc to customize your build.

Installing php-wasm-builder

Install php-wasm-builder globally:

Requires: * Docker * Docker Compose * Coreutils * Wget * Make

$ npm install -g php-wasm-builder

Create the build environment (can be run from anywhere):

$ php-wasm-builder image

Clean up files from a previous build

(Usually needed if the PHP version changes or Emscripten ABI changes have occurred)

$ php-wasm-builder clean

php-wasm-builder commands

build

Use this to build custom version of php-wasm. It’s recommended to build this to an empty directory using a .php-wasm-rc file.

npx php-wasm-builder build

image

This will build the docker container used to build php-wasm.

npx php-wasm-builder image

copy-assets

This will scan the current package’s node_modules directory for shared libraries & supporting files, and copy them to PHP_ASSET_DIR.

You can use this with .php-wasm-rc to copy assets even if you’re not using a custom build.

npx php-wasm-builder copy-assets

build-assets

While copy-assets moves existing shared libraries, the build-assets command compiles them first, then moves them to PHP_ASSET_DIR.

You can use this with .php-wasm-rc to copy assets even if you’re not using a custom build.

npx php-wasm-builder build-assets

clean

Clear cached build resources.

npx php-wasm-builder clean

deep-clean

Clear out all downloaded dependencies and start from scratch.

npx php-wasm-builder deep-clean

help

Print the help text for a given command

npx php-wasm-builder help COMMAND

Build for web

Then navigate to the directory you want the files to be built in, and run php-wasm-builder build

$ cd ~/my-project
$ php-wasm-builder build
# "web" is the default:
# php-wasm-builder build web

Build for node

$ cd ~/my-project
$ php-wasm-builder build node

ESM Modules:

Build ESM modules with:

$ php-wasm-builder build web mjs
$ php-wasm-builder build node mjs

CGI Modules:

Build CGI modules with:

$ php-wasm-builder build web cgi mjs
$ php-wasm-builder build worker cgi mjs

PHP_DIST_DIR

This will build the package inside of the current directory (or in PHP_DIST_DIR, see .php-wasm-rc for more info.)