Ember.js: 辛烷值跟踪问题

创建于 2018-11-28  ·  33评论  ·  资料来源: emberjs/ember.js

概括

这个问题的目的是提供一个整体问题来跟踪发布 Ember.js 的 Octane 版本所需的工作状态。

如果有人想处理此列表中的任何项目,请先查看我们Discord 聊天的#st-octane 频道。

以下待办事项列表将更新以包含指向创建的各个问题的链接。 问题本身将包含此列表中每个项目的更多详细信息。

路线图 RFC 的目标

完成我们开始的工作(第 1 部分,共 2 部分)

根据2018 年路线图 RFC ,我们承诺并专注于完成我们已经开始的事情。

Octane 版功能(第 2 部分,共 2 部分)

根据路线图 RFC,这些是 Octane 版本的目标; 但是需要注意的是
“Ember Octane 的最终时间表和功能集将由核心团队确定,并且在本 RFC 中并非一成不变。”

  • 默认没有 jQuery
  • Svelte Builds (移至下一版)
  • 原生 JavaScript 类
  • 微光组件
  • 增量渲染和再水化(移至下一版)
  • 摇树(移至下一版)
  • 消除运行循环(消除开发人员使用 Ember.run 的需要)
  • 稳定 Ember 数据(移至下一版)

路线图 RFC 的实际实施

装饰器

核心团队冠军:Tom Dale | 状态:已完成🎉

  • [x] RFC emberjs/rfcs#408
  • [x] 实施
  • [x] 文档
  • [x] 启用功能标志

    • [x] ember-cli-babel 默认需要转译它们

Glimmer 组件(作为默认组件 API)

核心团队冠军:Tom Dale | 状态:已完成🎉

  • [x] RFC emberjs/rfcs#416
  • [x] 实施[PR]
  • [x] 文档(PR'd 到 Octane 指南)

### 跟踪属性

核心团队冠军:Tom Dale | 状态:已完成🎉

  • [x] RFC

    • [x] [[问题]](https://github.com/emberjs/rfcs/issues/404)

    • [x] 已写[RFC #410]

    • [x] 审查

    • [x] FCP (1/25/19)

    • [x] 合并

  • [x] 实施(POC 进行中,@pzuraq)
  • [x] 文档

    • [x] 启用功能标志

    • [x] 修复无限渲染 CP 问题 #17799 (https://github.com/emberjs/ember.js/pull/17835)

    • [x] 观察者互操作兼容性

    • [x] 性能测试

### 元素修饰符

核心团队冠军:Tom Dale | 状态:已完成🎉

版本

核心团队冠军: @tomdale | 状态:在轨✅

  • [ ] RFC

    • [x] 书面 - [RFC #371]

    • [ ] 审查(进行中, @tomdale冠军)

    • [ ] FCP

    • [ ] 合并

  • [ ] 文档

默认删除 jQuery

核心团队冠军:Robert Jackson (@rwjblue) | 状态:已完成🎉

  • [x] RFC
  • [x] 实施

    • [x] [[跟踪问题]](https://github.com/emberjs/rfc-tracking/issues/3)(进行中,@simonihmig)

    • [x] 拦截器: https :

  • [x] 文档

原生 JS 类

核心团队冠军:Robert Jackson | 状态:已完成🎉

  • [x] RFC
  • [x] 实施

    • [x](在 3.6 中提供)

    • [x] 迁移 codemod [ember-es6-class-codemod] (in-progress @rwjblue @pzuraq)

    • [x] 更新每个对象类型的蓝图以使用原生 JS 类:

    • [x] 路线

    • [x] 路由器[跟踪问题]

    • [x] 组件

    • [x] 控制器

    • [x] 服务

  • [x] 文档[跟踪问题]

西兰花 2.0

核心团队冠军:Robert Jackson (@rwjblue) | 状态:在轨✅

  • [x] 实施
  • [ ] 文档

    • [x] Broccoli 网站以获得更深入的指南( @oligriffiths - https://broccoli.build/)

    • [ ] 西兰花基础知识添加到 Ember 指南[跟踪问题] (进行中,@oligriffiths)

Ember 指南更新

核心团队冠军:Jen Weber (@jenweber) | 状态:在轨✅

网站重新设计

核心团队冠军:Leah Silber (@wifelette) 和 Mel Sumner (@melsumner) | 状态:延迟

范围蠕变

这些是我们发现在实施 Octane 功能时需要添加的新项目。

on修饰符

核心团队冠军:Robert Jackson (@rwjblue) | 状态:已完成🎉

  • [x] RFC emberjs/rfcs#471 [跟踪问题]
  • [x] 实现(polyfill 完成,Ember 中的实现正在进行中)
  • [x] 文档( @pzuraq

fn帮手

核心团队冠军:Robert Jackson (@rwjblue) | 状态:已完成🎉

  • [x] RFC emberjs/rfcs#470 [跟踪问题]
  • [x] 实现(polyfill 进行中)
  • [x] 文档( @pzuraq

注入参数规范化(所有者隧道/类门户)

核心团队冠军:Robert Jackson (@rwjblue) | 状态:已完成🎉

  • [x] RFC emberjs/rfcs#451 [[跟踪问题](https://github.com/emberjs/rfc-tracking/issues/34)]
  • [x] 实施(进行中,PR https://github.com/emberjs/ember.js/pull/17858)
  • [x] 文档

@classic装饰器

核心团队冠军:Robert Jackson (@rwjblue) | 状态:在轨

  • [x] RFC emberjs/rfcs#468
  • [x] 实现(将是一个插件)
  • [] 文档(WIP 记录在 Ember Atlas 而不是官方指南中)( @pzuraq

余烬检查员

[跟踪问题]

支持 TODO

  • [x] 上下文助手和修饰符 RFC (FCP - 1/25/19](https://github.com/emberjs/rfcs/pull/432) (@chancancode)
  • [x] 实现:ember-cli 的 Octane 蓝图
  • [x] 文档:Octane 版本中的新功能引入的 CLI 可选功能标志(记录在常规指南中,而不是 CLI 指南中)
  • [ ](优化)保护可选功能标志以节省文件大小

延伸目标/取消范围的项目

这些是从 Octane 中取消范围的项目,现在作为延伸目标进行跟踪。

  • [ ] Svelte Builds(最后的代码清理很容易让这个项目成为一个延伸目标)
  • [ ] 稳定余烬数据
  • [ ] [路由器服务](https://github.com/emberjs/rfcs/blob/master/text/0095-router-service.md)

    • [x] 相关:RouteInfo 元数据[RFC #398]

    • [x] 相关:路由器助手[RFC #391]

    • [] 实现:路由器助手

    • [ ] 文档

  • [] 发布包(来自路线图)
  • [ ] 增量渲染(截至 2019 年 2 月 19 日取消范围)

    • [ ] RFC

    • [ ] 执行

    • [ ] 文档

  • [ ] 从测试中移除同步渲染(将作为插件发布)
  • [ ] 增量补液/补液

    • [ ] RFC(进行中,@rondale-sc)

    • [ ] 执行

    • [ ] 文档

  • [ ] 模板导入

    • [] RFC emberjs/rfcs#454

    • [ ] 实施(POC 进行中,@wycats)

    • [ ] 文档

  • [x] 装饰器 polyfill 插件(还没有 repo)

    • [x] 实施

    • [x] 文档

  • [ ] 实现: Embroider (包装规范)( @ef4 )(更新:我们预计它是可用的,但在 Octane 版本中处于 BETA 状态,以更好地确保稳定性)
  • [ ] 原生 JS 模块:导入 NPM 包

项目管理

细节

  • [x] 在每个相关的 Ember 组织中设立辛烷值罢工小组:

    • [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] [余烬学习](https://github.com/orgs/ember-learn/teams/octane-strike-team)

  • [ ] 讨论:ember 向导(如 ember-cli-create)

    • [ ] @rwjblue与 ember-cli 团队讨论

  • [x] 讨论:跟踪伸展目标?
  • [x] 讨论:跟踪取消范围(以及为什么)的项目 - 是
  • [x]讨论:跟踪网站更新项目
  • [x] 讨论:我们注意到哪些范围蠕变项目? 下一版 Ember 应该包含哪些内容?
  • [x] 需要:呼吁更多社区成员加入 Octane 工作
  • [x] 弄清楚如何跟踪 Inspector 的工作
  • [x] 计划:文档关注:如何在人们转换时跟踪指南和 API 中的新旧内容。

将应用程序升级到 Octane

必需的

依赖关系

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

可选功能

  • application-template-wrapperfalse
  • jquery-integrationfalse
  • template-only-glimmer-componentstrue
.ember-cli
  • 默认ember generate component包含(根据 RFC #481)

    • --no-component-class

    • --component-structure=flat

可选/增量

  • 将 Ember 组件迁移到 Glimmer 组件
  • EmberObject.extend()迁移到本地类
  • 从计算属性迁移到跟踪属性

最终清单

  • [ ] 添加 Octane 蓝图作为 ember-cli 的默认值(一旦确定它按预期工作)
  • [ ] 发布博客文章并包括:渲染修改器说明、代码修改器、升级指南
  • [ ] 从指南和教程中删除蓝图参考
  • [ ] 将指南合并到母版
Meta Octane

最有用的评论

@melsumner https://broccoli.buildhttps://github.com/broccolijs/broccolijs.github.io用于新的西兰花网站和文档

所有33条评论

@MelSumner我们也应该在https://github.com/embroider-build/embroider 中跟踪构建管道的改进。

@melsumner https://broccoli.buildhttps://github.com/broccolijs/broccolijs.github.io用于新的西兰花网站和文档

可以检查跟踪属性 RFC 并更新链接。

我们讨论了审核默认应用程序蓝图中包含的内容。 查看相关问题:

  1. https://github.com/ember-cli/ember-cli/issues/6294
  2. https://github.com/ember-cli/ember-cli/issues/7760

FWIW, @tomdale对我来说似乎与 Octane 版非常正交(并不是说我们不应该更加小心并有更好的检查/平衡,只是它与辛烷完全无关)......

它与辛烷值完全无关

我最近提出这个问题的理由是,支持多种编程模型的默认蓝图(即未来的默认辛烷值蓝图)可能包含纯“经典”应用程序或纯“辛烷值”应用程序根本不需要的额外细节。

如果我们可以验证这不是问题,我同意这与辛烷值不是很密切相关

imo,辛烷值蓝图, https://github.com/ember-cli/ember-octane-blueprint应该是 _ideal_ 全新/闪亮的应用程序。 我不认为旧的编程模型应该参与到蓝图中。 :-

@MelSumner - 我认为我们需要在此清单中获得一些与 MU 相关的内容(我没有发现任何内容,但 AFAICT MU 仍被视为辛烷值功能集的一部分......)。

它已经被称为 Octane 布局而不是 MU 布局......我越想它就越有意义!

@MelSumner - 我认为我们需要在此清单中获得一些与 MU 相关的内容(我没有发现任何内容,但 AFAICT MU 仍被视为辛烷值功能集的一部分......)。

@rwjblue我们在第一部分中链接到了 MU 任务问题-“完成我们开始的事情”-您认为我们应该跟踪更多内容吗?

关于ember-cli-create我把这个问题放在一起:ember-cli/ember-cli#8343。 根据有多少刺绣规范将作为辛烷值(= _publication_ 格式)的一部分实施,我链接的问题主要是关于 _authoring_ 格式,它可以作为发布格式的补充。

就个人而言,我不会将ember-cli-create视为辛烷值的一部分,而创作格式 _可能_ 是(这基本上为ember-cli-create奠定了基础)。

让我知道,如果这会是一个很好的补充,或者更好地将其推迟到辛烷值后发布,或者我可以如何帮助解决这个问题。

可以检查辛烷蓝图 > 将插件移动到 ember-cli 组织 :)

更新,这是在指南中跟踪角括号转换的任务问题https://github.com/ember-learn/guides-source/issues/139

可以检查删除 jQuery RFC! ✅
我还创建了一个跟踪问题,我们可以链接到: https :

围绕功能标志和可选功能的用户故事,因为它与辛烷值蓝图有关

作为研讨会讲师,我需要知道辛烷值蓝图中各种可选/功能标志的默认值,以便具体了解我的学生在运行ember new时会得到什么,并围绕ember new构建材料

仅供参考 - 我刚刚发布了@ember/render-modifiers 1.0.0,并支持回到 Ember 2.12(通过ember-modifier-manager-polyfill )。 还有一些工作要做(需要更多的文档),但这是一个好的开始......

@MelSumner我将研究 Native JS Classes 蓝图。

有没有人考虑过在 Classic+Octane 世界中https://github.com/ember-cli/ember-new-output会发生什么?

该存储库中的输出将与ember new的输出匹配,根据我们当前的计划,它将在“准备就绪”时更改为辛烷蓝图。

看起来“路线图 RFC 的实际实现”部分缺少模块统一。

看起来“路线图 RFC 的实际实现”部分缺少模块统一。

我相信模板导入是尚未发货的主要部分,所以这就是我们在此问题中跟踪的部分。 这有帮助吗, @michaelrkn

@MelSumner知道了,谢谢!

大家好,“Remove jQuery”RFC 的实现基本完成(至少就 Ember 3.x 的第一个阶段而言,请参阅 https://github.com/emberjs/ember.js/issues/17476) . 仍然打开并阻止(默认,非辛烷值)蓝图默认切换到无 jQuery 的是 ember-data 的内置功能,可以使用fetch而不是$.ajax (没有必须应用ember-data补丁混合),请参阅 WIP PR: https :

只是为了让您知道……也许这应该在下一次核心团队会议之一上解决,以帮助完成终点线?

我想添加到列表中的一些与 ember-cli 相关的事情:

  • 插件需要一些钩子来安装自定义类型,例如
moduleConfig.collections = Object.assign(moduleConfig.collections, {
  // ember-simple-auth
  authenticators: {
    types: ['authenticator'],
    defaultType: 'authenticator'
  }
});

(以上,由@sly7-7 提供:D)

moduleConfig.types = Object.assign(moduleConfig.types, {
  // ember-intl
  'ember-intl<strong i="12">@adapter</strong>': { definitiveCollection: 'main' },
  'ember-intl<strong i="13">@translation</strong>': { definitiveCollection: 'main' },
  translation: { definitiveCollection: 'main' },
  formats: { definitiveCollection: 'main' },
  cldr: { definitiveCollection: 'main' },
  'util:intl': { definitiveCollection: 'utils' },
  'intl:util': { definitiveCollection: 'utils' },

  // ember-gestures
  'ember-gesture': { definitiveCollection: 'main' },
});

然后与 ember-cli 相关的另一件事是支持多个虚拟应用程序。
到目前为止,我们在这里有一些设计建议:

另外,不确定如何跟踪这一点,但是使用@miguelcobain的 ember-paper 库,我想协调使辛烷值设置过程变得超级简单(目前在辛烷值应用程序中使用 ember-paper 并不简单)

似乎这主要与样式暴露给主机应用程序有关。 idk 是否有一些简单的事情我们可以做,以便现有的样式插件可以“正常工作”,或者我们是否要让所有样式插件添加一个辛烷值 / isModuleUnification 条件?

@NullVoxPopuli

  • 缺少钩子应该作为错误提交(尽可能详细)(我们可以为其添加辛烷值标签)
  • 我们不打算在这里跟踪特定的插件(这个问题试图专注于跟踪路线图 RFC 中列出的项目),但也许我们可以找到一种方法来分享“升级您的插件”指南? 也许我们可以说服@miguelcobain为 emberjs.com 博客写一篇。 ;)

大家好,“Remove jQuery” RFC 的实现大部分已经完成(至少就 Ember 3.x 的第一个阶段而言,参见 #17476)。 仍然打开并阻止(默认,非辛烷值)蓝图默认切换到无 jQuery 的是ember-data 的内置功能,可以使用fetch而不是$.ajax (没有必须应用ember-data补丁 mixin) ,请参阅 WIP PR: emberjs/data#5386

只是为了让您知道……也许这应该在下一次核心团队会议之一上解决,以帮助完成终点线?

@dgeb / @igorT你能帮忙解决这个拦截器吗?

@MelSumner 是的,在 ED 会议上提出了这个问题,我们将跟进并重构 ember-fetch PR https://github.com/emberjs/data/pull/5386

@梅尔萨姆纳

Update blueprints for each object type to use native JS classes已在 #17621 处合并。 最初,蓝图只会在使用辛烷蓝图时生成原生类。

@tomdale@MelSumner@rwjblue

模板导入(工作草案)

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

仅供参考,组件模板协同定位 RFC 尚未涉及此跟踪问题。 :)

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

@ Panman8201正确 - 它超出了 Octane 的范围。 :)

我认为这需要使用 ember Octane 3.15+ 版本进行更新:)

由于我们已经发布了 Octane,因此将关闭此问题。

此页面是否有帮助?
0 / 5 - 0 等级