emberjs / ember.js

Ember.js - A JavaScript framework for creating ambitious web applications
https://emberjs.com
MIT License
22.44k stars 4.21k forks source link

Octane Tracking Issue #17234

Closed MelSumner closed 4 years ago

MelSumner commented 5 years ago

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."

Practical Implementation of Roadmap RFC

Decorators

Core Team Champion: Tom Dale | Status: completed πŸŽ‰ - [x] RFC emberjs/rfcs#408 - [x] Supplemental RFC - Decorator support - [[RFC #440]](https://github.com/emberjs/rfcs/pull/440) - [x] Implementation - [x] Documentation - [x] enable feature flag - [x] ember-cli-babel needs to transpile them by default

Glimmer Components (as the default component API)

Core Team Champion: Tom Dale | Status: completed πŸŽ‰ - [x] RFC emberjs/rfcs#416 - [x] Implementation [[PR]](https://github.com/glimmerjs/glimmer.js/pull/168) - [x] Documentation (PR'd to Octane guides)

Tracked Properties

Core Team Champion: Tom Dale | Status: completed πŸŽ‰ - [x] RFC - [x] [[Issue]](https://github.com/emberjs/rfcs/issues/404) - [x] written [[RFC #410]](https://github.com/emberjs/rfcs/pull/410) - [x] reviewed - [x] FCP (1/25/19) - [x] merged - [x] Implementation (POC in-progress, @pzuraq) - [x] Documentation - [x] enable feature flag - [x] fix the infinite render CP bug #17799 (https://github.com/emberjs/ember.js/pull/17835) - [x] observer interop compat - [x] performance tests

Element Modifiers

Core Team Champion: Tom Dale | Status: completed πŸŽ‰ - [x] RFC - [x] written [[RFC #415]](https://github.com/emberjs/rfcs/pull/415) - [x] reviewed - [x] FCP - [x] merged - [x] Supporting RFC: Forwarding Element Modifiers with "Splattributes" [[RFC #435]](https://github.com/emberjs/rfcs/pull/435) - [x] Implementation (as an addon) [[ember-render-modifiers]](https://github.com/emberjs/ember-render-modifiers) - [x] Documentation [[tracking issue]](https://github.com/emberjs/ember-render-modifiers/issues/2) - [x] API docs (@GavinJoyce) - [x] guides (@wycats - interacting with the dom guide)

Editions

Core Team Champion: @tomdale | Status: on track βœ…

Remove jQuery by Default

Core Team Champion: Robert Jackson (@rwjblue) | Status: completed πŸŽ‰ - [x] RFC - [x] written [[RFC #386]](https://github.com/emberjs/rfcs/pull/386) - [x] reviewed - [x] FCP - [x] merged - [x] Implementation - [x] [[Tracking Issue]](https://github.com/emberjs/rfc-tracking/issues/3) (in progress, @simonihmig) - [x] Blocker: https://github.com/emberjs/data/pull/5900 - [x] Documentation

Native JS Classes

Core Team Champion: Robert Jackson | Status: completed πŸŽ‰ - [x] RFC - [x] written [[RFC #240]](https://emberjs.github.io/rfcs/0240-es-classes.html) - [x] reviewed - [x] FCP - [x] merged - [x] Implementation - [x] (shipped in 3.6) - [x] Migration codemod [[ember-es6-class-codemod]](https://github.com/scalvert/ember-es6-class-codemod) (in-progress @rwjblue @pzuraq) - [x] Update blueprints for each object type to use native JS classes: - [x] route - [x] router [[tracking issue]](https://github.com/emberjs/ember.js/issues/18166) - [x] component - [x] controller - [x] service - [x] Documentation [[tracking issue]](https://github.com/ember-learn/guides-source/issues/429)

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 πŸŽ‰ - [x] RFC emberjs/rfcs#471 [[tracking issue]](https://github.com/emberjs/rfc-tracking/issues/32) - [x] Implementation (polyfill complete, implementation in Ember in-progress) - [x] Documentation (@pzuraq )

fn helper

Core Team Champion: Robert Jackson (@rwjblue) | Status: completed πŸŽ‰ - [x] RFC emberjs/rfcs#470 [[tracking issue]](https://github.com/emberjs/rfc-tracking/issues/33) - [x] Implementation (polyfill in-progress) - [x] Documentation (@pzuraq )

Injection Parameter Normalization (owner tunnel/class portal)

Core Team Champion: Robert Jackson (@rwjblue) | Status: completed πŸŽ‰ - [x] RFC emberjs/rfcs#451 [[tracking issue](https://github.com/emberjs/rfc-tracking/issues/34)] - [x] Implementation (in-progress, PR https://github.com/emberjs/ember.js/pull/17858) - [x] Documentation

@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](https://github.com/emberjs/rfcs/blob/master/text/0095-router-service.md) - [x] Related: RouteInfo Metadata [[RFC #398]](https://github.com/emberjs/rfcs/pull/398) - [x] Related: Router Helpers [[RFC #391]](https://github.com/emberjs/rfcs/pull/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]](https://github.com/emberjs/rfcs/issues/406) - [ ] Implementation - [ ] Documentation - [ ] Incremental Rehydration/ Rehydration - [ ] RFC (in-progress, @rondale-sc ) - [ ] Implementation - [ ] Documentation - [ ] Template imports - [ ] RFC emberjs/rfcs#454 - [ ] Implementation (POC in-progress, @wycats) - [ ] Documentation - [x] Decorators polyfill addon (no repo yet) - [x] Implementation - [x] Documentation - [ ] Implementation: [Embroider](https://github.com/embroider-build/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 - [x] Implementation: importing from NPM packages - [[ember-auto-import]](https://github.com/ef4/ember-auto-import) - [ ] Implementation: ember-auto-import into default blueprint [[Tracking Issue]](https://github.com/ef4/ember-auto-import/issues/182) - [ ] Documentation (in progress, @NullVoxPopuli)

Project Management

Details - [x] set up octane strike teams in each of the relevant Ember orgs: - [x] [ember-cli](https://github.com/orgs/ember-cli/teams/octane-strike-team) - [x] [ember.js](https://github.com/orgs/emberjs/teams/octane-strike-team/discussions) - [x] [ember-learn](https://github.com/orgs/ember-learn/teams/octane-strike-team) - [ ] discussion: ember wizard (like ember-cli-create) - [ ] @rwjblue to discuss with ember-cli team - [x] discussion: track stretch goals? - [x] discussion: track de-scoped (and why) items - yes - [x] discussion: tracking the website update project - [x] discussion: what scope creep items are we noticing? what should be included in the next edition of Ember? - [x] need: call for more community members to join in on Octane work - [x] figure out how to track Inspector work - [x] 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

Optional Features

.ember-cli

Optional / Incremental

Final Checklist

tomdale commented 5 years ago

@MelSumner We should track the build pipeline improvements in https://github.com/embroider-build/embroider as well.

oligriffiths commented 5 years ago

@melsumner https://broccoli.build and https://github.com/broccolijs/broccolijs.github.io for the new broccoli site and docs

knownasilya commented 5 years ago

Tracked properties RFC can be checked off and link updated.

tomdale commented 5 years ago

We talked about auditing what gets included in the default app blueprint. See related issues:

  1. https://github.com/ember-cli/ember-cli/issues/6294
  2. https://github.com/ember-cli/ember-cli/issues/7760
rwjblue commented 5 years ago

FWIW, @tomdale that seems quite orthogonal to the Octane Edition to me (not saying we shouldn't be more careful and have better checks/balances, just that its not related to octane at all)...

mike-north commented 5 years ago

its not related to octane at all

My reasoning for bringing this up recently is that a default blueprint that supports multiple programming models (i.e., a future default octane blueprint) may include extra cruft that a pure "classic" app or pure "octane" app doesn't need at all.

If we can validate that this is not a concern, I agree that this isn't very closely related to octane

NullVoxPopuli commented 5 years ago

imo, the octane blueprint, https://github.com/ember-cli/ember-octane-blueprint should be the ideal brand new / shiny app. I don't think the old programming model should be involved in the blueprint. :-\

rwjblue commented 5 years ago

@MelSumner - I think we need to get some MU related things here in this checklist (I don't spot any, but AFAICT MU is still considered part of the octane feature set...).

gossi commented 5 years ago

It's already been called Octane layout instead of MU layout ... and the more I think about it the more it makes sense!

MelSumner commented 5 years ago

@MelSumner - I think we need to get some MU related things here in this checklist (I don't spot any, but AFAICT MU is still considered part of the octane feature set...).

@rwjblue we linked to the MU quest issue in the first section- "Finish What We Started" - is there more that you think we should track?

gossi commented 5 years ago

Regarding ember-cli-create I put this issue together: ember-cli/ember-cli#8343. Depending on how much of the embroider spec will be implemented as part of octane (= publication format), the issue I linked is mainly speaking about the authoring format which can be complementary to the publishing format.

Personally, I wouldn't see ember-cli-create as part of octane while the authoring format could be (which basically sets the foundation for ember-cli-create).

Let me know, if that would make a good addition or better postpone it to post-octane release or how I can help with that.

NullVoxPopuli commented 5 years ago

octane blueprint > move addon to ember-cli org can be checked off :)

jenweber commented 5 years ago

Update, here's a quest issue for tracking the Angle Brackets conversion in the guides https://github.com/ember-learn/guides-source/issues/139

simonihmig commented 5 years ago

The Remove jQuery RFC can be checked off! βœ… I also created a tracking issue, which we can link to maybe: https://github.com/emberjs/ember.js/issues/17476

mike-north commented 5 years ago

User story around feature flags and optional features, as it pertains to the octane blueprint

As a workshop instructor, I need to know the default values for various optional/feature flags in the octane blueprint, in order to understand concretely what my students will get when they run ember new, and build material around ember new that remains valid over a significant period of time.

rwjblue commented 5 years ago

FYI - I just published @ember/render-modifiers 1.0.0 with support back to Ember 2.12 (by way of ember-modifier-manager-polyfill). There is still a bit of work to do (need tons more documentation), but its a good start...

ppcano commented 5 years ago

@MelSumner I will work on the Native JS Classes blueprints.

mike-north commented 5 years ago

Has anyone put thought into what should happen for https://github.com/ember-cli/ember-new-output in the Classic+Octane world?

rwjblue commented 5 years ago

The output in that repo will match the output of ember new, which according to our current plans will change to octane blueprint β€œwhen it’s ready”.

michaelrkn commented 5 years ago

It looks like module unification is missing from the "Practical Implementation of Roadmap RFC" section.

MelSumner commented 5 years ago

It looks like module unification is missing from the "Practical Implementation of Roadmap RFC" section.

I believe that Template Imports are the major piece that hasn't shipped yet, so that's the bit that we're tracking in this issue. Does that help, @michaelrkn ?

michaelrkn commented 5 years ago

@MelSumner Got it, thanks!

simonihmig commented 5 years ago

Hey everybody, the implementation of the "Remove jQuery" RFC is mostly done (at least as far as the first Ember 3.x stage is concerned, see https://github.com/emberjs/ember.js/issues/17476). What's still open and blocking the (default, non-octane) blueprints to switch to no jQuery by default is the built-in ability of ember-data to work with fetch instead of $.ajax (without having to apply the ember-data patch mixin), see the WIP PR: https://github.com/emberjs/data/pull/5386.

Just to let you know... maybe this should be addressed at one of the next core team meetings, to help bring this over the finish line?

NullVoxPopuli commented 5 years ago

a couple things related to ember-cli that I would like to be added to the list:

and then the other thing also related to ember-cli is supporting multiple dummy apps. So far we have some design proposals here:

Also, not sure how to track this, but with @miguelcobain 's ember-paper library, I'd like to coordinate with getting the octane setup process super simple (currently it's not simple to use ember-paper in octane apps)

seems like it mostly has to do with there styles get exposed to the host app. idk if there is something simple we can do so that existing style addons can "just work", or if we're going to make all the style addons add an octane / isModuleUnification condition?

MelSumner commented 5 years ago

@NullVoxPopuli

MelSumner commented 5 years ago

Hey everybody, the implementation of the "Remove jQuery" RFC is mostly done (at least as far as the first Ember 3.x stage is concerned, see #17476). What's still open and blocking the (default, non-octane) blueprints to switch to no jQuery by default is the built-in ability of ember-data to work with fetch instead of $.ajax (without having to apply the ember-data patch mixin), see the WIP PR: emberjs/data#5386.

Just to let you know... maybe this should be addressed at one of the next core team meetings, to help bring this over the finish line?

@dgeb / @igorT can you help with this blocker?

igorT commented 5 years ago

@MelSumner Yup, brought this up at the ED meeting, we are gonna follow up and refactor the ember-fetch PR https://github.com/emberjs/data/pull/5386

ppcano commented 5 years ago

@MelSumner

Update blueprints for each object type to use native JS classes has been merged at #17621. Initially, the blueprints will generate Native Classes only when using the octane blueprints.

lifeart commented 5 years ago

@tomdale, @MelSumner, @rwjblue

Template Imports ( Working Draft )

https://github.com/crashco/ember-template-component-import/issues/10

Panman82 commented 5 years ago

FYI, the Component Templates Co-locations RFC is not on this tracking issue yet. :)

https://github.com/emberjs/rfcs/pull/481

MelSumner commented 5 years ago

@Panman8201 correct- it's outside of the scope for Octane. :)

auvipy commented 4 years ago

I think this need to bee updated with ember octane 3.15+ release :)

MelSumner commented 4 years ago

Since we've shipped Octane, going to close this issue.