1
0
mirror of https://github.com/flarum/core.git synced 2025-08-07 00:47:00 +02:00

Big front-end asset/filestructure refactor

- Extract shared Ember components into a “flarum-common” ember-cli
addon. This can be used by both the forum + admin Ember apps, keeping
things DRY
- Move LESS styles into their own top-level directory and do a similar
thing (extract common styles)
- Add LESS/JS compilation and versioning to PHP (AssetManager)
- Set up admin entry point

(Theoretical) upgrade instructions:
- Delete everything in [app_root]/public
- Set up tooling in forum/admin Ember apps (npm install/update, bower
install/update) and then build them (ember build)
- php artisan vendor:publish
- Upgrade flarum/flarum repo (slight change in a config file)
- If you need to trigger a LESS/JS recompile, delete the .css/.js files
in [app_root]/public/flarum. I set up LiveReload to do this for me when
I change files in less/ or ember/

Todo:
- Start writing admin app!
- Remove bootstrap/font-awesome from repo and instead depend on their
composer packages? Maybe? (Bower is not an option here)
This commit is contained in:
Toby Zerner
2015-03-29 22:13:26 +10:30
parent 10c1c4c09d
commit de10e4457f
286 changed files with 11344 additions and 460 deletions

View File

@@ -4,7 +4,7 @@
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "5b2f1014382942985a0fdf481770b8ce",
"hash": "f65be24ef3ec3cd5dd97390a0a76cd07",
"packages": [
{
"name": "danielstjules/stringy",
@@ -135,12 +135,12 @@
"source": {
"type": "git",
"url": "https://github.com/illuminate/container.git",
"reference": "17cfa85970c5729cb504a7dfa0d142a5d1bb3547"
"reference": "a11c01c1d8b6941bd7ef2f104749ada5e34f146e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/container/zipball/17cfa85970c5729cb504a7dfa0d142a5d1bb3547",
"reference": "17cfa85970c5729cb504a7dfa0d142a5d1bb3547",
"url": "https://api.github.com/repos/illuminate/container/zipball/a11c01c1d8b6941bd7ef2f104749ada5e34f146e",
"reference": "a11c01c1d8b6941bd7ef2f104749ada5e34f146e",
"shasum": ""
},
"require": {
@@ -170,7 +170,7 @@
],
"description": "The Illuminate Container package.",
"homepage": "http://laravel.com",
"time": "2015-03-07 15:07:05"
"time": "2015-03-25 17:06:14"
},
{
"name": "illuminate/contracts",
@@ -278,12 +278,12 @@
"source": {
"type": "git",
"url": "https://github.com/illuminate/support.git",
"reference": "c29ac982d9710dc1b841f91be230b5eff57e5698"
"reference": "29e8618a45d090572e092abf193a257bf28c48d9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/support/zipball/c29ac982d9710dc1b841f91be230b5eff57e5698",
"reference": "c29ac982d9710dc1b841f91be230b5eff57e5698",
"url": "https://api.github.com/repos/illuminate/support/zipball/29e8618a45d090572e092abf193a257bf28c48d9",
"reference": "29e8618a45d090572e092abf193a257bf28c48d9",
"shasum": ""
},
"require": {
@@ -322,7 +322,7 @@
],
"description": "The Illuminate Support package.",
"homepage": "http://laravel.com",
"time": "2015-03-25 16:42:17"
"time": "2015-03-27 14:49:11"
},
{
"name": "misd/linkify",
@@ -422,6 +422,65 @@
],
"time": "2015-03-26 03:05:57"
},
{
"name": "oyejorge/less.php",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/oyejorge/less.php.git",
"reference": "c42eeffc7becaa92770730c34de6887a2063bd1c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/oyejorge/less.php/zipball/c42eeffc7becaa92770730c34de6887a2063bd1c",
"reference": "c42eeffc7becaa92770730c34de6887a2063bd1c",
"shasum": ""
},
"require": {
"php": ">=5.2"
},
"bin": [
"bin/lessc"
],
"type": "library",
"autoload": {
"psr-0": {
"Less": "lib/"
},
"classmap": [
"lessc.inc.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Matt Agar",
"homepage": "https://github.com/agar"
},
{
"name": "Martin Jantošovič",
"homepage": "https://github.com/Mordred"
},
{
"name": "Josh Schmidt",
"homepage": "https://github.com/oyejorge"
}
],
"description": "PHP port of the Javascript version of LESS http://lesscss.org",
"homepage": "http://lessphp.gpeasy.com",
"keywords": [
"css",
"less",
"less.js",
"lesscss",
"php",
"stylesheet"
],
"time": "2015-03-23 16:12:13"
},
{
"name": "symfony/translation",
"version": "2.6.x-dev",
@@ -562,12 +621,12 @@
"source": {
"type": "git",
"url": "https://github.com/Codeception/Codeception.git",
"reference": "7202e73252980bf881c3ba4f26b5bf9d70c02470"
"reference": "d3910b30105b9a0f8b2877c079c1fda8f3f6905c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Codeception/Codeception/zipball/7202e73252980bf881c3ba4f26b5bf9d70c02470",
"reference": "7202e73252980bf881c3ba4f26b5bf9d70c02470",
"url": "https://api.github.com/repos/Codeception/Codeception/zipball/d3910b30105b9a0f8b2877c079c1fda8f3f6905c",
"reference": "d3910b30105b9a0f8b2877c079c1fda8f3f6905c",
"shasum": ""
},
"require": {
@@ -634,7 +693,7 @@
"functional testing",
"unit testing"
],
"time": "2015-03-26 10:33:44"
"time": "2015-03-28 23:22:32"
},
{
"name": "codeception/mockery-module",
@@ -1189,12 +1248,12 @@
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "07606749da971eda75434814a313ed0ce6790f6a"
"reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/07606749da971eda75434814a313ed0ce6790f6a",
"reference": "07606749da971eda75434814a313ed0ce6790f6a",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
"reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5",
"shasum": ""
},
"require": {
@@ -1208,7 +1267,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
"dev-master": "1.4.x-dev"
}
},
"autoload": {
@@ -1241,7 +1300,7 @@
"spy",
"stub"
],
"time": "2015-03-20 17:41:29"
"time": "2015-03-27 19:31:25"
},
{
"name": "phpunit/php-code-coverage",
@@ -1493,12 +1552,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "10f6685ca2cf5d8662b43a225ab853699821690b"
"reference": "14e06a4223608d1b9f434df3503b68945990bec6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/10f6685ca2cf5d8662b43a225ab853699821690b",
"reference": "10f6685ca2cf5d8662b43a225ab853699821690b",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/14e06a4223608d1b9f434df3503b68945990bec6",
"reference": "14e06a4223608d1b9f434df3503b68945990bec6",
"shasum": ""
},
"require": {
@@ -1508,7 +1567,7 @@
"ext-reflection": "*",
"ext-spl": "*",
"php": ">=5.3.3",
"phpspec/prophecy": "~1.3.1",
"phpspec/prophecy": "~1.3,>=1.3.1",
"phpunit/php-code-coverage": "~2.0,>=2.0.11",
"phpunit/php-file-iterator": "~1.3.2",
"phpunit/php-text-template": "~1.2",
@@ -1557,7 +1616,7 @@
"testing",
"xunit"
],
"time": "2015-03-02 06:58:30"
"time": "2015-03-28 20:45:33"
},
{
"name": "phpunit/phpunit-mock-objects",
@@ -2415,7 +2474,8 @@
"minimum-stability": "dev",
"stability-flags": {
"tobscure/json-api": 20,
"tobscure/permissible": 20
"tobscure/permissible": 20,
"oyejorge/less.php": 20
},
"prefer-stable": false,
"prefer-lowest": false,