Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Octane tags #488

Merged
merged 3 commits into from
Jan 11, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions source/2019-01-26-emberjs-native-class-update-2019-edition.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
---
title: Ember.js Native Class Update - 2019 Edition
author: Chris Garrett
tags: Recent Posts, 2019, Native Classes
tags: Recent Posts, 2019, Native Classes, Ember Octane
alias : "blog/2019/01/26-emberjs-native-class-update-2019-edition.html"
responsive: true
---

(This post was originally published on [www.pzuraq.com](https://www.pzuraq.com/emberjs-native-class-update-2019-edition/))

<!--alex disable just easy-->
These are exciting times in Ember! With Ember Octane just around the corner, native class support has [officially landed in v3.6](https://emberjs.com/blog/2018/12/13/ember-3-6-released.html#toc_new-features-2) (with a [polyfill](https://github.com/pzuraq/ember-native-class-polyfill) supporting v3.4+), and the [Decorators RFC](https://github.com/emberjs/rfcs/blob/master/text/0408-decorators.md) has been merged and will be implemented soon (pending decorators moving to stage 3 in the January meeting). Some time ago, I wrote [an article](https://medium.com/build-addepar/es-classes-in-ember-js-63e948e9d78e) that detailed how to use native classes in Ember, along with best practices for writing them. Since then, some major changes have occured, and I wanted to give a quick update for early adopters and folks who are curious about them in general.

This post will focus on changes since the original article and current best practices. We'll be talking about:
Expand Down Expand Up @@ -501,7 +502,7 @@ class Person {
fullName = `${this.firstName} ${this.lastName}`;
}
```

This is a bad idea because it makes your class harder to refactor. Moving a field around can break your class in unexpected ways, and it might take minute to figure out what's going on. Class fields definitely _read_ declaratively, and the fact that they _do_ have an assignment order is actually rather odd in that sense - intuitively, you might expect them to all exist at once, like assigments on an object literal.

Note that this really only applies to class fields - once you're in a "hook" of some kind, like the `constructor` or `init`, it's safe to start using values. This is because moving the constructor around is safe, and functions are pretty easy to reason about locally (usually 😬):
Expand Down Expand Up @@ -541,3 +542,4 @@ Generally, derived state like this is handled better by getters/setters, so this
* [Ember Native Class ESLint Plugin](https://github.com/scalvert/eslint-plugin-ember-es6-class)

And that's all folks! If you have more questions, join the [Ember Discord](https://www.emberjs.com/community/) and ask away, the `#e-decorators`, `#e-typescript`, `#st-native-classes`, and `#st-octane` channels are all great places to get some advice. Thanks for reading!
<!--alex enable just easy-->
28 changes: 14 additions & 14 deletions source/2019-02-14-octane-guides.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
title: 'Community Update: Octane Documentation'
author: Melanie Sumner
tags: Recent Posts, 2019, Octane
tags: Recent Posts, 2019, Ember Octane
responsive: true
---

The preview of the Octane edition of Ember is coming soon, and with all these fantastic new features comes a lot of documentation. Since this requires coordination of many moving parts, we want to outline the approach we're taking, and outlining some ways that the community can contribute.
The preview of the Octane edition of Ember is coming soon, and with all these fantastic new features comes a lot of documentation. Since this requires coordination of many moving parts, we want to outline the approach we're taking, and outlining some ways that the community can contribute.

## Preparation

In order to prepare for the new edition, the Learning Core Team spent time figuring out how to best transition the existing docs in such a way that was consistent with iterative innovation.
In order to prepare for the new edition, the Learning Core Team spent time figuring out how to best transition the existing docs in such a way that was consistent with iterative innovation.

One of the goals of improving the guides in general was to improve the learning flow in the guides (see [RFC #431](https://github.com/emberjs/rfcs/pull/431)). As such, we determined that a change to the table of contents was in order.

## Updating the guides

As per the usual standard, we have planned out this work to be able to complete it in an iterative fashion. This was particularly important because we are updating guides as new features for the Octane release are merged into Ember.
As per the usual standard, we have planned out this work to be able to complete it in an iterative fashion. This was particularly important because we are updating guides as new features for the Octane release are merged into Ember.

### Phases

Expand All @@ -31,30 +31,30 @@ Phase 1, MVP: (see [Tracking issue](https://github.com/ember-learn/guides-source
1. Add re-direct URLs and remove old content
1. Test/Review to make sure everything works as intended

Then the Octane guides will be considered in MVP status and we will move forward to the next phase, which will include all of the sections that were identified in the table of contents RFC but were not included in the MVP.
Then the Octane guides will be considered in MVP status and we will move forward to the next phase, which will include all of the sections that were identified in the table of contents RFC but were not included in the MVP.

Through all of these phases, a preview of the Octane edition guides will be used to ensure that the documentation is staying on track with the intended features.
Through all of these phases, a preview of the Octane edition guides will be used to ensure that the documentation is staying on track with the intended features.

While new content is being written and older content is being updated, **no existing content will be completely deleted.** Only _after_ we have fully reviewed the content and added the re-directs will outdated content be removed. This means that in the interim, some content may be available if the user has the URL, but it won't be linked from the table of contents.
While new content is being written and older content is being updated, **no existing content will be completely deleted.** Only _after_ we have fully reviewed the content and added the re-directs will outdated content be removed. This means that in the interim, some content may be available if the user has the URL, but it won't be linked from the table of contents.

### Challenges
As with any ambitious undertaking, there are some related challenges. Here are a few we are currently facing:

As with any ambitious undertaking, there are some related challenges. Here are a few we are currently facing:

- Updating guides content for the Octane feature set and defaults
- The number of sub-sections for each guide section
- Handling redirects for old content in a way that won't break existing deprecation messages

We expect to work through these challenges and have a process in place to handle them, but we should have a shared awareness that our approach may be tweaked as the next month goes on, to address these issues.
We expect to work through these challenges and have a process in place to handle them, but we should have a shared awareness that our approach may be tweaked as the next month goes on, to address these issues.

## How you can help
We expect that the community will be willing to submit PRs to help make the documentation better–from checking for spelling or grammar errors, to adding code samples, and even more ambitiously, writing some prose.

Thanks to our infrastructure upgrades in 2018, we are well-positioned to accept community participation in the documentation effort. Please see the open issues in the [guides source repository](https://github.com/ember-learn/guides-source/issues) and let us know in the #dev-ember-learning channel (on Discord) if you would like to work on an issue.
We expect that the community will be willing to submit PRs to help make the documentation better–from checking for spelling or grammar errors, to adding code samples, and even more ambitiously, writing some prose.

Thanks to our infrastructure upgrades in 2018, we are well-positioned to accept community participation in the documentation effort. Please see the open issues in the [guides source repository](https://github.com/ember-learn/guides-source/issues) and let us know in the #dev-ember-learning channel (on Discord) if you would like to work on an issue.

All PRs for this should be made against the `octane` branch of the [guides repo](https://github.com/ember-learn/guides-source) and should follow the regular standards for pull requests to documentation, the most important being one issue per pull request.
All PRs for this should be made against the `octane` branch of the [guides repo](https://github.com/ember-learn/guides-source) and should follow the regular standards for pull requests to documentation, the most important being one issue per pull request.

### Future of Contributing

The Learning Core Team is working to make it even easier to contribute. We are planning better contributing guides than we've ever had before, and you can be part of this process! We're adding a Contributing section to the website–participate in shaping this content by helping review/comment on [RFC #446](https://github.com/emberjs/rfcs/pull/446).


6 changes: 3 additions & 3 deletions source/2019-08-15-octane-release-plan.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Octane is coming in v3.14
author: Yehuda Katz, Jen Weber
tags: 2019, Announcement, Recent Posts
tags: 2019, Announcement, Recent Posts, Ember Octane
responsive: true
---

Expand Down Expand Up @@ -45,7 +45,7 @@ Octane uses [Native JavaScript Classes](https://developer.mozilla.org/en-US/docs

### Try using Octane features that have already landed

The rest of the sections below cover optional features in Octane that you can consider using now. These features are independent of each other. You can opt into them one at a time, in any order. The best way to try them out is when you are writing new components.
The rest of the sections below cover optional features in Octane that you can consider using now. These features are independent of each other. You can opt into them one at a time, in any order. The best way to try them out is when you are writing new components.

You will be able to migrate to many of Octane's idioms automatically using codemods that we will finalize with Ember 3.14. When we say "Octane idioms," we mean the syntax, APIs, and patterns for Octane. We do not recommend trying to mass-migrate older code (like `@ember/component` Components) without those codemods.

Expand Down Expand Up @@ -209,7 +209,7 @@ In classic Ember, you can refer to properties on a component as `{{propertyName}

No matter what kind of component you're using, you should start using `this` to refer to component properties in new code. The [`no-implicit-this`](https://github.com/ember-template-lint/ember-template-lint/blob/master/docs/rule/no-implicit-this.md) template lint can help you avoid using this deprecated pattern by accident.

Ember 3.14 will finalize a codemod that uses dynamic information from booting up your app to automatically insert `this` where needed. We recommend waiting for this codemod to be finalized before attempting to mass-migrate your codebase.
Ember 3.14 will finalize a codemod that uses dynamic information from booting up your app to automatically insert `this` where needed. We recommend waiting for this codemod to be finalized before attempting to mass-migrate your codebase.

### Angle Bracket Invocation

Expand Down
2 changes: 1 addition & 1 deletion source/2019-10-31-octane-release-update.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Octane Release Update
author: Yehuda Katz, Matthew Beale
tags: 2019, Announcement
tags: 2019, Announcement, Ember Octane
responsive: true
---

Expand Down
12 changes: 6 additions & 6 deletions source/2019-12-20-ember-3-15-released.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Ember 3.15 "Octane" Released
author: Kenneth Larsen, Matthew Beale, Melanie Sumner
tags: Releases, Recent Posts, 2019, 3, 3.15, Version 3.x
tags: Releases, Recent Posts, 2019, 3, 3.15, Version 3.x, Ember Octane
alias: 2019-12-20-ember-3-15-released.md
responsive: true
date: "2019-12-20 16:30:00 -0500"
Expand All @@ -21,7 +21,7 @@ READMORE

<!--alex ignore nuts-->
**Read more about how Octane makes web application development fun and
productive in
productive in
[Octane is Here](https://blog.emberjs.com/2019/12/20/octane-is-here.html), a blog post from Yehuda.**

...and then explore our completely updated and refreshed guide and API
Expand Down Expand Up @@ -57,7 +57,7 @@ visibility of a component's root element. This API was very common in early
Ember 1.x applications but is rare today. In practice use of template bindings
has supplanted use of the `isVisible` API.

`isVisible` is deprecated as of Ember 3.15.
`isVisible` is deprecated as of Ember 3.15.

To transition away from this, we recommend using conditionals in a template:

Expand All @@ -84,7 +84,7 @@ components](https://api.emberjs.com/ember/3.15/modules/@glimmer%2Fcomponent),
as well as of the
[`template-only-glimmer-components`](https://guides.emberjs.com/release/configuring-ember/optional-features/#toc_template-only-glimmer-components)
optional feature the `{{partial}}` API in Ember no longer provides any unique
benefits. Instead it has several downsides including difficult to teach scoping
benefits. Instead it has several downsides including difficult to teach scoping
rules and poor performance.

See the [deprecation guide for
Expand Down Expand Up @@ -125,7 +125,7 @@ the data panel in the [Ember Inspector](https://github.com/emberjs/ember-inspect
This package adds roughly .6 KB when minified and compressed to your application
in production; however, you can now opt out of shipping this addon in production
via options in `ember-cli-build.js`

```js
let app = new EmberApp(defaults, {
emberData: {
Expand All @@ -148,7 +148,7 @@ For additional details on changes in Ember Data 3.15.0, please review the full

Ember CLI is the command line interface for managing and packaging Ember.js applications.

There were some noteworthy changes in `ember-cli` to support the release of the Octane edition of Ember. The `@glimmer/component@1.0.0` package was added as a dev dependency for both apps and addons, Octane-related optional features were enabled, `ember-template-lint` was updated to use the `octane` edition preset, and all packages were updated to their latest version in the application blueprint!
There were some noteworthy changes in `ember-cli` to support the release of the Octane edition of Ember. The `@glimmer/component@1.0.0` package was added as a dev dependency for both apps and addons, Octane-related optional features were enabled, `ember-template-lint` was updated to use the `octane` edition preset, and all packages were updated to their latest version in the application blueprint!

The new addon blueprint also dropped the Ember 3.4 ember-try scenario, but dropping support for existing addons should be considered a breaking change. Existing addons should either keep the scenario, or do a major version bump if they drop support for older Ember versions.

Expand Down
2 changes: 1 addition & 1 deletion source/2019-12-20-octane-is-here.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Octane is Here
author: Yehuda Katz
tags: Recent Posts, 2019, Announcement, Featured Announcement
tags: Recent Posts, 2019, Announcement, Featured Announcement, Ember Octane
alias: 2019-12-20-octane-is-here.md
responsive: true
date: "2019-12-20 16:31:00 -0500"
Expand Down
8 changes: 4 additions & 4 deletions source/2020-01-10-the-ember-times-issue-130.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
title: The Ember Times - Issue No. 130
author: Chris Ng, Alon Bukai, Jessica Jordan, Anne-Greeth van Herwijnen, Isaac Lee, Jared Galanis, Amy Lam
tags: Recent Posts, Newsletter, Ember.js Times, Ember Times, 2020
tags: Recent Posts, Ember Octane, Newsletter, Ember.js Times, Ember Times, 2020
alias : "blog/2020/01/10-the-ember-times-issue-130.html"
responsive: true
---

Happy New Year, Emberistas! 🐹

<!--alex ignore special-->
This week, we have an **Ember Octane Special Edition** for you!
This week, we have an **Ember Octane Special Edition** for you!

We've collected as much info as possible about this new Ember edition. So throughout this post, you will find useful information to help you get the most out of Ember Octane.

Expand Down Expand Up @@ -165,12 +165,12 @@ We know there are lots of other great examples of Octane being used in the wild.

We alluded to the [Ember Atlas Octane Upgrade Guide](https://www.notion.so/Ember-Octane-b8ad64b7adf74218942fc69ead7b6892) earlier. This section includes information to help Ember developers upgrade from Classic apps/addons to Octane ones. 🚀

So what <span style="font-style: italic;">is</span> Ember Atlas?
So what <span style="font-style: italic;">is</span> Ember Atlas?

Ember Atlas is an unofficial resource for Ember curated by various people in the Ember Community. It includes best practices, upgrade guides and more! The Ember Atlas is built to be a curated wiki for Ember for various content that isn't in the guides yet, or won't ever make it in.

<!--alex ignore easy-->
Bookmark [emberatlas.com](http://emberatlas.com) for quick reference and check out the [Ember Atlas Introduction](https://www.notion.so/Introduction-d11ec02706d74eab960b3e2b11494bc7) to get started.
Bookmark [emberatlas.com](http://emberatlas.com) for quick reference and check out the [Ember Atlas Introduction](https://www.notion.so/Introduction-d11ec02706d74eab960b3e2b11494bc7) to get started.

---

Expand Down
5 changes: 3 additions & 2 deletions source/_sidebar.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,12 @@
<h3 class="list-group-title" id="browse-subject">Browse by Subject</h3>
<ul class="list-group" aria-labelledby="browse-subject">
<li class="list-item"><a href="<%= tag_path 'Announcement'%>">Announcements</a></li>
<li class="list-item"><a href="<%= tag_path 'Announcement'%>">Accessibility</a></li>
jayjayjpg marked this conversation as resolved.
Show resolved Hide resolved
<li class="list-item"><a href="<%= tag_path 'Announcement'%>">Addons</a></li>
<li class="list-item"><a href="<%= tag_path 'Accessibility'%>">Accessibility</a></li>
<li class="list-item"><a href="<%= tag_path 'Addons'%>">Addons</a></li>
<li class="list-item"><a href="<%= tag_path 'DecEmber'%>">DecEmber</a></li>
<li class="list-item"><a href="<%= tag_path 'Ember CLI'%>">Ember CLI</a></li>
<li class="list-item"><a href="<%= tag_path 'Ember Data'%>">Ember Data</a></li>
<li class="list-item"><a href="<%= tag_path 'Ember Octane'%>">Ember Octane</a></li>
<li class="list-item"><a href="<%= tag_path 'Newsletter'%>">Newsletter</a></li>
<li class="list-item"><a href="<%= tag_path 'Performance'%>">Performance</a></li>
<li class="list-item"><a href="<%= tag_path 'Roadmap'%>">Roadmap</a></li>
Expand Down