关闭 #5059
笔记:
percent-encoding
已经是url
- 磁盘缓存名称可能需要修改
- 在 中可能需要优雅失败
extract_data_url
,应该返回什么样的错误?
关闭 #5059
笔记:
percent-encoding
已经是url
extract_data_url
,应该返回什么样的错误?目前它们被视为 JavaScript,因为它在这里失败了: https://github.com/denoland/deno/blob/fca204d8335b407236e16e639099a7696f9563ee/cli/global_state.rs#L146-L149
嗯……我没想到我们允许使用我们不知道的媒体类型。@bartlomieju 我们确定要这样做吗?这似乎是一个巨大的安全漏洞。
非快乐路径测试仍然是好的。
处理该问题并检查移除该 fallback 是否会导致回归
我希望extract_data_url
首先得到一些关于如何处理和未知媒体类型故障的反馈,因为不令人满意的测试结果取决于此。
我遇到的用法一般是数据嵌入。
Firefox 和 Chrome 都允许导入该格式。当数据 URL 格式错误或媒体类型不兼容时,此实现的行为会有所不同。浏览器会抛出类型错误,目前前者会引发恐慌,而后者会将其视为 JavaScript。
好的听起来不错。
我认为我们应该暂时将其设为不稳定功能。我建议你自行决定如何具体操作(如果你不介意的话)。参考资料如下: https://github.com/denoland/deno/blob/2b02535028f868ea8dfc471c4921a237747ccd4a/cli/state.rs#L236-L248
感谢@SyrupThinker 提供的补丁;不过我认为我们应该等到 1.0 发布并且编译器重构完成后再进行这个 PR。
它引入了另一个需要考虑的层面,如果我没记错的话,数据导入依赖于我们目前不支持的位置/来源。
它总是这样工作的:未知的媒体类型被视为 JS,在大多数情况下会导致 V8 或 TS 编译器出现错误。
好的,重构之后我会继续致力于此。
没错;我们当然不想允许通过类似https > data > file
或的进口来规避限制https > data > http
。
@SyrupThinker 很抱歉我们没能早点实现这个功能。如果你能基于 master 重新构建这个功能,我会将它包含在 1.4.0 中(将于 9 月 13 日发布)
由于此功能的主要用例是加载工作程序,因此最好有一个测试用例来演示您可以使用数据 URL 启动工作程序。
我不知道如何解决 tsc 错误(或如何调试它们),可以寻求一些帮助。
例如,我不知道如何登录cli/tsc/00_typescript.js
。
@SyrupThinker 我已经修复了测试。TS 故障是由 #7392 引起的