This ensures that the mix:compile command returns the correct exit codes based on the status of the compilation. It also adds the following option flags to `mix:compile`:
- `--silent`: Runs the compilation process silently without outputting any details from Webpack / Mix
- `--stop-on-error`: Exits the compilation if an error is encountered
- `--manifest`: Defines the package.json file to be used for the compilation
The no-plusplus rule is less than ideal as it prevents using a useful language feature without providing adequate justification (see https://airbnb.io/javascript/#variables--unary-increment-decrement for original justification).
Prior to this commit the eslint configuration did not allow for:
```js
++something
something++
--something
something--
```
It's very useful as a global config when working within an IDE as it allows for running all the tests from different modules without having to reconfigure the your IDE for each module.
Relative path is generated from $this->assetPath which is by default null. Changing it to be an empty string by default instead would have consequences further down the line in the CombineAssets class.
Fixes an issue where the version number reported by the database wasn't normalized causing issues when comparing with the normalized version from the filesystem.
If you need to use the CMS Controller's Twig instance then you should call getTwig() directly on the controller instance instead of relying upon twig.environment.cms being a singleton.
It being a singleton causes issues if for some reason you want to render another route in the same request as the second call to Controller->run() will pollute the variables of the first.
Since the recommended way to install plugins is to use Composer, this greedy configuration would occasionally cause issues where running composer update would fail because the currently installed version of a plugin would have dependencies that would be merged as part of the main composer.json file that would conflict with the next version of the plugin; meaning that in order to install the next version of the plugin you could be forced to first delete the existing one.
It is now recommended to treat this line more like the workspaces section in package.json and manually specify the paths you wish to have the merge plugin handle on a per project basis.
This fixes#578 by adding the ability to pass the CMS Controller instance to the CMS Twig Extension removing the reliance on context variables as well as making the expected "global" twig variables inside of the CMS Twig environment actually global within that environment.
Replaces #598 & #593.
Credit to @RomainMazB for the initial implementation.