No way to block a child addon from loading
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- javascript
- 领域
- build-system
调研方向
首先阅读 shouldIncludeChildAddon 附近的 addon 加载流程,以及 issue 中描述的 ember-cli-preprocess-registry 时序。将 ember-cli-build.js 中的 blacklist 处理与 parent/index.js 中提出的配置进行比较,并跟踪 config 何时被调用。完成后的实现应提供一种受支持的方式,使应用能够阻止指定名称的 child addon 加载,而不依赖 monkey-patching。
由索引模型根据 Issue 内容生成。
描述
I have an addon, parent, that has as a dependency, another addon, insecure-child. I'd like to include parent in my application, but insecure-child has an unpatched security problem, so I'd like to block it. (It's critical only to parts of parent that my application doesn't use.)
Things I've tried:
Blacklist
// my-app/ember-cli-build.js
let app = new EmberApp(defaults, {
addons: { blacklist: ['insecure-child'] }
})
ember-cli throws an exception saying that child is not found.
Monkey-Patch shouldIncludeChildAddon
// my-ap/ember-cli-build.js
const EmberAddon = require('ember-cli/lib/models/addon')
const shouldIncludeChildAddon = EmberAddon.prototype.shouldIncludeChildAddon
EmberAddon.prototype = function(child) {
return child.name === 'insecure-child' ? false : shouldIncludeChildAddon.call(this, child)
}
This doesn't work because ember-cli-preprocessor-registry runs before ember-cli-build loads.
Configurable child blacklist
If I control parent, I can override shouldIncludeChildAddon there. My first instinct was
// parent/index.js
config(environment, appConfig) {
this.addonBlacklist = (appConfig.parent.addons || {}).blacklist || []
}
shouldIncludeChildAddon(child) {
return !this.addonBlacklist.includes(child.name)
}
The problem with this is that shouldIncludeChildAddon is called before config is called. I could call this.parent.config(), but I don't have an environment to pass it.
- 主要语言
- JavaScript
- 星标
- 1
- 派生
- 11
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ember-cli/ember-cli-preprocess-registry 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 30/100
ember-cli/ember-cli-preprocess-registry#121 · 1 条评论 · 2 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 25/100
查看 ember-cli/ember-cli-preprocess-registry 的全部 Issue
相似的 Issue
-
BUG
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
[BUG]: filesystem-edit-file converts a CRLF file's line endings to LF on every edit可能已有人在做 @MohammadHijjawi97 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
Mintplex-Labs/anything-llm#6755 ·
维护者通常 1 天内回复
-
type/bug
难度 1/5 1 小时以内 新手友好度 75/100
flarum/framework#5231 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
apache/rocketmq-dashboard#6896 ·
维护者通常 3 天内回复
-
bug good first issue
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复