23 Commits

Author SHA1 Message Date
Luke Towers
e621f5938a Add getPluginVersions() to PluginBase 2023-07-03 20:15:52 -06:00
Luke Towers
2148ab537a Fix ImageResizer test 2023-04-27 11:00:16 -06:00
Ben Thomson
f92f3a3d17
Make "winter:util" artisan test clean up after itself 2023-04-22 22:16:05 +08:00
Marc Jauvin
34609321b9
Add support for pathSymbols in asset filenames (#874) 2023-03-30 08:46:04 -06:00
Jack Wilkinson
dde07a08ea
Manually register system class aliases in test bootstrap (#863) 2023-03-08 09:53:58 -06:00
Luke Towers
ac87005866 Improve handling of plugins stored in mixed case folders 2023-01-24 13:21:23 -06:00
Luke Towers
0aed0b4b02
Classloader improvements (#779)
See wintercms/storm#72
2022-11-29 21:06:46 -06:00
Ben Thomson
692d856ece Allow Snowboard event listeners to be closures 2022-11-15 17:00:46 +08:00
Ben Thomson
893293e825 Add test case for getParentData method in AJAX framework 2022-10-07 14:10:43 +08:00
Ben Thomson
a2f8c3d2be Allow for custom AJAX error responses to be passed through handlers 2022-10-07 11:14:56 +08:00
Ben Thomson
9be71ce1a6 Allow detached AJAX request to be called with 2 params
This allows Snowboard.request() to be called with two params, assuming that no element is attached to the request.
2022-10-07 11:13:38 +08:00
Ben Thomson
e84933775d
Add "mix:run" command (#698)
Allows running of scripts defined in the package.json of a Mix package, through Artisan.
2022-09-17 11:40:00 +08:00
Ben Thomson
2a13faf999
Harden Snowboard (#687)
- The Snowboard and PluginLoader objects are now frozen and cannot be modified.
- Added a Proxy in front of Snowboard to handle plugin loading
- Plugin "Snowboard" instances are blocked from running certain methods
- Update tests to check hardening
2022-09-13 09:04:16 +08:00
Ben Thomson
a795659fc8
Clean up of base plugin test case class (#672)
- Deprecate "runPluginRefreshCommand" method and replace with "instantiatePlugin", to better describe the functionality within.
- Use namespace to guess plugin being detected, falling back to path if there is no namespace given - this fixes testing for symlinked plugins.
- Add type hints and return types for most methods
2022-09-06 02:37:51 -06:00
Romain 'Maz' BILLOIR
b2f898b2f9
Minor style tweak (#651) 2022-08-18 22:46:35 -06:00
Jack Wilkinson
916151f20c
Add support for exit codes in MixCompile (#642)
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
2022-08-10 12:53:00 -06:00
Eric Pfeiffer
4e9ff0d753
Ensure plugin dependencies are correctly sorted (#621)
Fixes #620
2022-07-20 20:19:32 -06:00
Ben Thomson
0add2263b8
Code analysis tweaks (#589)
Implements fixes to some breaking changes introduced in https://github.com/wintercms/storm/pull/64.
2022-07-04 09:22:59 +08:00
Ben Thomson
ce63a34a8b Merge branch 'develop' into wip/1.2 2022-07-01 09:30:17 +08:00
Jack Wilkinson
0860a7af92
Added fix to ensure correct normalization and return (#588)
Fixes https://github.com/wintercms/winter/issues/569
2022-06-29 19:56:18 +08:00
Ben Thomson
5201d710cb Merge branch 'develop' into wip/1.2 2022-06-24 11:58:58 +08:00
Marc Jauvin
5870275b21
Add additional testMakePartial cases to ViewMaker unit tests (#586) 2022-06-24 10:13:23 +08:00
Jack Wilkinson
7fe167c41f
Split tests into relevant module folders
This splits the testing suite into the separate modules as appropriate in order to improve the reliability of the testing suite as a whole and make it easier for developers to have an up to date testing suite from the core to build off of. Additionally the tests are now namespaced and some minor improvements to the PluginManager were made.

Now the PluginManager will internally treat plugin identifiers as lower case strings, only transforming them to their normalized versions when requested by methods like getPlugins() & getAllPlugins(). The idea behind this is that it provides a much simpler way to internally handle checking, especially for plugin replacement where casing could cause issues.

Replaces #576. Fixes #575.
2022-06-21 18:30:30 -06:00