diff --git a/core/client/Brocfile.js b/core/client/Brocfile.js deleted file mode 100644 index 0811a6ec17..0000000000 --- a/core/client/Brocfile.js +++ /dev/null @@ -1,75 +0,0 @@ -/* global require, module */ - -var EmberApp = require('ember-cli/lib/broccoli/ember-app'), - environment = EmberApp.env(), - isProduction = environment === 'production', - mythCompress = isProduction || environment === 'test', - disabled = {enabled: false}, - assetLocation, - app; - -assetLocation = function (fileName) { - if (isProduction) { - fileName = fileName.replace('.', '.min.'); - } - return '/assets/' + fileName; -}; - -app = new EmberApp({ - outputPaths: { - app: { - js: assetLocation('ghost.js') - }, - vendor: { - js: assetLocation('vendor.js'), - css: assetLocation('vendor.css') - } - }, - mythOptions: { - source: './app/styles/app.css', - inputFile: 'app.css', - browsers: 'last 2 versions', - // @TODO: enable sourcemaps for development without including them in the release - sourcemap: false, - compress: mythCompress, - outputFile: isProduction ? 'ghost.min.css' : 'ghost.css' - }, - hinting: false, - fingerprint: disabled, - 'ember-cli-selectize': { - theme: false - } -}); - -// 'dem Scripts -app.import('bower_components/validator-js/validator.js'); -app.import('bower_components/rangyinputs/rangyinputs-jquery-src.js'); -app.import('bower_components/showdown-ghost/src/showdown.js'); -app.import('bower_components/showdown-ghost/src/extensions/ghostgfm.js'); -app.import('bower_components/showdown-ghost/src/extensions/ghostimagepreview.js'); -app.import('bower_components/showdown-ghost/src/extensions/footnotes.js'); -app.import('bower_components/showdown-ghost/src/extensions/highlight.js'); -app.import('bower_components/moment/moment.js'); -app.import('bower_components/keymaster/keymaster.js'); -app.import('bower_components/devicejs/lib/device.js'); -app.import('bower_components/jquery-ui/jquery-ui.js'); -app.import('bower_components/jquery-file-upload/js/jquery.fileupload.js'); -app.import('bower_components/blueimp-load-image/js/load-image.all.min.js'); -app.import('bower_components/jquery-file-upload/js/jquery.fileupload-process.js'); -app.import('bower_components/jquery-file-upload/js/jquery.fileupload-image.js'); -app.import('bower_components/google-caja/html-css-sanitizer-bundle.js'); -app.import('bower_components/jqueryui-touch-punch/jquery.ui.touch-punch.js'); -app.import('bower_components/codemirror/lib/codemirror.js'); -app.import('bower_components/codemirror/mode/htmlmixed/htmlmixed.js'); -app.import('bower_components/codemirror/mode/xml/xml.js'); -app.import('bower_components/codemirror/mode/css/css.js'); -app.import('bower_components/codemirror/mode/javascript/javascript.js'); -app.import('bower_components/xregexp/xregexp-all.js'); -app.import('bower_components/password-generator/lib/password-generator.js'); -app.import('bower_components/blueimp-md5/js/md5.js'); - -// 'dem Styles -app.import('bower_components/codemirror/lib/codemirror.css'); -app.import('bower_components/codemirror/theme/xq-light.css'); - -module.exports = app.toTree(); diff --git a/core/client/bower.json b/core/client/bower.json index d8f4e0a820..fa02d3227a 100644 --- a/core/client/bower.json +++ b/core/client/bower.json @@ -8,9 +8,9 @@ "ember-cli-shims": "ember-cli/ember-cli-shims#0.0.3", "ember-cli-test-loader": "0.1.3", "ember-data": "1.0.0-beta.18", - "ember-mocha": "0.7.0", - "ember-load-initializers": "ember-cli/ember-load-initializers#0.1.4", - "ember-resolver": "0.1.15", + "ember-mocha": "0.8.2", + "ember-load-initializers": "ember-cli/ember-load-initializers#0.1.5", + "ember-resolver": "0.1.18", "ember-simple-auth": "0.8.0", "fastclick": "1.0.6", "google-caja": "5669.0.0", diff --git a/core/client/ember-cli-build.js b/core/client/ember-cli-build.js new file mode 100644 index 0000000000..c52e7be7f3 --- /dev/null +++ b/core/client/ember-cli-build.js @@ -0,0 +1,76 @@ +/* global require, module */ + +var EmberApp = require('ember-cli/lib/broccoli/ember-app'), + environment = EmberApp.env(), + isProduction = environment === 'production', + mythCompress = isProduction || environment === 'test', + disabled = {enabled: false}, + assetLocation; + +assetLocation = function (fileName) { + if (isProduction) { + fileName = fileName.replace('.', '.min.'); + } + return '/assets/' + fileName; +}; + +module.exports = function (defaults) { + var app = new EmberApp(defaults, { + outputPaths: { + app: { + js: assetLocation('ghost.js') + }, + vendor: { + js: assetLocation('vendor.js'), + css: assetLocation('vendor.css') + } + }, + mythOptions: { + source: './app/styles/app.css', + inputFile: 'app.css', + browsers: 'last 2 versions', + // @TODO: enable sourcemaps for development without including them in the release + sourcemap: false, + compress: mythCompress, + outputFile: isProduction ? 'ghost.min.css' : 'ghost.css' + }, + hinting: false, + fingerprint: disabled, + 'ember-cli-selectize': { + theme: false + } + }); + + // 'dem Scripts + app.import('bower_components/validator-js/validator.js'); + app.import('bower_components/rangyinputs/rangyinputs-jquery-src.js'); + app.import('bower_components/showdown-ghost/src/showdown.js'); + app.import('bower_components/showdown-ghost/src/extensions/ghostgfm.js'); + app.import('bower_components/showdown-ghost/src/extensions/ghostimagepreview.js'); + app.import('bower_components/showdown-ghost/src/extensions/footnotes.js'); + app.import('bower_components/showdown-ghost/src/extensions/highlight.js'); + app.import('bower_components/moment/moment.js'); + app.import('bower_components/keymaster/keymaster.js'); + app.import('bower_components/devicejs/lib/device.js'); + app.import('bower_components/jquery-ui/jquery-ui.js'); + app.import('bower_components/jquery-file-upload/js/jquery.fileupload.js'); + app.import('bower_components/blueimp-load-image/js/load-image.all.min.js'); + app.import('bower_components/jquery-file-upload/js/jquery.fileupload-process.js'); + app.import('bower_components/jquery-file-upload/js/jquery.fileupload-image.js'); + app.import('bower_components/google-caja/html-css-sanitizer-bundle.js'); + app.import('bower_components/jqueryui-touch-punch/jquery.ui.touch-punch.js'); + app.import('bower_components/codemirror/lib/codemirror.js'); + app.import('bower_components/codemirror/mode/htmlmixed/htmlmixed.js'); + app.import('bower_components/codemirror/mode/xml/xml.js'); + app.import('bower_components/codemirror/mode/css/css.js'); + app.import('bower_components/codemirror/mode/javascript/javascript.js'); + app.import('bower_components/xregexp/xregexp-all.js'); + app.import('bower_components/password-generator/lib/password-generator.js'); + app.import('bower_components/blueimp-md5/js/md5.js'); + + // 'dem Styles + app.import('bower_components/codemirror/lib/codemirror.css'); + app.import('bower_components/codemirror/theme/xq-light.css'); + + return app.toTree(); +}; diff --git a/core/client/package.json b/core/client/package.json index 9094f57704..ef5b60f1ce 100644 --- a/core/client/package.json +++ b/core/client/package.json @@ -20,21 +20,23 @@ "license": "MIT", "devDependencies": { "broccoli-asset-rev": "^2.0.2", - "ember-cli": "0.2.7", - "ember-cli-app-version": "0.3.3", + "ember-cli": "1.13.0", + "ember-cli-app-version": "0.4.0", "ember-cli-babel": "^5.0.0", "ember-cli-content-security-policy": "0.4.0", "ember-cli-dependency-checker": "^1.0.0", "ember-cli-fastclick": "1.0.3", - "ember-cli-htmlbars": "0.7.6", - "ember-cli-ic-ajax": "0.1.1", + "ember-cli-htmlbars": "0.7.9", + "ember-cli-htmlbars-inline-precompile": "^0.1.1", + "ember-cli-ic-ajax": "0.2.1", "ember-cli-inject-live-reload": "^1.3.0", - "ember-cli-mocha": "^0.7.0", + "ember-cli-mocha": "0.9.3", "ember-cli-selectize": "0.4.0", "ember-cli-simple-auth": "0.8.0", "ember-cli-simple-auth-oauth2": "0.8.0", "ember-cli-uglify": "^1.0.1", "ember-data": "1.0.0-beta.18", + "ember-disable-proxy-controllers": "^1.0.0", "ember-export-application-global": "^1.0.2", "ember-myth": "0.1.1", "ember-resize": "0.0.10", diff --git a/core/client/testem.json b/core/client/testem.json index 42a4ddb22a..0f35392cf2 100644 --- a/core/client/testem.json +++ b/core/client/testem.json @@ -1,6 +1,7 @@ { "framework": "qunit", "test_page": "tests/index.html?hidepassed", + "disable_watching": true, "launch_in_ci": [ "PhantomJS" ], diff --git a/core/client/tests/helpers/start-app.js b/core/client/tests/helpers/start-app.js index d0a1dbfc4b..43518e645b 100644 --- a/core/client/tests/helpers/start-app.js +++ b/core/client/tests/helpers/start-app.js @@ -1,9 +1,8 @@ import Ember from 'ember'; import Application from '../../app'; -import Router from '../../router'; import config from '../../config/environment'; -function startApp(attrs) { +export default function startApp(attrs) { var application, attributes = Ember.merge({}, config.APP); @@ -17,5 +16,3 @@ function startApp(attrs) { return application; } - -export default startApp; diff --git a/core/client/tests/unit/controllers/post-settings-menu_test.js b/core/client/tests/unit/controllers/post-settings-menu_test.js index 2ec3604ffc..4e80f83718 100644 --- a/core/client/tests/unit/controllers/post-settings-menu_test.js +++ b/core/client/tests/unit/controllers/post-settings-menu_test.js @@ -7,7 +7,7 @@ import { describeModule( 'controller:post-settings-menu', { - needs: ['controller:application'] + needs: ['controller:application', 'service:notifications'] }, function () { diff --git a/core/client/tests/unit/controllers/settings-general_test.js b/core/client/tests/unit/controllers/settings-general_test.js index 320fcc2aa2..cd0d42f402 100644 --- a/core/client/tests/unit/controllers/settings-general_test.js +++ b/core/client/tests/unit/controllers/settings-general_test.js @@ -6,6 +6,9 @@ import { describeModule( 'controller:settings/general', + { + needs: ['service:notifications'] + }, function () { it('isDatedPermalinks should be correct', function () {