欢迎!请参阅 关于 页面获取关于如何使用本站的一些更多信息。
emit-source-map
strip-prefix-path
:inline-source-maps
相关:CLJS-1402, CLJS-1901
评论者:darwin
补丁 https://github.com/darwin/clojurescript/commit/de1da63072c8049b9812d41cce750e5a972c0b0b.patch https://github.com/darwin/clojurescript/commit/2389fb7839a18299d842d381b135a669a7091869.patch https://github.com/darwin/clojurescript/commit/3ba594d8c7215ef8c8276737b7e5d8008c6b3a98.patch
完整审查: https://github.com/clojure/clojurescript/compare/darwin:inline-source-maps~3...darwin:inline-source-maps
请注意,第一个补丁测试原始功能在一个测试中失败,因为在:source-map-url 的情况下存在一个时间戳格式化错误。 https://github.com/clojure/clojurescript/compare/master...darwin:inline-source-maps#diff-55b85385d2d0bfb6dc20d59ed982d5c8L1239
今天在测试 Dirac 时,我发现我们还需要嵌入源内容。
附加补丁 https://github.com/darwin/clojurescript/commit/c1df38f14a33d02fe2d421f80db0b421b17286bb.patch
新的审查URL: https://github.com/darwin/clojurescript/compare/inline-source-maps~4...darwin:inline-source-maps
在开发者工具中测试过,运行流畅。
评论来自:skrat
这对我们来说也同样有用。
评论来自:dnolen
在JIRA之外链接补丁是不恰当的。请直接将单个合并补丁添加到此票据中。
作为补丁文件附加。
将https://github.com/darwin/clojurescript/compare/inline-source-maps~4...darwin:inline-source-maps.diff应用到当前的master分支。应用成功,没有冲突。我的机器上的测试仍在通过。
评论来自:mfikes
补丁不再适用;需要重新基准。
在开发chrome扩展程序时,source-maps再次损坏(newly)(链接:1)。可能是由于Chrome中添加了一些安全限制,使得Chrome DevTools无法“查看”。
网上有些人声称内联source-maps是一个可能的解决方案 https://stackoverflow.com/a/54761431/84283
(链接:1) https://bugs.chromium.org/p/chromium/issues/detail?id=931675
只是提醒一下,我对提出的方案没有问题。请重新运行基准测试,我可以在不久的将来进行审查。
谢谢。我将在本周尝试了解。
CLJS-1902-2.patch在CI测试中失败(x)
特别是在Windows上失败。
以下是失败的实例
失败于(test-external-source-maps) (source_maps_tests.clj:79) 1103source maps with :source-map-asset-path under :none optimizations 1104expected: (check-file (build-result out "main.js") ["sourceMappingURL=https://127.0.0.1:1234/some/path/source_maps/main.js.map" (! "rel=")]) 1105实际: (not (check-file "C:\\Users\\appveyor\\AppData\\Local\\Temp\\1\\cljs-tests-source-maps-build\\source-maps-onone-source-map-asset-path\\source_maps\\main.js" ["sourceMappingURL=https://127.0.0.1:1234/some/path/source_maps/main.js.map" #object[cljs.source_maps_tests.NegativeCheck 0x38c5d3ae "negative check for 'rel=' (class java.lang.String)"]]))
CI失败日志包含其他实例: https://ci.appveyor.com/project/mfikes/clojurescript/builds/24471651
我查看了那个Windows构建,失败测试中的 sourceMappingURL 看起来像这样(注意混合斜杠)
//# sourceMappingURL=https://127.0.0.1:1234/some/path\source_maps\main.js.map
问题是现有代码中使用了 {{util/path}},它是依赖于操作系统的,在Windows下产生反斜杠,我的补丁没有修改那个代码分支 https://github.com/clojure/clojurescript/blob/47386d7c03e6fc36dc4f0145bd62377802ac1c02/src/main/clojure/cljs/compiler.cljc#L1473
我认为我们有两种可能的解决方案1. 保持现有的行为不变,让我测试接受混合斜杠2. 新建使用只有正斜杠,让我的测试保持原样,并在下一个版本中宣布这是一个潜在的破坏性变更
在我看来,解决方案2是更好的前进方向。我相信混合斜杠是可行的,因为浏览器是宽容的,会将反斜杠视为正斜杠在源映射解析中。这种变化会有一点点机会破坏现有的代码,这会取决于 up 到现在 clojurescript 生成包含反斜杠的 sourcing initialize 地址的特定方式。
我将留给您考虑。然后继续您决定。