Skip to content

Commit e0b547c

Browse files
committed
Replace ember-cli-meta-tags with ember-cli-head
`ember-cli-meta-tags` is almost unmaintained and causing several deprecation warnings. We can easily implement this ourselves on top of `ember-cli-head` instead.
1 parent e4ef88e commit e0b547c

File tree

6 files changed

+29
-48
lines changed

6 files changed

+29
-48
lines changed

app/routes/crate.js

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import Route from '@ember/routing/route';
22
import { inject as service } from '@ember/service';
33

44
export default class CrateRoute extends Route {
5+
@service headData;
56
@service notifications;
67

78
async model(params) {
@@ -18,24 +19,13 @@ export default class CrateRoute extends Route {
1819
}
1920
}
2021

21-
afterModel(model) {
22-
if (model && typeof model.get === 'function') {
23-
this.setHeadTags(model);
24-
}
22+
setupController(controller, model) {
23+
super.setupController(...arguments);
24+
this.headData.crate = model;
2525
}
2626

27-
setHeadTags(model) {
28-
let headTags = [
29-
{
30-
type: 'meta',
31-
tagId: 'meta-description-tag',
32-
attrs: {
33-
name: 'description',
34-
content: model.get('description') || 'A package for Rust.',
35-
},
36-
},
37-
];
38-
39-
this.set('headTags', headTags);
27+
resetController() {
28+
super.resetController(...arguments);
29+
this.headData.crate = null;
4030
}
4131
}

app/routes/index.js

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,6 @@ import { inject as service } from '@ember/service';
44
export default class IndexRoute extends Route {
55
@service fastboot;
66

7-
headTags() {
8-
return [
9-
{
10-
type: 'meta',
11-
attrs: {
12-
name: 'description',
13-
content: 'cargo is the package manager and crate host for rust',
14-
},
15-
},
16-
];
17-
}
18-
197
setupController(controller) {
208
if (!controller.hasData) {
219
let promise = controller.fetchData();

app/services/head-data.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import Service from '@ember/service';
2+
import { tracked } from '@glimmer/tracking';
3+
4+
const DEFAULT_DESCRIPTION = 'cargo is the package manager and crate host for rust';
5+
const DEFAULT_CRATE_DESCRIPTION = 'A package for Rust.';
6+
7+
export default class HeadDataService extends Service {
8+
@tracked crate;
9+
10+
get description() {
11+
return !this.crate ? DEFAULT_DESCRIPTION : this.crate.description || DEFAULT_CRATE_DESCRIPTION;
12+
}
13+
}

app/templates/head.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<HeadTags @headTags={{this.model.headTags}} />
1+
<meta name="description" content={{this.model.description}}>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@
7676
"ember-cli-dependency-checker": "3.2.0",
7777
"ember-cli-dependency-lint": "2.0.1",
7878
"ember-cli-fastboot": "2.2.3",
79+
"ember-cli-head": "2.0.0",
7980
"ember-cli-htmlbars": "6.0.0",
8081
"ember-cli-inject-live-reload": "2.1.0",
81-
"ember-cli-meta-tags": "6.2.0",
8282
"ember-cli-mirage": "2.2.0",
8383
"ember-cli-notifications": "7.0.0",
8484
"ember-cli-terser": "4.0.2",

yarn.lock

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6345,13 +6345,13 @@ ember-cli-get-component-path-option@^1.0.0:
63456345
resolved "https://registry.yarnpkg.com/ember-cli-get-component-path-option/-/ember-cli-get-component-path-option-1.0.0.tgz#0d7b595559e2f9050abed804f1d8eff1b08bc771"
63466346
integrity sha1-DXtZVVni+QUKvtgE8djv8bCLx3E=
63476347

6348-
ember-cli-head@^1.0.0:
6349-
version "1.0.0"
6350-
resolved "https://registry.yarnpkg.com/ember-cli-head/-/ember-cli-head-1.0.0.tgz#72a71b3db2039b66585c754fd33bc3c36ff86fc1"
6351-
integrity sha512-7gj8H/KSF+e4pxSKxj9F8hq9PUt2vOjCaOvRdxdmyoHnko4QbiUnv8ASpXuop+m15eNIUGOlaLrJJ3jM8oQEUw==
6348+
ember-cli-head@2.0.0:
6349+
version "2.0.0"
6350+
resolved "https://registry.yarnpkg.com/ember-cli-head/-/ember-cli-head-2.0.0.tgz#ce294341026fd643067712a438008d6139f5208d"
6351+
integrity sha512-i9qwljBlpzU/ei0xN+FiCHUvU1ZdjVXk0OzRKoeMZJK3m4p29CvB095klT0q+PigvYFYHIyTaeSWmbgjP8CZiw==
63526352
dependencies:
6353-
ember-cli-babel "^7.19.0"
6354-
ember-cli-htmlbars "^4.3.1"
6353+
ember-cli-babel "^7.26.3"
6354+
ember-cli-htmlbars "^5.7.1"
63556355
ember-in-element-polyfill "^1.0.0"
63566356

63576357
@@ -6385,7 +6385,7 @@ ember-cli-htmlbars@^3.0.0:
63856385
json-stable-stringify "^1.0.1"
63866386
strip-bom "^3.0.0"
63876387

6388-
ember-cli-htmlbars@^4.2.0, ember-cli-htmlbars@^4.2.2, ember-cli-htmlbars@^4.2.3, ember-cli-htmlbars@^4.3.1:
6388+
ember-cli-htmlbars@^4.2.0, ember-cli-htmlbars@^4.2.3:
63896389
version "4.5.0"
63906390
resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-4.5.0.tgz#d299e4f7eba6f30dc723ee086906cc550beb252e"
63916391
integrity sha512-bYJpK1pqFu9AadDAGTw05g2LMNzY8xTCIqQm7dMJmKEoUpLRFbPf4SfHXrktzDh7Q5iggl6Skzf1M0bPlIxARw==
@@ -6445,16 +6445,6 @@ [email protected], ember-cli-lodash-subset@^2.0.1:
64456445
resolved "https://registry.yarnpkg.com/ember-cli-lodash-subset/-/ember-cli-lodash-subset-2.0.1.tgz#20cb68a790fe0fde2488ddfd8efbb7df6fe766f2"
64466446
integrity sha1-IMtop5D+D94kiN39jvu332/nZvI=
64476447

6448-
6449-
version "6.2.0"
6450-
resolved "https://registry.yarnpkg.com/ember-cli-meta-tags/-/ember-cli-meta-tags-6.2.0.tgz#e7a56326a2ad0ffc6f1174c8bb15394d2b98f6ec"
6451-
integrity sha512-bWznJttpkyscpM1MolVBdxvBsKSNOAYO4t6rN4huBl4WWup74spOpO+O/3T+qdgWTQ4UEyNaQMZK5EeFT+hScg==
6452-
dependencies:
6453-
ember-cli-babel "^7.26.6"
6454-
ember-cli-head "^1.0.0"
6455-
ember-cli-htmlbars "^4.2.2"
6456-
ember-compatibility-helpers "^1.1.2"
6457-
64586448
64596449
version "2.2.0"
64606450
resolved "https://registry.yarnpkg.com/ember-cli-mirage/-/ember-cli-mirage-2.2.0.tgz#38f4ec02536dd50ecdb265da2abbf7986d66b091"

0 commit comments

Comments
 (0)