Skip to content

Commit

Permalink
Merge pull request #50 from rwwagner90/update-deps-add-dummy
Browse files Browse the repository at this point in the history
Update Ember-CLI and add tests/dummy/public
  • Loading branch information
ivanvotti committed Dec 19, 2017
2 parents 7ac38d2 + 79cf922 commit 570001d
Show file tree
Hide file tree
Showing 16 changed files with 754 additions and 468 deletions.
6 changes: 6 additions & 0 deletions .ember-cli
@@ -1,3 +1,9 @@
{
/**
Ember CLI sends analytics information by default. The data is completely
anonymous, but there are times when you might want to disable this behavior.

Setting `disableAnalytics` to true will prevent any data from being sent.
*/
"disableAnalytics": false
}
5 changes: 5 additions & 0 deletions .npmignore
Expand Up @@ -14,3 +14,8 @@
bower.json
ember-cli-build.js
testem.js

# ember-try
.node_modules.ember-try/
bower.json.ember-try
package.json.ember-try
21 changes: 20 additions & 1 deletion .travis.yml
Expand Up @@ -14,8 +14,27 @@ addons:
cache:
yarn: true

env:
global:
# See https://git.io/vdao3 for details.
- JOBS=1
matrix:
# we recommend new addons test the current and previous LTS
# as well as latest stable release (bonus points to beta/canary)
- EMBER_TRY_SCENARIO=ember-1.13
- EMBER_TRY_SCENARIO=ember-lts-2.4
- EMBER_TRY_SCENARIO=ember-lts-2.8
- EMBER_TRY_SCENARIO=ember-lts-2.12
- EMBER_TRY_SCENARIO=ember-lts-2.16
- EMBER_TRY_SCENARIO=ember-release
- EMBER_TRY_SCENARIO=ember-beta
- EMBER_TRY_SCENARIO=ember-canary
- EMBER_TRY_SCENARIO=ember-default

matrix:
fast_finish: true
allow_failures:
- env: EMBER_TRY_SCENARIO=ember-canary

before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
Expand All @@ -29,4 +48,4 @@ script:
- yarn nodetest
# Usually, it's ok to finish the test scenario without reverting
# to the addon's original dependency state, skipping "cleanup".
- ember try:each --skip-cleanup
- node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO --skip-cleanup
122 changes: 121 additions & 1 deletion config/ember-try.js
@@ -1,4 +1,124 @@
/* eslint-env node */
module.exports = {
useVersionCompatibility: true
useYarn: true,
scenarios: [
{
name: 'ember-1.13',
bower: {
dependencies: {
'ember': 'components/ember#1.13.13'
},
resolutions: {
'ember': '1.13.13'
}
},
npm: {
devDependencies: {
'ember-source': null
}
}
},
{
name: 'ember-lts-2.4',
bower: {
dependencies: {
'ember': 'components/ember#lts-2-4'
},
resolutions: {
'ember': 'lts-2-4'
}
},
npm: {
devDependencies: {
'ember-source': null
}
}
},
{
name: 'ember-lts-2.8',
bower: {
dependencies: {
'ember': 'components/ember#lts-2-8'
},
resolutions: {
'ember': 'lts-2-8'
}
},
npm: {
devDependencies: {
'ember-source': null
}
}
},
{
name: 'ember-lts-2.12',
npm: {
devDependencies: {
'ember-source': '~2.12.0'
}
}
},
{
name: 'ember-lts-2.16',
npm: {
devDependencies: {
'ember-source': '~2.16.0'
}
}
},
{
name: 'ember-release',
bower: {
dependencies: {
'ember': 'components/ember#release'
},
resolutions: {
'ember': 'release'
}
},
npm: {
devDependencies: {
'ember-source': null
}
}
},
{
name: 'ember-beta',
bower: {
dependencies: {
'ember': 'components/ember#beta'
},
resolutions: {
'ember': 'beta'
}
},
npm: {
devDependencies: {
'ember-source': null
}
}
},
{
name: 'ember-canary',
bower: {
dependencies: {
'ember': 'components/ember#canary'
},
resolutions: {
'ember': 'canary'
}
},
npm: {
devDependencies: {
'ember-source': null
}
}
},
{
name: 'ember-default',
npm: {
devDependencies: {}
}
}
]
};
20 changes: 10 additions & 10 deletions package.json
Expand Up @@ -35,7 +35,7 @@
"broccoli-svg-optimizer": "^1.0.2",
"broccoli-symbolizer": "^0.5.0",
"cheerio": "^0.20.0",
"ember-cli-babel": "^6.3.0",
"ember-cli-babel": "^6.6.0",
"lodash": "^4.13.1",
"mkdirp": "^0.5.1",
"path-posix": "^1.0.0"
Expand All @@ -48,21 +48,21 @@
"chai": "^3.5.0",
"chai-as-promised": "^5.3.0",
"ember-ajax": "^3.0.0",
"ember-cli": "~2.14.1",
"ember-cli-dependency-checker": "^1.3.0",
"ember-cli-eslint": "^3.0.0",
"ember-cli": "~2.17.1",
"ember-cli-dependency-checker": "^2.0.0",
"ember-cli-eslint": "^4.2.1",
"ember-cli-htmlbars": "^2.0.1",
"ember-cli-htmlbars-inline-precompile": "^0.4.3",
"ember-cli-htmlbars-inline-precompile": "^1.0.0",
"ember-cli-inject-live-reload": "^1.4.1",
"ember-cli-qunit": "^4.0.0",
"ember-cli-shims": "^1.1.0",
"ember-cli-qunit": "^4.1.1",
"ember-cli-shims": "^1.2.0",
"ember-cli-sri": "^2.1.0",
"ember-cli-uglify": "^1.2.0",
"ember-cli-uglify": "^2.0.0",
"ember-disable-prototype-extensions": "^1.1.2",
"ember-export-application-global": "^2.0.0",
"ember-load-initializers": "^1.0.0",
"ember-resolver": "^4.0.0",
"ember-source": "~2.14.1",
"ember-source": "~2.17.0",
"eslint-config-airbnb-base": "^5.0.0",
"eslint-plugin-import": "^1.12.0",
"glob": "^7.0.5",
Expand All @@ -77,7 +77,7 @@
"ember-addon": {
"configPath": "tests/dummy/config",
"versionCompatibility": {
"ember": ">=1.10.0"
"ember": ">=1.13.13"
}
}
}
9 changes: 7 additions & 2 deletions src/index.js
Expand Up @@ -27,7 +27,7 @@ function mergeTreesIfNeeded(trees, options) {
return trees.length === 1 ? trees[0] : new MergeTrees(trees, mergedOptions);
}

function buildOptions(customOpts = {}, env) {
function buildOptions(customOpts = {}, env, isAddon) {
let defaultOpts = {
rootURL: '/',
sourceDirs: ['public'],
Expand Down Expand Up @@ -55,6 +55,10 @@ function buildOptions(customOpts = {}, env) {
}
};

if (isAddon) {
defaultOpts.sourceDirs.push('tests/dummy/public');
}

let options = _.merge(defaultOpts, customOpts);
options.strategy = _.castArray(options.strategy);

Expand All @@ -77,7 +81,8 @@ module.exports = {
app = app.app;
}

this.svgJarOptions = buildOptions(app.options.svgJar, app.env);
const isAddon = this.project.isEmberCLIAddon();
this.svgJarOptions = buildOptions(app.options.svgJar, app.env, isAddon);
validateOptions(this.svgJarOptions);
},

Expand Down
15 changes: 9 additions & 6 deletions testem.js
Expand Up @@ -9,11 +9,14 @@ module.exports = {
'Chrome'
],
browser_args: {
Chrome: [
'--disable-gpu',
'--headless',
'--remote-debugging-port=9222',
'--window-size=1440,900'
]
Chrome: {
mode: 'ci',
args: [
'--disable-gpu',
'--headless',
'--remote-debugging-port=0',
'--window-size=1440,900'
]
}
}
};
4 changes: 2 additions & 2 deletions tests/dummy/app/app.js
@@ -1,9 +1,9 @@
import Ember from 'ember';
import Application from '@ember/application';
import loadInitializers from 'ember-load-initializers';
import Resolver from './resolver';
import config from './config/environment';

const App = Ember.Application.extend({
const App = Application.extend({
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix,
Resolver
Expand Down
4 changes: 2 additions & 2 deletions tests/dummy/app/index.html
Expand Up @@ -9,8 +9,8 @@

{{content-for "head"}}

<link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link rel="stylesheet" href="{{rootURL}}assets/dummy.css">
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/vendor.css">
<link integrity="" rel="stylesheet" href="{{rootURL}}assets/dummy.css">

{{content-for "head-footer"}}
</head>
Expand Down
4 changes: 2 additions & 2 deletions tests/dummy/app/router.js
@@ -1,7 +1,7 @@
import Ember from 'ember';
import EmberRouter from '@ember/routing/router';
import config from './config/environment';

const Router = Ember.Router.extend({
const Router = EmberRouter.extend({
location: config.locationType,
rootURL: config.rootURL
});
Expand Down
2 changes: 1 addition & 1 deletion tests/dummy/config/environment.js
Expand Up @@ -44,7 +44,7 @@ module.exports = function(environment) {
}

if (environment === 'production') {

// here you can enable a production-specific feature
}

return ENV;
Expand Down
4 changes: 2 additions & 2 deletions tests/helpers/destroy-app.js
@@ -1,5 +1,5 @@
import Ember from 'ember';
import { run } from '@ember/runloop';

export default function destroyApp(application) {
Ember.run(application, 'destroy');
run(application, 'destroy');
}
4 changes: 1 addition & 3 deletions tests/helpers/module-for-acceptance.js
@@ -1,10 +1,8 @@
import { module } from 'qunit';
import Ember from 'ember';
import { resolve } from 'rsvp';
import startApp from '../helpers/start-app';
import destroyApp from '../helpers/destroy-app';

const { RSVP: { resolve } } = Ember;

export default function(name, options = {}) {
module(name, {
beforeEach() {
Expand Down
9 changes: 5 additions & 4 deletions tests/helpers/start-app.js
@@ -1,12 +1,13 @@
import Ember from 'ember';
import { merge } from '@ember/polyfills';
import { run } from '@ember/runloop';
import Application from '../../app';
import config from '../../config/environment';

export default function startApp(attrs) {
let attributes = Ember.merge({}, config.APP);
attributes = Ember.merge(attributes, attrs); // use defaults, but you can override;
let attributes = merge({}, config.APP);
attributes = merge(attributes, attrs); // use defaults, but you can override;

return Ember.run(() => {
return run(() => {
let application = Application.create(attributes);
application.setupForTesting();
application.injectTestHelpers();
Expand Down
11 changes: 5 additions & 6 deletions tests/test-helper.js
@@ -1,8 +1,7 @@
import {
setResolver
} from 'ember-qunit';
import { start } from 'ember-cli-qunit';
import resolver from './helpers/resolver';
import { setApplication } from '@ember/test-helpers';
import { start } from 'ember-qunit';
import Application from '../app';

setApplication(Application.create({ autoboot: false }));

setResolver(resolver);
start();

0 comments on commit 570001d

Please sign in to comment.