From f8a02082ec98530eb85d5f0d66b5f36348ac3f1c Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Tue, 4 Aug 2015 17:18:45 +0930 Subject: [PATCH] Add admin client JS/LESS to extension stub --- .../core/src/Console/GenerateExtensionCommand.php | 2 +- framework/core/stubs/extension/js/admin/Gulpfile.js | 7 +++++++ framework/core/stubs/extension/js/admin/package.json | 7 +++++++ framework/core/stubs/extension/js/admin/src/main.js | 6 ++++++ framework/core/stubs/extension/js/forum/Gulpfile.js | 4 +++- framework/core/stubs/extension/js/forum/src/main.js | 2 +- .../core/stubs/extension/less/admin/extension.less | 0 .../stubs/extension/src/Listeners/AddClientAssets.php | 11 +++++++++++ 8 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 framework/core/stubs/extension/js/admin/Gulpfile.js create mode 100644 framework/core/stubs/extension/js/admin/package.json create mode 100644 framework/core/stubs/extension/js/admin/src/main.js create mode 100644 framework/core/stubs/extension/less/admin/extension.less diff --git a/framework/core/src/Console/GenerateExtensionCommand.php b/framework/core/src/Console/GenerateExtensionCommand.php index ee2a97969..3c8403beb 100644 --- a/framework/core/src/Console/GenerateExtensionCommand.php +++ b/framework/core/src/Console/GenerateExtensionCommand.php @@ -92,7 +92,7 @@ class GenerateExtensionCommand extends Command file_put_contents($dir.'/flarum.json', json_encode($manifest, JSON_PRETTY_PRINT)); - passthru("cd $dir; composer install; cd js/forum; npm install; gulp"); + passthru("cd $dir; composer install; cd js/forum; npm install; gulp; cd ../admin; npm install; gulp"); $this->info('Extension "'.$name.'" generated!'); } diff --git a/framework/core/stubs/extension/js/admin/Gulpfile.js b/framework/core/stubs/extension/js/admin/Gulpfile.js new file mode 100644 index 000000000..12ff60341 --- /dev/null +++ b/framework/core/stubs/extension/js/admin/Gulpfile.js @@ -0,0 +1,7 @@ +var gulp = require('flarum-gulp'); + +gulp({ + modules: { + '{{name}}': 'src/**/*.js' + } +}); diff --git a/framework/core/stubs/extension/js/admin/package.json b/framework/core/stubs/extension/js/admin/package.json new file mode 100644 index 000000000..3e0ef919d --- /dev/null +++ b/framework/core/stubs/extension/js/admin/package.json @@ -0,0 +1,7 @@ +{ + "private": true, + "devDependencies": { + "gulp": "^3.8.11", + "flarum-gulp": "git+https://github.com/flarum/gulp.git" + } +} diff --git a/framework/core/stubs/extension/js/admin/src/main.js b/framework/core/stubs/extension/js/admin/src/main.js new file mode 100644 index 000000000..f0b420e7c --- /dev/null +++ b/framework/core/stubs/extension/js/admin/src/main.js @@ -0,0 +1,6 @@ +import { extend } from 'flarum/extend'; +import app from 'flarum/app'; + +app.initializers.add('{{name}}', () => { + // TODO +}); diff --git a/framework/core/stubs/extension/js/forum/Gulpfile.js b/framework/core/stubs/extension/js/forum/Gulpfile.js index e53f28d21..12ff60341 100644 --- a/framework/core/stubs/extension/js/forum/Gulpfile.js +++ b/framework/core/stubs/extension/js/forum/Gulpfile.js @@ -1,5 +1,7 @@ var gulp = require('flarum-gulp'); gulp({ - modulePrefix: '{{name}}' + modules: { + '{{name}}': 'src/**/*.js' + } }); diff --git a/framework/core/stubs/extension/js/forum/src/main.js b/framework/core/stubs/extension/js/forum/src/main.js index bd6eef44f..f0b420e7c 100644 --- a/framework/core/stubs/extension/js/forum/src/main.js +++ b/framework/core/stubs/extension/js/forum/src/main.js @@ -1,6 +1,6 @@ import { extend } from 'flarum/extend'; import app from 'flarum/app'; -app.initializers.add('{{name}}', app => { +app.initializers.add('{{name}}', () => { // TODO }); diff --git a/framework/core/stubs/extension/less/admin/extension.less b/framework/core/stubs/extension/less/admin/extension.less new file mode 100644 index 000000000..e69de29bb diff --git a/framework/core/stubs/extension/src/Listeners/AddClientAssets.php b/framework/core/stubs/extension/src/Listeners/AddClientAssets.php index d7cb41a02..b52981bb0 100755 --- a/framework/core/stubs/extension/src/Listeners/AddClientAssets.php +++ b/framework/core/stubs/extension/src/Listeners/AddClientAssets.php @@ -29,5 +29,16 @@ class AddClientAssets $event->forumTranslations([ // '{{name}}.hello_world' ]); + + $event->adminAssets([ + __DIR__.'/../../js/admin/dist/extension.js', + __DIR__.'/../../less/admin/extension.less' + ]); + + $event->adminBootstrapper('{{name}}/main'); + + $event->adminTranslations([ + // '{{name}}.hello_world' + ]); } }