HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

The git version of Vanilla no longer ships pre-built frontend assets

charrondevcharrondev Developer Lead (PHP, JS)Montreal Vanilla Staff

2017 marked the completion of Vanilla's migration to composer for its PHP dependencies..

This means it is no longer possible to simply clone the repo into a web directory and run Vanilla. In developer parlance, the source code and the runtime code have diverged. Now to build Vanilla's runtime code, you must install Composer. This is only necessary if you are running a non-official version directly from GitHub - the releases on this site will continue to work normally because we will be pre-building those for you (using Phing, if you're interested).

As Vanilla's frontend becomes more complex it began to use frontend dependencies through bower, then through npm. With Rich Editor the complexity of Vanilla's frontend has grown and will continue to grow. As a result Vanilla's frontend adopted Typescript and webpack to handle its growing javascript code base.

Recently a change was merged to master that removed the compiled/pre-build frontend assets from git. Instead they must be built after cloning the repo. This build has been added as post-install step for composer, so assuming you have the right dependencies, a composer install is all that you should need to get it working.

New dependencies

Building Vanilla's frontend has additional dependencies beyond PHP and composer. See our build tooling documentation for details.

How does this affect my usage of Vanilla

The affect of these changes will depend on how you install Vanilla.

I use the pre-built version of Vanilla

If your use the phing compiled version of Vanilla from or addon listing or the github releases page the nothing changes. We build these assets into that zip file.

I use Vanilla cloned from the github repo

See our build tooling documentation for details. The dependencies here are required. Once they are installed running composer install will ensure that all frontend dependencies are also installed and that all frontend assets are built.

Sign In or Register to comment.