Problems upgrading gems
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 30/100
- Issue 类型
- 重构
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- ruby
- 领域
- backend, build-system
调研方向
从 issue 中描述的依赖约束开始,检查 assets/stylesheets/application.css.scss,尤其是其中对 @import 的使用。确定项目应该替换 sprockets-sass,还是修改该 stylesheet,然后验证所选择的方案允许升级 Sinatra、Rack、Sprockets 和 Ruby。完成的标准是解决依赖冲突,同时不破坏 stylesheet 编译。
由索引模型根据 Issue 内容生成。
描述
As it stands several key gems cannot be upgraded because of version conflicts. Specifically, v4 of sinatra depends on rack (>= 3, < 4) and that conflicts with sprockets-sass. This is because DevDocs depends on sprockets-sass, but the latest version of that is only compatible with sprockets < 4 and finally sprockets 3.75 (the highest version compatible with sprockets-sass) requires rack <3.
In short, we can't upgrade sinatra or rack because there's no compatible version of sprockets-sass and that's unmaintained at this point.
What sprocket-sass is doing
It enables @import statements to work in .scss files, including when the imported file is an ERB that in turn compiles to SCSS (that compiles to CSS). The main place this happens is
https://github.com/freeCodeCamp/devdocs/blob/2c5b5bd25985101fa2f06c28bb9bae15d821bfbc/assets/stylesheets/application.css.scss
What can be done
I see two potential paths forward
- Fork
sprockets-sassand make it compatible withsprockets4 (and Ruby 3) - Inline the imports and convert
application.css.scsstoapplication.css.scss.erb, which should work since the issuesprockets-sasssolved was specifically@importingfiles, not compiling .erb files.
I'm not sure how long 1. would take. I looked into it, but I didn't make much headway.
Option 2. would be ugly, but not awful. Reason being, the imported files are not used more than once, so the code wouldn't get any less DRY. We would end up with one massive file, though.
- 主要语言
- Ruby
- 星标
- 39.5k
- 派生
- 2.6k
- 平均合并
- 2 天 9 小时
- 30 天内合并 PR
- 13
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
freeCodeCamp/devdocs 的其他 Issue
-
docs/improvement
难度 2/5 1-3 小时 新手友好度 62/100
freeCodeCamp/devdocs#1989 · 4 条评论 · 4 个 reaction ·
-
难度 5/5 一周以上 新手友好度 20/100
freeCodeCamp/devdocs#2731 ·
-
feature
难度 5/5 一周以上 新手友好度 25/100
freeCodeCamp/devdocs#2712 ·
-
feature
难度 5/5 一周以上 新手友好度 30/100
freeCodeCamp/devdocs#2683 · 1 条评论 ·
-
feature
难度 4/5 3-5 天 新手友好度 45/100
freeCodeCamp/devdocs#2673 ·
查看 freeCodeCamp/devdocs 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 70/100
googleapis/google-api-ruby-client#28001 · 5 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 70/100