From 5de8d0c6233331b682c9d177b56e6dfade572b92 Mon Sep 17 00:00:00 2001 From: Chris LoPresto Date: Wed, 20 Apr 2016 10:29:52 -0400 Subject: [PATCH 1/4] Remove truth helper usage --- addon/components/freestyle-collection.js | 1 + addon/components/freestyle-section.js | 1 + addon/components/freestyle-usage.js | 4 ++++ addon/templates/components/freestyle-collection.hbs | 2 +- addon/templates/components/freestyle-section.hbs | 2 +- addon/templates/components/freestyle-usage.hbs | 6 +++--- 6 files changed, 11 insertions(+), 5 deletions(-) diff --git a/addon/components/freestyle-collection.js b/addon/components/freestyle-collection.js index 35524704..ad5f5e3b 100644 --- a/addon/components/freestyle-collection.js +++ b/addon/components/freestyle-collection.js @@ -9,6 +9,7 @@ export default Ember.Component.extend({ emberFreestyle: inject.service(), showLabels: computed.and('emberFreestyle.notFocused', 'emberFreestyle.showLabels'), + hasLabels: computed.and('showLabels', 'title'), showVariantList: computed.not('emberFreestyle.focus'), defaultKey: 'all', diff --git a/addon/components/freestyle-section.js b/addon/components/freestyle-section.js index 1c29acb1..4bc1f902 100644 --- a/addon/components/freestyle-section.js +++ b/addon/components/freestyle-section.js @@ -14,6 +14,7 @@ export default Ember.Component.extend({ }), showName: computed.and('emberFreestyle.notFocused', 'name'), + hasName: computed.and('showName', 'name'), willRender() { this._super(...arguments); diff --git a/addon/components/freestyle-usage.js b/addon/components/freestyle-usage.js index 36d1f3e2..b33e6d8d 100644 --- a/addon/components/freestyle-usage.js +++ b/addon/components/freestyle-usage.js @@ -43,6 +43,10 @@ let FreestyleUsage = Ember.Component.extend({ return this.get('highlightJsTheme') || this.get('defaultTheme'); }), + hasLabels: computed.and('showLabels', 'title'), + hasNotes: computed.and('showNotes', 'slug'), + hasCode: computed.and('showCode', 'slug'), + actions: { setFocus() { this.set('emberFreestyle.focus', this.get('slug')); diff --git a/addon/templates/components/freestyle-collection.hbs b/addon/templates/components/freestyle-collection.hbs index 20a728f3..8aa07cf3 100644 --- a/addon/templates/components/freestyle-collection.hbs +++ b/addon/templates/components/freestyle-collection.hbs @@ -1,4 +1,4 @@ -{{#if (and title showLabels)}} +{{#if hasLabels}}
{{title}}
diff --git a/addon/templates/components/freestyle-section.hbs b/addon/templates/components/freestyle-section.hbs index 860c7bc9..33cbb0e2 100644 --- a/addon/templates/components/freestyle-section.hbs +++ b/addon/templates/components/freestyle-section.hbs @@ -1,5 +1,5 @@ {{#if show}} - {{#if (and name showName)}} + {{#if hasName}}
{{name}}
diff --git a/addon/templates/components/freestyle-usage.hbs b/addon/templates/components/freestyle-usage.hbs index eb66c528..d4f1d554 100644 --- a/addon/templates/components/freestyle-usage.hbs +++ b/addon/templates/components/freestyle-usage.hbs @@ -1,5 +1,5 @@ {{#if showUsage}} - {{#if (and title showLabels)}} + {{#if hasLabels}}
{{title}} @@ -11,7 +11,7 @@
{{yield}}
- {{#if (and slug showNotes)}} + {{#if hasNotes}}
{{freestyle-notes name=snippetNotesJs theme=computedTheme}}
@@ -19,7 +19,7 @@ {{freestyle-notes name=snippetNotesHbs theme=computedTheme}}
{{/if}} - {{#if (and slug showCode)}} + {{#if hasCode}}
{{freestyle-snippet name=snippetUsage title=usageTitle}} From 90da218ba95a5a2768b89840dcb69c2fb82ed30d Mon Sep 17 00:00:00 2001 From: Chris LoPresto Date: Wed, 20 Apr 2016 10:39:12 -0400 Subject: [PATCH 2/4] Fix dependency import logic --- index.js | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/index.js b/index.js index e78c30ac..4529eede 100644 --- a/index.js +++ b/index.js @@ -68,23 +68,18 @@ module.exports = { var target = app || parentAddon; if (target.import) { - this.importFreestyleBowerDependencies(target); + target.import(target.bowerDirectory + '/remarkable/dist/remarkable.js'); + target.import(target.bowerDirectory + '/highlightjs/highlight.pack.js'); + target.import('vendor/ember-remarkable/shim.js', { + type: 'vendor', + exports: { 'remarkable': ['default'] } + }); + target.import('vendor/ember-remarkable/highlightjs-shim.js', { + type: 'vendor', + exports: { 'hljs': ['default'] } + }); } - this.app.import(app.bowerDirectory + '/remarkable/dist/remarkable.js'); - this.app.import(app.bowerDirectory + '/highlightjs/highlight.pack.js'); - this.app.import('vendor/ember-remarkable/shim.js', { - type: 'vendor', - exports: { 'remarkable': ['default'] } - }); - this.app.import('vendor/ember-remarkable/highlightjs-shim.js', { - type: 'vendor', - exports: { 'hljs': ['default'] } - }); - }, - - importFreestyleBowerDependencies: function(target) { - target.import(target.bowerDirectory + '/remarkable/dist/remarkable.js'); }, isDevelopingAddon: function() { From 134b4fc9d87a1da75b93cc764befd985a5da45e7 Mon Sep 17 00:00:00 2001 From: Chris LoPresto Date: Wed, 20 Apr 2016 11:06:26 -0400 Subject: [PATCH 3/4] Update to Ember CLI 2.6.0-beta.1 Update dependencies along the way --- .npmignore | 2 +- .travis.yml | 14 ++++++----- README.md | 2 +- bower.json | 4 ++-- config/ember-try.js | 11 +++++++++ ember-cli-build.js | 1 + package.json | 33 ++++++++++++-------------- testem.js | 13 ++++++++++ tests/helpers/module-for-acceptance.js | 14 +++++------ 9 files changed, 58 insertions(+), 36 deletions(-) create mode 100644 testem.js diff --git a/.npmignore b/.npmignore index 076a740e..fa8b147a 100644 --- a/.npmignore +++ b/.npmignore @@ -13,4 +13,4 @@ .travis.yml bower.json ember-cli-build.js -testem.json +testem.js diff --git a/.travis.yml b/.travis.yml index 8197d316..00c58228 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ --- language: node_js node_js: - - "0.12" + - "4" sudo: false @@ -11,6 +11,7 @@ cache: env: - EMBER_TRY_SCENARIO=default + - EMBER_TRY_SCENARIO=ember-1.13 - EMBER_TRY_SCENARIO=ember-release - EMBER_TRY_SCENARIO=ember-beta - EMBER_TRY_SCENARIO=ember-canary @@ -21,14 +22,15 @@ matrix: - env: EMBER_TRY_SCENARIO=ember-canary before_install: - - export PATH=/usr/local/phantomjs-2.0.0/bin:$PATH - - "npm config set spin false" - - "npm install -g npm@^2" + - npm config set spin false + - npm install -g bower + - npm install phantomjs-prebuilt install: - - npm install -g bower - npm install - bower install script: - - ember try $EMBER_TRY_SCENARIO test + # Usually, it's ok to finish the test scenario without reverting + # to the addon's original dependency state, skipping "cleanup". + - ember try $EMBER_TRY_SCENARIO test --skip-cleanup diff --git a/README.md b/README.md index db84c3a6..4ba3fb6b 100644 --- a/README.md +++ b/README.md @@ -59,4 +59,4 @@ $FreestyleGuide-color--primary: #ff0000; * `ember build` -For more information on using ember-cli, visit [http://www.ember-cli.com/](http://www.ember-cli.com/). +For more information on using ember-cli, visit [http://ember-cli.com/](http://ember-cli.com/). diff --git a/bower.json b/bower.json index bc3e432c..0e0b87ed 100644 --- a/bower.json +++ b/bower.json @@ -1,8 +1,8 @@ { "name": "ember-freestyle", "dependencies": { - "ember": "~2.3.1", - "ember-cli-shims": "0.1.0", + "ember": "~2.5.0", + "ember-cli-shims": "0.1.1", "ember-cli-test-loader": "0.2.2", "ember-qunit-notifications": "0.1.0", "normalize.css": "3.0.3", diff --git a/config/ember-try.js b/config/ember-try.js index be846e13..014f603d 100644 --- a/config/ember-try.js +++ b/config/ember-try.js @@ -7,6 +7,17 @@ module.exports = { dependencies: { } } }, + { + name: 'ember-1.13', + bower: { + dependencies: { + 'ember': '~1.13.0' + }, + resolutions: { + 'ember': '~1.13.0' + } + } + }, { name: 'ember-release', bower: { diff --git a/ember-cli-build.js b/ember-cli-build.js index caeb68c9..b592ee36 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -1,3 +1,4 @@ +/*jshint node:true*/ /* global require, module */ var EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); diff --git a/package.json b/package.json index d4f928fd..296823b4 100644 --- a/package.json +++ b/package.json @@ -18,30 +18,28 @@ "author": "", "license": "MIT", "devDependencies": { - "broccoli-asset-rev": "^2.2.0", - "ember-ajax": "0.7.1", - "ember-cli": "2.3.0", + "broccoli-asset-rev": "^2.4.2", + "ember-ajax": "^2.0.1", + "ember-cli": "2.6.0-beta.1", "ember-cli-app-version": "^1.0.0", - "ember-cli-autoprefixer": "0.5.0", + "ember-cli-autoprefixer": "0.6.0", "ember-cli-dependency-checker": "^1.2.0", - "ember-cli-github-pages": "0.0.6", + "ember-cli-github-pages": "0.0.8", "ember-cli-htmlbars-inline-precompile": "^0.3.1", - "ember-cli-inject-live-reload": "^1.3.1", - "ember-cli-qunit": "^1.2.1", + "ember-cli-inject-live-reload": "^1.4.0", + "ember-cli-jshint": "^1.0.0", + "ember-cli-qunit": "^1.4.0", "ember-cli-release": "0.2.8", "ember-cli-sass": "5.3.1", - "ember-cli-sri": "^2.0.0", + "ember-cli-sri": "^2.1.0", "ember-cli-uglify": "^1.2.0", "ember-disable-prototype-extensions": "^1.1.0", - "ember-disable-proxy-controllers": "^1.0.1", - "ember-export-application-global": "^1.0.4", + "ember-export-application-global": "^1.0.5", + "ember-load-initializers": "^0.5.1", "ember-normalize": "0.0.9", - "ember-load-initializers": "^0.5.0", "ember-resolver": "^2.0.3", "ember-suave": "2.0.1", - "ember-truth-helpers": "1.2.0", - "ember-try": "~0.1.2", - "loader.js": "^4.0.0" + "loader.js": "^4.0.1" }, "keywords": [ "ember-addon" @@ -49,18 +47,17 @@ "dependencies": { "broccoli-flatiron": "0.0.0", "broccoli-funnel": "^1.0.1", - "broccoli-json-module": "0.0.1", "broccoli-merge-trees": "^1.1.1", "broccoli-stew": "^1.2.0", "broccoli-unwatched-tree": "^0.1.1", "broccoli-writer": "^0.1.1", "ember-cli-babel": "^5.1.6", - "ember-cli-htmlbars": "^1.0.1", + "ember-cli-htmlbars": "^1.0.3", "ember-remarkable": "chrislopresto/ember-remarkable#highlightjs-css-compatibility", "ember-truth-helpers": "1.2.0", - "es6-promise": "^3.0.2", + "es6-promise": "^3.1.2", "glob": "^6.0.4", - "highlight.js": "^9.1.0" + "highlight.js": "^9.3.0" }, "ember-addon": { "configPath": "tests/dummy/config" diff --git a/testem.js b/testem.js new file mode 100644 index 00000000..26044b2f --- /dev/null +++ b/testem.js @@ -0,0 +1,13 @@ +/*jshint node:true*/ +module.exports = { + "framework": "qunit", + "test_page": "tests/index.html?hidepassed", + "disable_watching": true, + "launch_in_ci": [ + "PhantomJS" + ], + "launch_in_dev": [ + "PhantomJS", + "Chrome" + ] +}; diff --git a/tests/helpers/module-for-acceptance.js b/tests/helpers/module-for-acceptance.js index be9916b3..76996fd0 100644 --- a/tests/helpers/module-for-acceptance.js +++ b/tests/helpers/module-for-acceptance.js @@ -1,25 +1,23 @@ -// jscs:disable import { module } from 'qunit'; +import Ember from 'ember'; import startApp from '../helpers/start-app'; import destroyApp from '../helpers/destroy-app'; +const { RSVP: { Promise } } = Ember; + export default function(name, options = {}) { module(name, { beforeEach() { this.application = startApp(); if (options.beforeEach) { - options.beforeEach.apply(this, arguments); + return options.beforeEach.apply(this, arguments); } }, afterEach() { - destroyApp(this.application); - - if (options.afterEach) { - options.afterEach.apply(this, arguments); - } + let afterEach = options.afterEach && options.afterEach.apply(this, arguments); + return Promise.resolve(afterEach).then(() => destroyApp(this.application)); } }); } -// jscs:enable From 60fc5a7ca55bfb383ad89336e280696d9ada9057 Mon Sep 17 00:00:00 2001 From: Chris LoPresto Date: Wed, 20 Apr 2016 11:09:11 -0400 Subject: [PATCH 4/4] Fix jscs/jshint errors --- addon/components/freestyle-palette-item.js | 2 +- addon/components/freestyle-palette.js | 2 +- index.js | 1 - tests/helpers/module-for-acceptance.js | 4 ++++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/addon/components/freestyle-palette-item.js b/addon/components/freestyle-palette-item.js index a5d247ee..5bdc4e63 100644 --- a/addon/components/freestyle-palette-item.js +++ b/addon/components/freestyle-palette-item.js @@ -9,7 +9,7 @@ export default Ember.Component.extend({ tagName: '', // color - passed in paletteStyle: computed('color', function() { - const color = this.get('color'); + let color = this.get('color'); return htmlSafe(`background-color: ${color.base};`); }) }); diff --git a/addon/components/freestyle-palette.js b/addon/components/freestyle-palette.js index 2a2bdebf..319659a3 100644 --- a/addon/components/freestyle-palette.js +++ b/addon/components/freestyle-palette.js @@ -1,7 +1,7 @@ import Ember from 'ember'; import layout from '../templates/components/freestyle-palette'; -const { computed, inject } = Ember; +const { computed } = Ember; export default Ember.Component.extend({ tagName: '', diff --git a/index.js b/index.js index 4529eede..5c25c8d7 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,5 @@ /* jshint node: true */ 'use strict'; -var jsonModule = require('broccoli-json-module'); var mergeTrees = require('broccoli-merge-trees'); var stew = require('broccoli-stew'); diff --git a/tests/helpers/module-for-acceptance.js b/tests/helpers/module-for-acceptance.js index 76996fd0..80eb57fb 100644 --- a/tests/helpers/module-for-acceptance.js +++ b/tests/helpers/module-for-acceptance.js @@ -11,12 +11,16 @@ export default function(name, options = {}) { this.application = startApp(); if (options.beforeEach) { + // jscs:disable return options.beforeEach.apply(this, arguments); + // jscs:enable } }, afterEach() { + // jscs:disable let afterEach = options.afterEach && options.afterEach.apply(this, arguments); + // jscs:enable return Promise.resolve(afterEach).then(() => destroyApp(this.application)); } });