Skip to content

Octane Tracking Issue #17234

@MelSumner

Description

@MelSumner

Summary

The purpose of this issue is to provide an overall issue to track the status of the work necessary to ship the Octane Edition of Ember.js.

If anyone wants to work on any of the items in this list, please check in the #st-octane channel of our Discord chat first.

The following to-do list will be updated to include links to individual issues as they are created. The issues themselves will contain more details for each item on this list.

Goals from Roadmap RFC

Finish What We Started (Part 1 of 2)

As per the 2018 Roadmap RFC, there is commitment and focus to finishing the things we've already started.

Octane Edition Features (Part 2 of 2)

As per the roadmap RFC, these are the goals for the Octane edition; however it should be noted that
"the final timeline and feature set of Ember Octane will be determined by the core teams and are not set in stone in this RFC."

  • No jQuery by default
  • Svelte Builds (moved to next edition)
  • Native JavaScript Classes
  • Glimmer components
  • Incremental rendering and rehydration (moved to next edition)
  • Treeshaking (moved to next edition)
  • Eliminating the runloop (removing the need for developers to use Ember.run)
  • Stabilizing Ember Data (moved to next edition)

Practical Implementation of Roadmap RFC

Decorators

Core Team Champion: Tom Dale | Status: completed 🎉
  • RFC Decorators rfcs#408
    • Supplemental RFC - Decorator support - [RFC #440]
  • Implementation
  • Documentation
  • enable feature flag
    • ember-cli-babel needs to transpile them by default

Glimmer Components (as the default component API)

Core Team Champion: Tom Dale | Status: completed 🎉

Tracked Properties

Core Team Champion: Tom Dale | Status: completed 🎉

Element Modifiers

Core Team Champion: Tom Dale | Status: completed 🎉

Editions

Core Team Champion: @tomdale | Status: on track ✅

  • RFC
  • Documentation

Remove jQuery by Default

Core Team Champion: Robert Jackson (@rwjblue) | Status: completed 🎉

Native JS Classes

Core Team Champion: Robert Jackson | Status: completed 🎉

Broccoli 2.0

Core Team Champion: Robert Jackson (@rwjblue) | Status: on track ✅

Ember Guides Updates

Core Team Champion: Jen Weber (@jenweber) | Status: on track ✅

Website Re-design

Core Team Champion: Leah Silber (@wifelette) & Mel Sumner (@MelSumner) | Status: delayed

Scope Creep

These are new items that we discovered were necessary to add while implementing Octane features.

on modifier

Core Team Champion: Robert Jackson (@rwjblue) | Status: completed 🎉

fn helper

Core Team Champion: Robert Jackson (@rwjblue) | Status: completed 🎉

Injection Parameter Normalization (owner tunnel/class portal)

Core Team Champion: Robert Jackson (@rwjblue) | Status: completed 🎉

@classic decorator

Core Team Champion: Robert Jackson (@rwjblue) | Status: on track

Ember Inspector

[Tracking Issue]

Supporting TODOs

Stretch Goals/De-scoped items

These are items that were de-scoped from Octane and are now being tracked as stretch goals.
  • Svelte Builds (the last code cleanup easily allowed this item to become a stretch goal)
  • Stabilizing ember-data
  • Router Service
    • Related: RouteInfo Metadata [RFC #398]
    • Related: Router Helpers [RFC #391]
    • Implementation: router helpers
    • Documentation
  • Publishing packages (from roadmap)
  • Incremental Rendering (de-scoped as of 2/19/19)
    • RFC
    • Implementation
    • Documentation
  • Removing Synchronous Rendering from Tests (will be released as an addon)
    • RFC [Issue]
    • Implementation
    • Documentation
  • Incremental Rehydration/ Rehydration
    • RFC (in-progress, @rondale-sc )
    • Implementation
    • Documentation
  • Template imports
  • Decorators polyfill addon (no repo yet)
    • Implementation
    • Documentation
  • Implementation: Embroider (packaging spec) (@ef4 ) (update: we anticipate this to be usable but in a BETA state for Octane release, in order to better ensure stability)
  • Native JS Modules: Importing NPM Packages

Project Management

Details
  • set up octane strike teams in each of the relevant Ember orgs:
  • discussion: ember wizard (like ember-cli-create)
    • @rwjblue to discuss with ember-cli team
  • discussion: track stretch goals?
  • discussion: track de-scoped (and why) items - yes
  • discussion: tracking the website update project
  • discussion: what scope creep items are we noticing? what should be included in the next edition of Ember?
  • need: call for more community members to join in on Octane work
  • figure out how to track Inspector work
  • plan: documentation concern: how to track the old and the new in the guides and API while folks are transitioning.

Upgrading Apps to Octane

Required

Dependencies

  • ember-source@3.??.0
  • ember-data@3.??.0

Optional Features

  • application-template-wrapper to false
  • jquery-integration to false
  • template-only-glimmer-components to true
.ember-cli
  • Default ember generate component to include (per RFC #481):
    • --no-component-class
    • --component-structure=flat

Optional / Incremental

  • Migrate Ember components to Glimmer components
  • Migrate from EmberObject.extend() to native classes
  • Migrate from computed properties to tracked properties

Final Checklist

  • Add Octane blueprint as the default to ember-cli (once it's determined that it works as intended)
  • Publish blog post & include: render modifiers clarification, codemods, upgrade guides
  • Remove blueprint references from the Guides and tutorial
  • Merge guides into master

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions