Incorrect types for MediaFeature
还没有人认领这个 Issue。
评估
- 难度
- 1/5
- 预计耗时
- 1 小时以内
- 新手友好度
- 85/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 冷清
- 技术栈
- typescript
- 领域
- tooling
调研方向
从 dist/node-types-mntWKkN-.d.ts 中的 MediaFeature 定义开始,并将其与子级相关的类型与针对 min-width:0\0 描述的运行时行为进行比较。当 MediaFeature 暴露指定的 WithChildren 联合类型,并且其 value 属性被缩小为 Identifier、Number、Dimension 或 null 时,工作即完成。
由索引模型根据 Issue 内容生成。
描述
MediaFeature type is missing WithChildren
File: dist/node-types-mntWKkN-.d.ts
Problem
MediaFeature can have children beyond the .value node at runtime, but the type does not extend WithChildren. This makes node.has_children and for (const child of node) TypeScript errors even though they work correctly.
A concrete example is the CSS hack min-width:0\0. The parser emits a MediaFeature with two children: a Number node (0) exposed via .value, and a sibling Identifier node (\0) only reachable by iterating children.
Current definition
type MediaFeature = CSSNode & {
readonly type: typeof MEDIA_FEATURE;
readonly type_name: 'Feature';
readonly property: string;
readonly value: CSSNode | null;
clone(options?: CloneOptions): ToPlain<MediaFeature>;
};
Expected definition
type MediaFeature = CSSNode & WithChildren<Identifier | Number | Dimension> & {
readonly type: typeof MEDIA_FEATURE;
readonly type_name: 'Feature';
readonly property: string;
readonly value: Identifier | Number | Dimension | null;
clone(options?: CloneOptions): ToPlain<MediaFeature>;
};
Changes
- Add WithChildren<Identifier | Number | Dimension> — boolean features have no children; plain features have one child matching the value; the 0\0 hack produces two children.
- Narrow value: CSSNode | null → value: Identifier | Number | Dimension | null to match the actual child union.
- 主要语言
- CSS
- 星标
- 4
- 派生
- 0
- 平均合并
- 7 小时 47 分钟
- 30 天内合并 PR
- 4
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
projectwallace/css-parser 的其他 Issue
-
annoyance
难度 3/5 1-2 天 新手友好度 45/100
projectwallace/css-parser#195 ·
-
Walk and traverse should give context可能已有人在做 @bartveneman 于 278 天前认领。 未关闭annoyance
难度 4/5 3-5 天 新手友好度 38/100
projectwallace/css-parser#89 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 35/100
projectwallace/css-parser#76 ·
-
难度 5/5 一周以上 新手友好度 15/100
查看 projectwallace/css-parser 的全部 Issue
相似的 Issue
-
C-bug
难度 2/5 1-3 小时 新手友好度 78/100
rust-lang/rust-analyzer#23501 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
feedback simulation workshop
难度 2/5 1-3 小时 新手友好度 73/100
githubnext/gh-aw-workshop#4455 ·
维护者通常 1 天内回复
-
status: needs triage type: enhancement
难度 1/5 1 小时以内 新手友好度 90/100
haskell/haskell-language-server#5128 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
pomerium/documentation#2394 ·
维护者通常 1 天内回复