Skip to content

Commit 1ac9e50

Browse files
committed
Merge remote-tracking branch 'upstream/pr/760'
2 parents 34c35cd + c3f6983 commit 1ac9e50

25 files changed

+1718
-570
lines changed

.eslintrc.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module.exports = {
2+
root: true,
3+
parserOptions: {
4+
ecmaVersion: 2017,
5+
sourceType: 'module'
6+
},
7+
extends: 'eslint:recommended',
8+
env: {
9+
browser: true
10+
},
11+
rules: {
12+
}
13+
};

app/adapters/application.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import DS from 'ember-data';
22

33
export default DS.RESTAdapter.extend({
4-
namespace: 'api/v1',
4+
namespace: 'api/v1'
55
});

app/app.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ let App;
88

99
let CargoResolver = Resolver.extend(RouteAliasResolverMixin);
1010

11-
Ember.MODEL_FACTORY_INJECTIONS = true;
12-
1311
App = Ember.Application.extend({
1412
modulePrefix: config.modulePrefix,
1513
podModulePrefix: config.podModulePrefix,

app/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<meta http-equiv="X-UA-Compatible" content="IE=edge">
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77

8-
{{content-for 'head'}}
8+
{{content-for "head"}}
99

1010
<script>
1111
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
@@ -20,13 +20,13 @@
2020
<link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
2121
<link rel="stylesheet" href="{{rootURL}}assets/cargo.css">
2222

23-
{{content-for 'head-footer'}}
23+
{{content-for "head-footer"}}
2424
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
2525
<link rel="icon" href="/favicon.ico" type="image/x-icon">
2626
<link rel="search" href="/opensearch.xml" type="application/opensearchdescription+xml" title="Cargo">
2727
</head>
2828
<body>
29-
{{content-for 'body'}}
29+
{{content-for "body"}}
3030
<noscript>
3131
<div id="main">
3232
<div class='noscript'>
@@ -38,6 +38,6 @@
3838
<script src="{{rootURL}}assets/vendor.js"></script>
3939
<script src="{{rootURL}}assets/cargo.js"></script>
4040

41-
{{content-for 'body-footer'}}
41+
{{content-for "body-footer"}}
4242
</body>
4343
</html>

app/models/crate.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,9 @@ export default DS.Model.extend({
2020

2121
versions: DS.hasMany('versions', { async: true }),
2222
badges: DS.attr(),
23-
enhanced_badges: Ember.computed.map('badges', badge => ({
24-
// jshint ignore:start
25-
// needed until https://github.com/jshint/jshint/issues/2991 is fixed
26-
...badge,
27-
// jshint ignore:end
23+
enhanced_badges: Ember.computed.map('badges', badge => Ember.assign({
2824
component_name: `badge-${badge.badge_type}`
29-
})),
25+
}, badge)),
3026
badge_sort: ['badge_type'],
3127
annotated_badges: Ember.computed.sort('enhanced_badges', 'badge_sort'),
3228
owners: DS.hasMany('users', { async: true }),

app/routes/login.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ export default Ember.Route.extend({
1111
beforeModel(transition) {
1212
try {
1313
localStorage.removeItem('github_response');
14-
} catch (e) {}
14+
} catch (e) {
15+
// TODO: handle error
16+
}
1517

1618
delete window.github_response;
1719
var win = window.open('/github_login', 'Authorization',

app/serializers/crate.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
import DS from 'ember-data';
22

33
export default DS.RESTSerializer.extend({
4-
isNewSerializerAPI: true,
5-
6-
extractRelationships(modelClass, resourceHash) {
7-
if (resourceHash.versions == null) {
8-
delete resourceHash.versions;
9-
}
10-
11-
return this._super(modelClass, resourceHash);
4+
normalize(modelClass, resourceHash) {
5+
modelClass.eachRelationship(key => resourceHash[key] !== null || delete resourceHash[key]);
6+
return this._super(...arguments);
127
}
138
});

app/services/session.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ export default Ember.Service.extend({
2222
this.set('currentUser', user);
2323
try {
2424
localStorage.setItem('isLoggedIn', '1');
25-
} catch (e) {}
25+
} catch (e) {
26+
// TODO: handle exception
27+
}
2628
},
2729

2830
logoutUser() {
@@ -32,6 +34,8 @@ export default Ember.Service.extend({
3234

3335
try {
3436
localStorage.removeItem('isLoggedIn');
35-
} catch (e) {}
37+
} catch (e) {
38+
// TODO: handle exception
39+
}
3640
}
3741
});

bower.json

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
{
22
"name": "cargo",
33
"dependencies": {
4-
"Faker": "3.1.0",
5-
"jquery": "3.2.0",
4+
"Faker": "4.1.0",
65
"lodash": "4.17.4",
7-
"ember": "2.12.0",
8-
"moment": "2.17.1",
9-
"moment-timezone": "0.5.11",
10-
"normalize-css": "5.0.0",
6+
"moment": "2.18.1",
7+
"moment-timezone": "0.5.13",
8+
"normalize-css": "7.0.0",
119
"pretender": "1.4.2",
1210
"clipboard": "1.6.1"
1311
}

config/environment.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* jshint node: true */
1+
/* eslint-env node */
22

33
module.exports = function(environment) {
44
var ENV = {

config/targets.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/* eslint-env node */
2+
3+
module.exports = {
4+
browsers: [
5+
'ie 9',
6+
'last 1 Chrome versions',
7+
'last 1 Firefox versions',
8+
'last 1 Safari versions'
9+
]
10+
};

ember-cli-build.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
/*jshint node:true*/
2-
/* global require, module */
1+
/* eslint-env node */
32
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
43

54
module.exports = function(defaults) {

package.json

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
{
22
"name": "cargo",
33
"version": "0.0.0",
4-
"private": true,
4+
"license": "MIT",
5+
"author": "",
56
"directories": {
67
"doc": "doc",
78
"test": "tests"
89
},
10+
"repository": "",
911
"scripts": {
1012
"build": "yarn run ember build",
1113
"start": "yarn run ember server",
@@ -15,46 +17,45 @@
1517
"test": "yarn run ember test",
1618
"ember": "ember"
1719
},
18-
"repository": "",
19-
"engines": {
20-
"node": "= 4.6.0"
21-
},
22-
"author": "",
23-
"license": "MIT",
2420
"devDependencies": {
2521
"bower": "1.8.0",
26-
"broccoli-asset-rev": "2.5.0",
27-
"ember-ajax": "2.5.6",
28-
"ember-cli": "2.12.0",
29-
"ember-cli-app-version": "2.0.2",
30-
"ember-cli-babel": "5.2.4",
31-
"ember-cli-dependency-checker": "1.3.0",
32-
"ember-cli-htmlbars": "1.2.0",
33-
"ember-cli-htmlbars-inline-precompile": "0.3.6",
22+
"broccoli-asset-rev": "^2.4.5",
23+
"ember-ajax": "^3.0.0",
24+
"ember-cli": "2.13.2",
25+
"ember-cli-app-version": "^3.0.0",
26+
"ember-cli-babel": "^6.0.0",
27+
"ember-cli-dependency-checker": "^1.3.0",
28+
"ember-cli-eslint": "^3.0.0",
29+
"ember-cli-htmlbars": "^1.1.1",
30+
"ember-cli-htmlbars-inline-precompile": "^0.4.0",
3431
"ember-cli-ic-ajax": "1.0.0",
35-
"ember-cli-inject-live-reload": "1.6.1",
36-
"ember-cli-jshint": "2.0.1",
37-
"ember-cli-meta-tags": "3.0.4",
38-
"ember-cli-mirage": "0.2.9",
39-
"ember-cli-moment-shim": "3.0.1",
40-
"ember-cli-qunit": "3.1.2",
32+
"ember-cli-inject-live-reload": "^1.4.1",
33+
"ember-cli-meta-tags": "3.1.0",
34+
"ember-cli-mirage": "0.3.2",
35+
"ember-cli-moment-shim": "3.3.0",
36+
"ember-cli-qunit": "^4.0.0",
4137
"ember-cli-release": "0.2.9",
42-
"ember-cli-sass": "6.1.2",
43-
"ember-cli-shims": "1.0.2",
44-
"ember-cli-sri": "2.1.1",
45-
"ember-cli-test-loader": "1.1.1",
46-
"ember-cli-uglify": "1.2.0",
47-
"ember-data": "2.12.1",
48-
"ember-export-application-global": "1.1.1",
49-
"ember-load-initializers": "0.6.3",
50-
"ember-lodash": "4.17.1",
51-
"ember-moment": "7.3.0",
52-
"ember-page-title": "3.1.5",
53-
"ember-resolver": "3.0.0",
38+
"ember-cli-sass": "6.1.3",
39+
"ember-cli-shims": "^1.1.0",
40+
"ember-cli-sri": "^2.1.0",
41+
"ember-cli-test-loader": "2.1.0",
42+
"ember-cli-uglify": "^1.2.0",
43+
"ember-data": "^2.13.0",
44+
"ember-export-application-global": "^2.0.0",
45+
"ember-load-initializers": "^1.0.0",
46+
"ember-lodash": "4.17.4",
47+
"ember-moment": "7.3.1",
48+
"ember-page-title": "3.1.6",
49+
"ember-resolver": "^4.0.0",
5450
"ember-route-alias": "0.1.5",
55-
"ember-router-scroll": "0.1.1",
51+
"ember-router-scroll": "0.2.0",
52+
"ember-source": "~2.13.0",
5653
"ember-suave": "4.0.1",
57-
"emberx-select": "2.2.3",
58-
"loader.js": "4.2.3"
59-
}
54+
"emberx-select": "^3.0.1",
55+
"loader.js": "^4.2.3"
56+
},
57+
"engines": {
58+
"node": ">= 4"
59+
},
60+
"private": true
6061
}

testem.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*jshint node:true*/
1+
/* eslint-env node */
22
module.exports = {
33
"test_page": "tests/index.html?hidepassed",
44
"disable_watching": true,

testem.json

Lines changed: 0 additions & 12 deletions
This file was deleted.

tests/.eslintrc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = {
2+
env: {
3+
embertest: true
4+
}
5+
};

tests/acceptance/categories-test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/*global hasText*/
12
import { test } from 'qunit';
23
import moduleForAcceptance from 'cargo/tests/helpers/module-for-acceptance';
34

tests/acceptance/crate-test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/*global hasText, matchesText*/
12
import { test } from 'qunit';
23
import moduleForAcceptance from 'cargo/tests/helpers/module-for-acceptance';
34

tests/acceptance/front-page-test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/*global hasText*/
12
import { test } from 'qunit';
23
import moduleForAcceptance from 'cargo/tests/helpers/module-for-acceptance';
34

tests/acceptance/search-test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/*global hasText, wait*/
12
import { test } from 'qunit';
23
import moduleForAcceptance from 'cargo/tests/helpers/module-for-acceptance';
34

tests/helpers/destroy-app.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/*global server*/
12
import Ember from 'ember';
23

34
export default function destroyApp(application) {

tests/helpers/start-app.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,13 @@ import './has-text';
55
import './matches-text';
66

77
export default function startApp(attrs) {
8-
let application;
8+
let attributes = Ember.merge({}, config.APP);
9+
attributes = Ember.merge(attributes, attrs); // use defaults, but you can override;
910

10-
// use defaults, but you can override
11-
let attributes = Ember.assign({}, config.APP, attrs);
12-
13-
Ember.run(() => {
14-
application = Application.create(attributes);
11+
return Ember.run(() => {
12+
let application = Application.create(attributes);
1513
application.setupForTesting();
1614
application.injectTestHelpers();
15+
return application;
1716
});
18-
19-
return application;
2017
}

tests/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<head>
44
<meta charset="utf-8">
55
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<title>Cargo Tests</title>
67
<meta name="description" content="">
78
<meta name="viewport" content="width=device-width, initial-scale=1">
89

tests/test-helper.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import resolver from './helpers/resolver';
2-
import registerSelectHelper from './helpers/register-select-helper';
3-
registerSelectHelper();
42
import {
53
setResolver
64
} from 'ember-qunit';
5+
import { start } from 'ember-cli-qunit';
76

87
setResolver(resolver);
8+
start();

0 commit comments

Comments
 (0)