microsoft / microsoft/vscode-edge-devtools
CSS Mirror Editing with Sourcemaps: Known Issues and Feedback
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 827
- Forks
- 358
- Avg merge
- 20h 32m
- Merged PRs (30d)
- 10
Description
This issue is where we will collect feedback specific to using CSS Mirroring with source-mapped files. Support for mirroring edits across source maps is a follow-up for #476 that enables using this feature with languages such as SASS or with CSS which gets bundled during build. See CSS Mirror Editing with Sourcemapped files (Sass, React...) for more details and a demo of how the feature works.
Testing Pre-requisites:
- Edge 102.0.1216.0+
- A build step that generates source maps for CSS
Known Issues
-
Changes to selectors are not mirrored back to the original source file.
-
New properties added at the end of the block don't indent correctly if a source map entry exists for the closing curly brace
}(webpack+sass-loaderbehavior). -
New properties added at the end of the block get inserted before the last property of the block if no source map entry exists for the closing curly brace
}(defaultsassCLI behavior). -
Creating/editing property names to use invalid characters (e.g. ```-``-`) can cause mapping to get out-of-sync.
-
Inserting new properties into an empty block (e.g. after deleting all existing properties) inserts them before the selector if no source map entry exists for the closing curly brace
}(defaultsassCLI behavior). -
Editing a selector in a single-line source block (e.g.
.foo { color: #fff }) causes property edits in that block to be incorrect. -
Changes applied due to panel-level undo/redo (e.g. Ctrl+Z) don't get mirrored to original source (they do work if undoing while editing a property directly).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No implementation files, tests, or entry points are named. Reproduce the listed cases using Edge 102.0.1216.0+ and a CSS build step that generates source maps, then compare mirrored edits with the original source. Done means the listed selector, insertion, indentation, invalid-name, empty-block, single-line, and undo/redo cases stay synchronized.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- sass, typescript, webpack
- Domain
- build-system, devtools, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100