You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* chore: picker tests are passing but not pretty
* chore: adding awaits to picker
* chore: skip picker flaky tests
* chore: refactored sendMousePlugin to accept targets and pointer positions
* chore: updating sendMouse implementations
* chore: updating sendMouse implementations saving before starting overlay
* chore: investigating isInteractive
* chore: overlay clean up
* chore: lower threshold for skipping
* chore: logging user agent
* chore: cross checking flaky list and skipping
* chore: added TODOs and final skips from CI failures
* chore: locking playwright version to avoid browser install issues with web-test-runner
* chore: tests are passing locally, firefox race condition and browser settings updated
* chore: got some picker tests resolved with some wait helpers
* chore: attempting to get webkit tab settings working
* chore: attempting to get webkit tab settings working
* chore: remove unknown option
* chore: webkit hates feature flags
* chore: fix memory test to headed
* chore: trying to unbork webkit
* chore: trying to unbork webkit
* chore: resource class bump
* chore: remove patch
* Revert "chore: remove patch"
This reverts commit a933fc9.
* chore: modifying patch to be less aggressive
* chore: fix patch format
* chore: remove patch-package and patched the two web-test-runner packages with yarn patch
* chore: bump circleci resource back down to xl
* chore: adding back firefox parallelism
* chore: store aritfact update
* chore: another attempt
* chore: another attempt
* chore: trying to block vrt
* chore: typo and skipping packages that were missed
* chore: rename accordion memory test and define group in ci
* chore: checking file output
* chore: checking file output with run
* chore: running with group
* chore: remove echo update store results location
* chore: reverting to original command for parallel
* chore: add unit-ci empty group
* chore: try chromium parallel
* chore: supressing files from glob
* chore: we grepping some files out
@@ -4,37 +4,42 @@ Welcome! We're excited you're interested in improving Spectrum Web Components. W
4
4
5
5
Here you'll find a broad overview of how you can get involved. Please read through these guidelines to help keep the contribution process smooth and to ensure we're all on the same page.
6
6
7
-
-[Community \& support](#community--support)
8
-
-[External contributors](#external-contributors)
9
-
-[Internal contributors](#internal-contributors)
10
-
-[How you can contribute](#how-you-can-contribute)
A fantastic first step to contributing is filing an issue. This is where you can:
34
39
35
-
-Ask questions, file bugs, and troubleshoot with other users.
36
-
-Propose new features and ideas or get feedback on your own through a linked pull request.
37
-
-Additionally, you can check GitHub Discussions to stay up-to-date with any major announcements about the project.
40
+
- Ask questions, file bugs, and troubleshoot with other users.
41
+
- Propose new features and ideas or get feedback on your own through a linked pull request.
42
+
- Additionally, you can check GitHub Discussions to stay up-to-date with any major announcements about the project.
38
43
39
44
### External contributors
40
45
@@ -51,12 +56,12 @@ If you work for Adobe, our Slack channel #spectrum_web_components has some great
51
56
52
57
There's a common misconception that you need to code in order to contribute. In reality, there are many different ways to help:
53
58
54
-
-Filing well-structured bug reports that show what's broken and how to reproduce it.
55
-
-Suggesting new features that improve the current design system.
56
-
-Improving our documentation to make it clearer for the next person.
57
-
-Reviewing pull requests from other community members and sharing feedback.
58
-
-Helping other users on GitHub Discussions.
59
-
-Advocating for the project on social media or at meetups.
59
+
- Filing well-structured bug reports that show what's broken and how to reproduce it.
60
+
- Suggesting new features that improve the current design system.
61
+
- Improving our documentation to make it clearer for the next person.
62
+
- Reviewing pull requests from other community members and sharing feedback.
63
+
- Helping other users on GitHub Discussions.
64
+
- Advocating for the project on social media or at meetups.
60
65
61
66
Of course, contributing code is also welcome from fixing a bug to building a brand-new component. All types of contributions help keep Spectrum Web Components thriving.
62
67
@@ -98,12 +103,12 @@ If you're having a usage issue or need support, do not open an issue. Instead, r
98
103
99
104
When you file a bug, please use the `Bug Report` template provided in GitHub. Include the following information:
100
105
101
-
-A concise summary of the problem.
102
-
-Relevant components involved in the issue.
103
-
-Issue Severity based on our classifications defined below.
104
-
-What you expected vs. what actually happened, along with any errors logged in the console.
105
-
-Steps to reproduce the issue, preferably in an isolated environment, so that we can narrow down where the bug is originating from. (e.g., webcomponents.dev or CodePen). Be detailed if you write out the steps!
- Issue Severity based on our classifications defined below.
109
+
- What you expected vs. what actually happened, along with any errors logged in the console.
110
+
- Steps to reproduce the issue, preferably in an isolated environment, so that we can narrow down where the bug is originating from. (e.g., webcomponents.dev or CodePen). Be detailed if you write out the steps!
Is there something you wish the project did differently? Have a new component in mind? We love hearing new ideas and are eager to collaborate!
128
133
129
-
-Start with a discussion: Share your idea in Discussions to gather feedback and see if it aligns with project goals.
130
-
-Open a feature request issue: After some positive initial conversation, open an issue using the `Feature Request` or `New Component` template with details and potential use cases.
134
+
- Start with a discussion: Share your idea in Discussions to gather feedback and see if it aligns with project goals.
135
+
- Open a feature request issue: After some positive initial conversation, open an issue using the `Feature Request` or `New Component` template with details and potential use cases.
131
136
132
137
---
133
138
@@ -141,8 +146,8 @@ If you plan to fix a bug, create a feature, or improve documentation, follow the
141
146
142
147
We keep things organized with a branch naming strategy:
143
148
144
-
-`[username]/[short-description]` (e.g., `alex/fix-dropdown-bug`) is often all you need.
145
-
-If your work references a known issue, you could also incorporate the issue number (e.g., `alex/123-bug-fix`).
149
+
-`[username]/[short-description]` (e.g., `alex/fix-dropdown-bug`) is often all you need.
150
+
- If your work references a known issue, you could also incorporate the issue number (e.g., `alex/123-bug-fix`).
146
151
147
152
Avoid editing distribution files (if present). Make changes to the source files, then allow the build system to generate any bundled or output files automatically.
148
153
@@ -160,22 +165,82 @@ If you encounter hurdles, feel free to ask for help in your pull request or in t
160
165
161
166
Quality and stability are important. We require writing tests for any fixes or features you introduce. This helps ensure:
162
167
163
-
-Bugs don't resurface later.
164
-
-New features work as intended for all users.
165
-
-Overall library reliability remains high.
168
+
- Bugs don't resurface later.
169
+
- New features work as intended for all users.
170
+
- Overall library reliability remains high.
166
171
167
172
Read about our testing guidance in the [README.md](README.md).
168
173
169
174
If you're unsure how to write tests for certain parts of the library, don't hesitate to ask maintainers for guidance. We appreciate every effort to keep the code solid!
170
175
171
176
---
172
177
178
+
## Patching dependencies
179
+
180
+
Sometimes you may need to temporarily patch a dependency to fix a bug or add functionality while waiting for an upstream fix. This project uses **Yarn 4's built-in patching system** instead of external tools like `patch-package`.
181
+
182
+
### Creating a patch
183
+
184
+
1.**Extract the package** for editing:
185
+
186
+
```bash
187
+
yarn patch <package-name>
188
+
```
189
+
190
+
Example:
191
+
192
+
```bash
193
+
yarn patch @web/test-runner-playwright
194
+
```
195
+
196
+
2. **Edit the extracted files**in the temporary directory that Yarn creates. Yarn will show you the path where you can make your changes.
- Patches are automatically stored in `.yarn/patches/` directory
213
+
- They are applied automatically during `yarn install`
214
+
- Patches are version-specific and will need to be recreated if the dependency version changes
215
+
- All patches are committed to the repository so they apply for all contributors
216
+
217
+
### Updating existing patches
218
+
219
+
To modify an existing patch:
220
+
221
+
```bash
222
+
yarn patch <package-name> --update
223
+
```
224
+
225
+
This will extract the current patched version, allowing you to make additional changes.
226
+
227
+
### Best practices
228
+
229
+
- **Keep patches minimal**: Only change what's necessary to fix the specific issue
230
+
- **Document the reason**: Add comments in your pull request explaining why the patch is needed
231
+
- **Plan for removal**: Patches should be temporary until the upstream fix is available
232
+
- **Test thoroughly**: Ensure your patch doesn't break other functionality
233
+
234
+
For more details, see the [Yarn patching documentation](https://yarnpkg.com/features/patching).
235
+
236
+
---
237
+
173
238
## Documentation
174
239
175
240
In addition to well-tested code, documentation is crucial. Whenever you add or change a feature,include documentation for it in the relevant areas:
176
241
177
-
-**README.md**: Each component has a README within its directory. Ensure your changes are included here. This file is used in our generated documentation site.
178
-
-**Comment annotations**: We use comment-based documentation ([JSDocs](https://jsdoc.app/)) so that references are generated automatically where possible.
242
+
- **README.md**: Each component has a README within its directory. Ensure your changes are included here. This file is used in our generated documentation site.
243
+
- **Comment annotations**: We use comment-based documentation ([JSDocs](https://jsdoc.app/)) so that references are generated automatically where possible.
179
244
180
245
Accessible, helpful docs are a huge win for everyone, especially newcomers.
181
246
@@ -191,9 +256,9 @@ We rely on automated tools like Prettier, ESLint, and Stylelint to enforce style
191
256
192
257
Since this project is used by a diverse audience, the accessibility of our product is of utmost importance. Features will be evaluated for inclusivity by:
193
258
194
-
-The use of semantic markup.
195
-
-Labeled interactive elements with appropriate accordance's.
196
-
-Accounting for appropriate states, such as focus and keyboard navigation, according to [standards](https://www.w3.org/WAI/perspective-videos/keyboard/).
259
+
- The use of semantic markup.
260
+
- Labeled interactive elements with appropriate accordance's.
261
+
- Accounting for appropriate states, such as focus and keyboard navigation, according to [standards](https://www.w3.org/WAI/perspective-videos/keyboard/).
197
262
198
263
If you're unsure about an accessibility detail, the [Web Accessibility Initiative (WAI) ARIA Practices Guide (APG)](https://www.w3.org/WAI/ARIA/apg/patterns/) is a good place to start. You can also open a discussion or ask in your PR.
199
264
@@ -206,9 +271,9 @@ As mentioned previously, we use [Conventional Commit](https://www.conventionalco
206
271
207
272
Examples:
208
273
209
-
-`feat(sp-card): add shadow styles for theme consistency`
210
-
-`fix(sp-action-menu): correct arrow key navigation in nested menus`
211
-
-`docs: clarify how to submit bug reports`
274
+
- `feat(sp-card): add shadow styles for theme consistency`
275
+
- `fix(sp-action-menu): correct arrow key navigation in nested menus`
276
+
- `docs: clarify how to submit bug reports`
212
277
213
278
This helps us track changes in a predictable way and automate versioning.
0 commit comments