Skip to content

Commit daaaf7d

Browse files
mukunkustacks-toolinggithub-actions[bot]ttaylor-stackdancormier
authored
chore(build): fix 2.8.5 develop merge conflicts (#1981)
* SPARK-8: Fix Modal Focus Issue when using Keyboard (#1963) * fix reported focus issue * Also handle case where modal has no tabbable elements * fix webpack.config.js for windows * move if check up * Create loud-suits-stare.md * fix whitespace * revert html changes * revert harder * add tests * lint * chore(new-release) (#1964) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [SPARK-6] - update the notice border color for dark mode and high contrast dark mode (#1965) * Correct readme * Don't run minicssextractplugin when running locally * Revert changes * update border colour for dark mode and high contrast dark mode * Create tasty-masks-pump.md * Minor notice border style refactor * Update visual regression test images --------- Co-authored-by: Dan Cormier <[email protected]> * chore(new-release) (#1966) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * build(deps-dev): bump webpack from 5.99.9 to 5.101.2 (#1967) Bumps [webpack](https://github.com/webpack/webpack) from 5.99.9 to 5.101.2. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](webpack/webpack@v5.99.9...v5.101.2) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.101.2 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * SPARK-12: Move to monorepo setup by splitting Stacks Docs and Classic into NPM workspaces (#1969) * mention why we are doing this as part of project SHINE * move folders * update paths * fix docs site and visual tests script * fix a11y and unit test scripts and tweak visual regression threshold * fix workflow tests * revert ci import paths to fix tests * try older image * fix visual ci tests? * mark stacks-docs not publishable * adjust adr based on pr feedback * adjust names * address PR feedback * add missing workspace param * switch back to old script * fix netlify and a11y * fix path * try fix workflows * fix harder * PR feedback * pr feedback round 2 * move some more packages around * Create eighty-pillows-relate.md * chore(screenshots): adjust gitignore patterns excluding failed images (#1972) * chore(monorepo): follow-up tweaks post monorepo changes (#1974) * chore(git-lfs): ensure visual test baseline images are tracked by git lfs (#1978) * Fix aria-current attribute placement in sidebar widget navigation examples (#1970) * chore(new-release) (#1979) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * build(deps-dev): bump vite from 7.1.3 to 7.1.5 (#1980) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.3 to 7.1.5. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v7.1.5/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 7.1.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: svc_tooling <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Tavian Taylor <[email protected]> Co-authored-by: Dan Cormier <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Giamir Buoncristiani <[email protected]> Co-authored-by: qheaden-stack <[email protected]>
1 parent cecec50 commit daaaf7d

File tree

15,806 files changed

+19289
-22017
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

15,806 files changed

+19289
-22017
lines changed

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
screenshots/** filter=lfs diff=lfs merge=lfs -text
1+
**/screenshots/** filter=lfs diff=lfs merge=lfs -text

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,4 @@ jobs:
5151
if: ${{ failure() && inputs.command_description == 'Visual Regression Tests' }}
5252
with:
5353
name: visual-regression-test-results
54-
path: screenshots
54+
path: packages/stacks-classic/screenshots

.github/workflows/workflow.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,19 @@ jobs:
2727
needs_lfs: false
2828
needs_playwright: false
2929
- command_description: Less Tests
30-
command: npm run test:less
30+
command: npm run test:less -w packages/stacks-classic
3131
needs_lfs: false
3232
needs_playwright: false
3333
- command_description: Unit Tests
34-
command: npm run test:unit -- --config web-test-runner.config.ci.mjs
34+
command: npm run test:unit -w packages/stacks-classic -- --config web-test-runner.config.ci.mjs
3535
needs_lfs: false
3636
needs_playwright: true
3737
- command_description: A11y Tests
38-
command: npm run test:a11y -- --config web-test-runner.config.ci.mjs
38+
command: npm run test:a11y -w packages/stacks-classic -- --config web-test-runner.config.ci.mjs
3939
needs_lfs: false
4040
needs_playwright: true
4141
- command_description: Visual Regression Tests
42-
command: npm run test:visual -- --config web-test-runner.config.ci.mjs
42+
command: npm run test:visual:ci -w packages/stacks-classic -- --config ./visual-runner/stacks-classic-runner-config/web-test-runner.config.ci.mjs
4343
needs_lfs: true
4444
needs_playwright: false # we are using playwright docker image to run visual tests
4545
with:

.gitignore

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,27 +58,27 @@ node_modules
5858
# Compiled CSS/JS #
5959
###############
6060
dist/
61-
/docs/assets/css/
62-
/docs/assets/js/stacks.*
63-
/docs/assets/js/controllers.js
64-
/docs/assets/js/controllers.js.map
65-
/docs/assets/js/library.*
61+
/packages/stacks-docs/assets/css/
62+
/packages/stacks-docs/assets/js/stacks.*
63+
/packages/stacks-docs/assets/js/controllers.js
64+
/packages/stacks-docs/assets/js/controllers.js.map
65+
/packages/stacks-docs/assets/js/library.*
6666
/build/
6767
.tscache
6868

6969
# legacy compiled files -- these are no longer generated, but may still be lingering around
70-
/lib/css/*.css
70+
/packages/stacks-classic/lib/css/*.css
7171

7272
# Environment normalization #
7373
###############
74-
/docs/.bundle
75-
/docs/vendor/bundle
76-
/docs/_includes/svg-icons
77-
/docs/_includes/svg-spots
74+
/packages/stacks-docs/.bundle
75+
/packages/stacks-docs/vendor/bundle
76+
/packages/stacks-docs/_includes/svg-icons
77+
/packages/stacks-docs/_includes/svg-spots
7878

7979
# Testing Assets #
8080
###############
81-
/screenshots/**/failed/**
81+
**/screenshots/**/failed/**
8282

8383
# GitHub Actions #
8484
###############

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# @stackoverflow/stacks
22

3+
## 2.8.4
4+
5+
### Patch Changes
6+
7+
- [#1965](https://github.com/StackExchange/Stacks/pull/1965) [`236f4a5`](https://github.com/StackExchange/Stacks/commit/236f4a56b9785f6487e58a7647b30dd296ab37b5) Thanks [@ttaylor-stack](https://github.com/ttaylor-stack)! - [SPARK-6] - update the notice border color for dark mode and high contrast dark mode
8+
9+
## 2.8.3
10+
11+
### Patch Changes
12+
13+
- [#1963](https://github.com/StackExchange/Stacks/pull/1963) [`9c08388`](https://github.com/StackExchange/Stacks/commit/9c083886cb57ee343e455f2d36c584aa6f021022) Thanks [@mukunku](https://github.com/mukunku)! - SPARK-8: Fix Modal text selection issue when using keyboard
14+
315
## 2.8.2
416

517
### Patch Changes

README.md

Lines changed: 40 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,8 @@ Stacks documentation can be found at https://stackoverflow.design/
2323
- [Using Stacks](#using-stacks)
2424
- [Migrating from v1 to v2](#migrating-from-v1-to-v2)
2525
- [Local Development](#local-development)
26-
- [Format Stacks](#format-stacks)
27-
- [Linting Stacks](#linting-stacks)
28-
- [Testing Stacks](#testing-stacks)
26+
- [Stacks Docs](#stacks-docs)
27+
- [Stacks Classic](#stacks-classic)
2928
- [Releasing Stacks](#releasing-a-new-version-of-stacks)
3029
- [Bugs and feature requests](#bugs-and-feature-requests)
3130
- [Contributing](#contributing)
@@ -40,64 +39,76 @@ To migrate from Stacks v1 to v2, see our [migration guide](/MIGRATION_GUIDE.md).
4039

4140
## Local Development
4241

43-
To contribute to Stacks documentation or its CSS library, you’ll need to build Stacks locally:
42+
This repo follows a monolithic structure and contains multiple packages split into [npm workspaces](https://docs.npmjs.com/cli/v9/using-npm/workspaces). These can be found under the [packages/](https://github.com/StackExchange/Stacks/tree/develop/packages) folder.
43+
44+
To get any of these Stacks workspaces working locally start out by installing all required dependencies:
45+
```sh
46+
npm i
47+
```
48+
49+
Below are instructions on how to build and test each individual workspace. If you have trouble getting any of these steps to work, please open [an issue](https://github.com/StackExchange/Stacks/issues/new) with a `setup` label.
50+
51+
## Stacks Docs
52+
53+
This workspace contains the Stacks documentation project that’s hosted on: https://stackoverflow.design/
54+
55+
To contribute to Stacks documentation you can build locally via:
4456
```sh
4557
npm start
4658
```
47-
This command will pull up the local dev server at http://localhost:8000. You can also view our [building guidelines](https://stackoverflow.design/product/develop/building).
59+
This command will pull up the local dev server at http://localhost:8080. You can also view our [building guidelines](https://stackoverflow.design/product/develop/building).
4860

49-
Having trouble getting these steps to work? Open [an issue](https://github.com/StackExchange/Stacks/issues/new) with a `setup` label.
61+
## Stacks Classic
5062

51-
## Format Stacks
63+
This workspace contains the css and js sources that define and power the Stacks design system.
5264

53-
Format the source code with prettier via running:
65+
Format the source code with prettier by running:
5466
```sh
55-
npm run format
67+
npm run format -w packages/stacks-classic
5668
```
5769

58-
## Linting Stacks
70+
### Linting
5971

6072
Run all lint suites by running:
6173
```sh
62-
npm run lint
74+
npm run lint -w packages/stacks-classic
6375
```
64-
6576
Lint the styles (stylelint) by running:
6677
```sh
67-
npm run lint:css
78+
npm run lint:css -w packages/stacks-classic
6879
```
6980
Lint the typescript source code (eslint) via running:
7081
```sh
71-
npm run lint:ts
82+
npm run lint:ts -w packages/stacks-classic
7283
```
7384
Lint the source code format (prettier) via running:
7485
```sh
75-
npm run lint:format
86+
npm run lint:format -w packages/stacks-classic
7687
```
7788

78-
## Testing Stacks
89+
### Testing
7990

8091
Run all test suites by running:
8192
```sh
82-
npm test
93+
npm run test -w packages/stacks-classic
8394
```
84-
### Unit/Component Tests
95+
#### Unit/Component Tests
8596

8697
Unit/Component tests are written with [DOM Testing Library](https://testing-library.com/docs/dom-testing-library/intro).
87-
Please follow the library's principles and documentation to write tests.
98+
Please follow the librarys principles and documentation to write tests.
8899

89100
Stacks uses [Web Test Runner](https://modern-web.dev/docs/test-runner/overview/) and [Playwright](https://modern-web.dev/docs/test-runner/browser-launchers/playwright/) to run tests in a real browser context.
90101

91102
Execute the unit/component tests suite by running:
92103
```sh
93-
npm run test:unit
104+
npm run test:unit -w packages/stacks-classic
94105
```
95106
or if you prefer watch mode run:
96107
```sh
97-
npm run test:unit:watch
108+
npm run test:unit:watch -w packages/stacks-classic
98109
```
99110

100-
### Visual Regression Tests
111+
#### Visual Regression Tests
101112

102113
**Prerequisites:**
103114
- `git lfs` ([installation docs](https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage))
@@ -110,34 +121,34 @@ Visual regression tests end with this suffix `*.visual.test.ts`.
110121

111122
Execute the visual regression tests suite by running:
112123
```sh
113-
npm run test:visual
124+
npm run test:visual -w packages/stacks-classic
114125
```
115126
After the first run, if there are failing snapshots, they end up overriding the baseline ones in the filesystem (e.g. `/screenshots/<browser>/baseline/<name>.png`).
116127
We do this for easier comparison of the dif directly in vscode and to make sure only the failing snapshots get regenerated (see [this GH discussion](https://github.com/modernweb-dev/web/discussions/427#discussioncomment-3543771) that inspired the approach).
117128

118129
We also recommend to install [this vscode extension](https://marketplace.visualstudio.com/items?itemName=RayWiis.png-image-diff) for getting better diffs.
119130

120-
### Less Tests
131+
#### Less Tests
121132

122133
This is an experimental suite to test the generation of CSS from Less files.
123134
Less tests end with this suffix `*.less.test.ts`.
124135

125136
Execute the less tests suite by running:
126137
```sh
127-
npm run test:less
138+
npm run test:less -w packages/stacks-classic
128139
```
129140

130141
Update the css snapshots via:
131142
```sh
132-
npm run test:less:update
143+
npm run test:less:update -w packages/stacks-classic
133144
```
134145

135-
## Releasing a new version of Stacks
136-
Stacks uses [Semantic Versioning](https://semver.org/), is distributed via [npm](https://www.npmjs.com/package/@stackoverflow/stacks), and publishes [release notes on Github](https://github.com/StackExchange/Stacks/releases).
146+
## Releasing a new version of Stacks Docs / Stacks Classic
147+
This repo uses [Semantic Versioning](https://semver.org/) to distribute Stacks Classic and Stacks Docs via [npm](https://www.npmjs.com/package/@stackoverflow/stacks), and publishes [release notes on Github](https://github.com/StackExchange/Stacks/releases).
137148

138149
We use [changesets](https://github.com/changesets/changesets) to automatize the steps necessary to publish to NPM, create GH releases and a changelog.
139150

140-
- Every time you do work that requires a new release to be published, [add a changesets entry](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md) by running `npx chageset` and follow the instrcutions on screen. (changes that do not require a new release - e.g. changing a test file - don't need a changeset).
151+
- Every time you do work that requires a new release to be published, [add a changesets entry](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md) by running `npx chageset` and follow the instructions on screen. (changes that do not require a new release - e.g. changing a test file - dont need a changeset).
141152
- When opening a PR without a corresponding changeset the [changesets-bot](https://github.com/apps/changeset-bot) will remind you to do so. It generally makes sense to have one changeset for PR (if the PR changes do not require a new release to be published the bot message can be safely ignored)
142153
- The [release github workflow](.github/workflows/release.yml) continuosly check if there are new pending changesets in the main branch, if there are it creates a GH PR (`chore(release)` [see example](https://github.com/StackExchange/apca-check/pull/2)) and continue updating it as more changesets are potentially pushed/merged to the main branch.
143154
- When we are ready to cut a release we need to simply merge the `chore(release)` PR back to main and the release github workflow will take care of publishing the changes to NPM and create a GH release for us. The `chore(release)` PR also give us an opportunity to adjust the automatically generated changelog when necessary (the entry in the changelog file is also what will end up in the GH release notes).

adrs/0001-pseudo-private-custom-properties.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ Defining a structure for component styles using pseudo-private custom properties
125125
Inspiration for this approach initially came from [Lea Verou’s presentation titled “CSS Variable Secrets at CSS Day 2022](https://youtu.be/ZuZizqDF4q8)
126126

127127
### See also
128-
[Stacks components _style-template.less](https://github.com/StackExchange/Stacks/blob/develop/lib/css/components/_styles-template.less)
128+
[Stacks components _style-template.less](https://github.com/StackExchange/Stacks/blob/develop/packages/stacks-classic/lib/css/components/_styles-template.less)
129129

130130
[Stacks discussion on pseudo-private custom properties on GitHub](https://github.com/StackExchange/Stacks/pull/1091#issuecomment-1274947752)
131131

adrs/0003-monorepo.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
**Date:** 2022-11-28
44

5+
**Updated:** 2025-08-26
6+
57
**Related PR:** #1191
68

79
## Issue
@@ -29,6 +31,8 @@ We'd also be able to fold the [Stacks-Icons](https://github.com/StackExchange/St
2931

3032
On the technical front, we could manage the monorepo with [npm workspaces](https://docs.npmjs.com/cli/v9/using-npm/workspaces?v=true) or another dedicated tool such as [Rush](https://rushjs.io/pages/intro/welcome/), [Lerna](https://lerna.js.org/) or [Bit](https://bit.dev/).
3133

32-
In regards to changelog / release notes generation, we'd continue using Conventional Commits, but moving to use [release-please](https://github.com/googleapis/release-please) which [does support monorepos](https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md).
34+
In regards to changelog / release notes generation, we'd continue using Conventional Commits, but moving to use [changesets](https://github.com/changesets/changesets) which [does support monorepos](https://github.com/changesets/changesets/blob/main/docs/problems-publishing-in-monorepos.md).
35+
36+
## Timing
3337

34-
For backwards compatibility, we can trivially create a `@stackoverflow/stacks` "meta-package" that simply imports, then re-exports the dependency packages.
38+
With project SHINE on the horizon, we will be making drastic changes to the Stacks framework to accommodate the new design language we are adopting. So we will take the time as part of project SHINE to start moving Stacks into a monorepo setup for all the reasons outlined above.

docs/assets/js/index.ts

Lines changed: 0 additions & 14 deletions
This file was deleted.

docs/assets/js/tsconfig.json

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)