@unimelb/pattern-lib-vue 16.0.0-alpha.4 → 16.0.0-alpha.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/.out/vue.js +1 -1
  2. package/README.md +77 -9
  3. package/package.json +153 -153
package/README.md CHANGED
@@ -17,7 +17,7 @@ The contents of this repository have been produced by The University of Melbourn
17
17
 
18
18
  The design system requires:
19
19
 
20
- - [Node](https://nodejs.org/en/) (v16)
20
+ - [Node](https://nodejs.org/en/) (>=v22.17.0)
21
21
  - [Yarn](https://yarnpkg.com/lang/en/docs/install/) (latest version)
22
22
 
23
23
  ```bash
@@ -127,11 +127,8 @@ JS files and single-file Vue components are linted on the fly with ESLint. The c
127
127
  For your own sanity, make sure to install your code editor's ESLint and stylelint extensions. The following commands are available for on-demand linting and fixing:
128
128
 
129
129
  - `yarn lint`
130
- - `yarn lint:fix`
131
130
  - `yarn lint:css`
132
- - `yarn lint:css --fix`
133
131
  - `yarn lint:js`
134
- - `yarn lint:js --fix`
135
132
 
136
133
  ## Release process
137
134
 
@@ -147,7 +144,8 @@ For your own sanity, make sure to install your code editor's ESLint and stylelin
147
144
 
148
145
  **At the end of the release sprint:**
149
146
 
150
- > [!NOTE] > **Note on versioning**: the version number follows the [semver](http://semver.org/) convention `MAJOR.MINOR.PATCH`, where: `MAJOR` corresponds to a breaking change (e.g. a change in a component's markup), `MINOR` to a new feature (e.g. a new component, a new feature for an existing component, etc.), and `PATCH` to a bug fix or under-the-hood change (e.g. code clean-up, performance improvement, etc.)
147
+ > [!NOTE]
148
+ > **Note on versioning**: the version number follows the [semver](http://semver.org/) convention `MAJOR.MINOR.PATCH`, where: `MAJOR` corresponds to a breaking change (e.g. a change in a component's markup), `MINOR` to a new feature (e.g. a new component, a new feature for an existing component, etc.), and `PATCH` to a bug fix or under-the-hood change (e.g. code clean-up, performance improvement, etc.)
151
149
 
152
150
  1. Look at all the PRs that were assigned to `next-release` throughout the sprint and identify the highest-level of change (major, minor or patch). Deduce the next release's version number and rename the milestone accordingly.
153
151
  1. Create a new release notes draft based on the following template: `.github/RELEASE_NOTES_TEMPLATE.md`.
@@ -171,7 +169,8 @@ For your own sanity, make sure to install your code editor's ESLint and stylelin
171
169
 
172
170
  Pre-release builds can be created like this (using the git pre-push hook behind the scenes):
173
171
 
174
- > [!NOTE] > **Note on pre-release versions**: These are legitimate [semver](http://semver.org/) versions. They have the format MAJOR.MINOR.PATCH-beta.NUMBER. **Only** these pre-release versions will be published on `dev`.
172
+ > [!NOTE]
173
+ > **Note on pre-release versions**: These are legitimate [semver](http://semver.org/) versions. They have the format MAJOR.MINOR.PATCH-beta.NUMBER. **Only** these pre-release versions will be published on `dev`.
175
174
 
176
175
  1. Check out a clean `dev` branch
177
176
  1. in bash `git push` - this will increment the pre-release version number and make a commit to your local repository
@@ -182,6 +181,47 @@ Pre-release builds can be created like this (using the git pre-push hook behind
182
181
 
183
182
  ## Testing
184
183
 
184
+ ### Component unit testing
185
+ To run the component units tests use `yarn test`. This runs the jest unit and accessibility tests.
186
+
187
+ ### Storybook end-to-end testing
188
+ To run the Storybook stories visual snapshots and story tests use `yarn test:e2e`.
189
+
190
+ To view the e2e test report use `yarn test:report`.
191
+
192
+ **Note:** the visual snapshot testing runs on Playwright and requires Docker to be up and running.
193
+
194
+ #### Visual snapshot testing
195
+
196
+ You can run the Storybook stories visual snapshot tests exclusively using `yarn test:snapshots`. This compares your changes against the baseline visual snapshot. To see the failed snapshot tests run `yarn test:report`.
197
+
198
+ If you wish to update the snapshots with your changes run `yarn test:update:snapshots`.
199
+
200
+ > [!IMPORTANT]
201
+ > Whenever a new story is created or the story name is updated, it is important to update the corresponding `*.spec.js` file for the story.
202
+
203
+ #### Example
204
+ The story `components/grid/stories/index.stories.js` corresponds to `e2e/tests/components/grid.spec.js`.
205
+ ```
206
+ const component = 'Grid';
207
+ const stories = [
208
+ 'Default',
209
+ 'Desk',
210
+ 'Desk Combination',
211
+ 'Tab',
212
+ 'Tab Combination',
213
+ 'Wide',
214
+ 'Wide Combination',
215
+ 'Center Grid',
216
+ ];
217
+
218
+ testVisualStory(component, stories);
219
+ ```
220
+
221
+ `testVisualStory` will run the snapshot tests on the following viewports:
222
+ - 1280 x 3600 - desktop
223
+ - 480 x 3600 - mobile
224
+
185
225
  ### Testing Pull-requests
186
226
 
187
227
  You can test `pull-requests` on live sites by using `?preview=test-xxx` where `xxx` is the pull-request `number`.
@@ -212,11 +252,39 @@ Recommended mobile devices for testing:
212
252
  - iPad 2
213
253
  - Galaxy s5
214
254
 
215
- ### Visual snapshot testing
255
+ ### Visual Regression Tests
256
+
257
+ > [!IMPORTANT]
258
+ > These tests should be run **exclusively** on your **local** machine to detect visual regressions **before merging** your pull-request.
259
+
260
+ You can test your changes against live `production` sites to ensure nothing breaks.
216
261
 
217
- You can run visual snapshot testing using `yarn test:snapshots`. This compares your changes against the latest visual snapshot. Failed snapshot tests will show a visual diff comparison in `snapshots/__tests__/__image_snapshots__/__diff_output__`.
262
+ - uses `TEST_PREVIEW_ID` located in `.env` - refer to `env.example`
263
+ - the list of production sites are located in `/e2e/tests/regression/pages.json`
218
264
 
219
- If you wish to update the snapshots with your changes run `yarn test:e2e:updatesnapshots`.
265
+ #### Running regression tests
266
+
267
+ 1. update your regression snapshots
268
+
269
+ > [!TIP]
270
+ > Make sure to comment out `TEST_PREVIEW_ID` to use the `dev` branch as the `base` snapshots. Alternatively, you can use any `pull-request` id.
271
+
272
+ ```
273
+ yarn test:update:regression
274
+ ```
275
+
276
+ 2. set the `TEST_PREVIEW_ID` to your desired `pull-request` id
277
+ 3. run the regression tests to compare your `pull-request` againts the base snapshots
278
+
279
+ ```bash
280
+ yarn test:regression
281
+ ```
282
+
283
+ 4. view the report
284
+
285
+ ```bash
286
+ yarn test:report
287
+ ```
220
288
 
221
289
  ## Developer documentation
222
290
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@unimelb/pattern-lib-vue",
3
3
  "description": "A complete design system for the University of Melbourne.",
4
- "version": "16.0.0-alpha.4",
4
+ "version": "16.0.0-alpha.41",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/unimelb/pattern-lib.git"
@@ -9,9 +9,10 @@
9
9
  "author": "The University of Melbourne",
10
10
  "license": "UNLICENSED",
11
11
  "engines": {
12
- "node": "^20.16.0",
12
+ "node": ">=22.17.0",
13
13
  "yarn": "*"
14
14
  },
15
+ "type": "module",
15
16
  "main": ".out/vue.js",
16
17
  "files": [
17
18
  ".out/vue.js"
@@ -21,165 +22,172 @@
21
22
  "prebuild:lib": "rimraf .out/lib",
22
23
  "build": "storybook build -o .out/docs",
23
24
  "build:lib": "run-p build:lib:standard build:lib:minify",
24
- "build:lib:standard": "cross-env NODE_ENV=production webpack --config targets/lib/webpack.config.js",
25
- "build:lib:minify": "cross-env NODE_ENV=production MINIFY_CSS=true webpack --config targets/lib/webpack.minify.config.js",
26
- "build:vue": "cross-env NODE_ENV=production webpack --config targets/vue/webpack.config.js",
27
- "clean:snapshots": "rimraf snapshots/__tests__/__image_snapshots__/__diff_output__",
25
+ "build:lib:standard": "cross-env NODE_ENV=production webpack --config targets/lib/webpack.config.cjs",
26
+ "build:lib:minify": "cross-env NODE_ENV=production MINIFY_CSS=true webpack --config targets/lib/webpack.minify.config.cjs",
27
+ "build:vue": "cross-env NODE_ENV=production webpack --config targets/vue/webpack.config.cjs",
28
+ "prebuild:test": "rimraf _site-docker",
29
+ "build:test": "cross-env MOCK=true npm-run-all storybook-build:docker",
28
30
  "dev": "storybook dev -p 7002",
29
- "dev:public": "start-storybook -p 7002 -h 0.0.0.0",
30
- "start:lib": "webpack-dev-server --port 7003 --config targets/lib/webpack.config.js",
31
- "docker": "docker compose --profile dev up --abort-on-container-exit --remove-orphans",
32
- "docker:build": "cross-env MODE=build docker compose run --rm storybook",
31
+ "dev:public": "storybook dev -p 7002 -h 0.0.0.0",
32
+ "start:lib": "webpack-dev-server --port 7003 --config targets/lib/webpack.config.cjs",
33
+ "start:test": "http-server ./_site-docker -c-1 --port 7003",
33
34
  "lint": "run-s lint:js lint:css",
34
35
  "lint:css": "stylelint **/*.{css,vue} --fix",
35
36
  "lint:js": "eslint . --ext .js,.vue --fix",
36
- "start:snapshots": "server-test serve:test :5000 'jest -w=4 -c snapshots/jest.config.js'",
37
- "start:updatesnapshots": "server-test serve:test :5000 'jest -w=4 -c snapshots/jest.config.js -u'",
38
37
  "test": "jest",
39
- "test:snapshots": "run-s build clean:snapshots start:snapshots",
40
- "test:updatesnapshots": "run-s build start:updatesnapshots",
38
+ "test:e2e": "cross-env EXCLUDE=regression run-s docker",
39
+ "test:regression": "cross-env TYPE=regression run-s docker",
40
+ "test:snapshots": "cross-env TYPE=snapshot run-s docker",
41
+ "test:update:regression": "cross-env TYPE=regression UPDATE_SNAPSHOTS=all run-s docker",
42
+ "test:update:snapshots": "cross-env TYPE=snapshot UPDATE_SNAPSHOTS=all run-s docker",
43
+ "test:update:regression:changed": "cross-env TYPE=regression UPDATE_SNAPSHOTS=changed run-s docker",
44
+ "test:update:snapshots:changed": "cross-env TYPE=snapshot UPDATE_SNAPSHOTS=changed run-s docker",
45
+ "test:report": "playwright show-report",
41
46
  "generate": "plop --plopfile generator/index.js",
42
47
  "prepublish": "cross-env LOAD_EXTERNAL_ASSETS=true npm run build:vue",
43
- "serve:test": "serve .out/docs"
48
+ "preplaywright": "npm-run-all build:test",
49
+ "playwright": "npx playwright test --grep-invert \"@snapshot|@regression\" --project chromium",
50
+ "playwright:ui": "npx playwright test --grep-invert \"@snapshot|@regression\" --project chromium --ui",
51
+ "predocker": "npm-run-all build:test",
52
+ "docker": "docker compose run --rm e2e",
53
+ "storybook-build:docker": "storybook build -o _site-docker"
44
54
  },
45
55
  "dependencies": {
46
- "@fontsource-variable/fraunces": "^5.0.21",
47
- "@fontsource/source-sans-pro": "^5.0.8",
48
- "@storybook/channels": "^8.1.11",
49
- "@storybook/global": "^5.0.0",
50
- "@storybook/preview-api": "^8.1.11",
51
- "@storybook/test": "^8.1.11",
52
- "@vue/compat": "^3.4.35",
53
- "@vue/vue3-jest": "^29.2.6",
54
- "babel-polyfill": "^6.26.0",
55
- "change-case": "^3.1.0",
56
+ "@fontsource-variable/fraunces": "5.0.21",
57
+ "@fontsource/source-sans-pro": "5.0.8",
58
+ "@splidejs/vue-splide": "0.6.12",
59
+ "@vue/compat": "3.5.21",
60
+ "babel-polyfill": "6.26.0",
61
+ "change-case": "3.1.0",
56
62
  "core-js": "3",
57
- "gumshoejs": "^5.1.2",
58
- "jump.js": "^1.0.2",
59
- "lodash.debounce": "^4.0.8",
60
- "lodash.escaperegexp": "^4.1.2",
61
- "lodash.isplainobject": "^4.0.6",
62
- "modern-normalize": "^1.1.0",
63
- "prop-types": "^15.8.1",
64
- "semver": "^5.6.0",
65
- "smoothscroll-polyfill": "^0.4.4",
66
- "throttle-debounce": "^2.1.0",
67
- "uuid": "^3.4.0",
68
- "v-scroll-lock": "^1.3.1",
69
- "vue": "^3.4.35",
70
- "vue-concise-slider": "^3.4.2",
63
+ "gumshoejs": "5.1.2",
64
+ "jump.js": "1.0.2",
65
+ "lodash.debounce": "4.0.8",
66
+ "lodash.escaperegexp": "4.1.2",
67
+ "lodash.isplainobject": "4.0.6",
68
+ "modern-normalize": "1.1.0",
69
+ "prop-types": "15.8.1",
70
+ "semver": "5.6.0",
71
+ "serve-handler": "6.1.6",
72
+ "smoothscroll-polyfill": "0.4.4",
73
+ "throttle-debounce": "2.1.0",
74
+ "uuid": "3.4.0",
75
+ "v-scroll-lock": "1.3.1",
76
+ "vue": "3.5.21",
71
77
  "vue-focus-lock": "1.4.0",
72
- "vue-progressive-image": "3.2.0",
73
- "xss": "^1.0.15"
78
+ "xss": "1.0.15"
74
79
  },
75
80
  "devDependencies": {
76
- "@babel/core": "^7.24.8",
77
- "@babel/eslint-parser": "^7.24.7",
78
- "@babel/polyfill": "^7.12.1",
79
- "@babel/preset-env": "^7.24.8",
80
- "@babel/preset-react": "^7.24.7",
81
- "@storybook/addon-essentials": "^8.1.11",
82
- "@storybook/addon-interactions": "^8.1.11",
83
- "@storybook/addon-links": "^8.1.11",
84
- "@storybook/addon-notes": "^3.4.8",
85
- "@storybook/addon-options": "^3.4.8",
86
- "@storybook/addon-postcss": "^2.0.0",
87
- "@storybook/addon-webpack5-compiler-swc": "^1.0.4",
88
- "@storybook/addons": "^3.4.8",
89
- "@storybook/blocks": "^8.1.11",
90
- "@storybook/vue3": "^8.1.11",
91
- "@storybook/vue3-webpack5": "^8.1.11",
92
- "@types/jest": "^25.2.3",
93
- "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
94
- "@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
95
- "@vue/compiler-sfc": "^3.4.31",
96
- "@vue/test-utils": "^2.4.0-alpha.2",
97
- "babel-core": "^6.26.3",
98
- "babel-helper-vue-jsx-merge-props": "^2.0.3",
99
- "babel-jest": "29.x",
100
- "babel-loader": "^9.1.3",
101
- "babel-plugin-syntax-jsx": "^6.18.0",
102
- "babel-plugin-transform-vue-jsx": "^3.7.0",
103
- "babel-preset-env": "^1.7.0",
104
- "babel-preset-es2015": "^6.24.1",
105
- "babel-preset-stage-3": "^6.24.1",
81
+ "@axe-core/playwright": "4.10.2",
82
+ "@babel/core": "7.24.8",
83
+ "@babel/eslint-parser": "7.24.7",
84
+ "@babel/polyfill": "7.12.1",
85
+ "@babel/preset-env": "7.24.8",
86
+ "@babel/preset-react": "7.24.7",
87
+ "@playwright/test": "1.54.0",
88
+ "@storybook/addon-essentials": "8.1.11",
89
+ "@storybook/addon-interactions": "8.1.11",
90
+ "@storybook/addon-links": "8.1.11",
91
+ "@storybook/addon-notes": "3.4.8",
92
+ "@storybook/addon-options": "3.4.8",
93
+ "@storybook/addon-postcss": "2.0.0",
94
+ "@storybook/addon-webpack5-compiler-swc": "1.0.4",
95
+ "@storybook/addons": "3.4.8",
96
+ "@storybook/api": "7.6.17",
97
+ "@storybook/blocks": "8.1.11",
98
+ "@storybook/channels": "8.1.11",
99
+ "@storybook/global": "5.0.0",
100
+ "@storybook/manager-api": "8.3.1",
101
+ "@storybook/preview-api": "8.1.11",
102
+ "@storybook/test": "8.1.11",
103
+ "@storybook/vue3": "8.1.11",
104
+ "@storybook/vue3-webpack5": "8.1.11",
105
+ "@vue/babel-helper-vue-jsx-merge-props": "1.4.0",
106
+ "@vue/babel-plugin-transform-vue-jsx": "1.4.0",
107
+ "@vue/test-utils": "2.4.0-alpha.2",
108
+ "@vue/vue3-jest": "29.2.6",
109
+ "babel-core": "6.26.3",
110
+ "babel-helper-vue-jsx-merge-props": "2.0.3",
111
+ "babel-jest": "29.7.0",
112
+ "babel-loader": "9.1.3",
113
+ "babel-plugin-syntax-jsx": "6.18.0",
114
+ "babel-plugin-transform-vue-jsx": "3.7.0",
115
+ "babel-preset-env": "1.7.0",
116
+ "babel-preset-es2015": "6.24.1",
117
+ "babel-preset-stage-3": "6.24.1",
106
118
  "caniuse-db": "~1.0.30001638",
107
- "create-file-webpack": "^1.0.2",
108
- "cross-env": "^5.2.0",
109
- "css-loader": "^7.1.2",
110
- "css-mqpacker": "^7.0.0",
111
- "cssnano": "^4.1.10",
112
- "dotenv": "^6.0.0",
113
- "eslint": "^7.32.0",
114
- "eslint-config-airbnb-base": "^15.0.0",
115
- "eslint-config-prettier": "^9.1.0",
116
- "eslint-loader": "^4.0.2",
117
- "eslint-plugin-import": "^2.29.1",
118
- "eslint-plugin-storybook": "^0.8.0",
119
- "eslint-plugin-vue": "^9.20.1",
120
- "eslint-plugin-you-dont-need-lodash-underscore": "^6.14.0",
121
- "file-loader": "^6.2.0",
122
- "html-webpack-plugin": "^5.6.0",
123
- "husky": "^4.2.3",
124
- "inquirer-directory": "^2.2.0",
125
- "jest": "29.x",
126
- "jest-axe": "^3.1.1",
127
- "jest-environment-jsdom": "^29.7.0",
128
- "jest-image-snapshot": "^2.12.0",
129
- "jest-puppeteer": "^4.4.0",
130
- "jest-serializer-vue": "^2.0.2",
131
- "jest-transform-stub": "^2.0.0",
132
- "lint-staged": "^10.0.8",
133
- "mini-css-extract-plugin": "^2.9.0",
134
- "npm-run-all": "^4.1.5",
135
- "plop": "^2.4.0",
136
- "postcss": "^8.4.38",
137
- "postcss-assets": "^6.0.0",
138
- "postcss-calc": "^10.0.0",
139
- "postcss-html": "^1.7.0",
140
- "postcss-import": "^16.1.0",
141
- "postcss-inline-svg": "^6.0.0",
142
- "postcss-loader": "^8.1.1",
143
- "postcss-merge-rules": "^7.0.2",
144
- "postcss-mixins": "^10.0.1",
145
- "postcss-nested": "^6.0.1",
146
- "postcss-preset-env": "^9.5.15",
147
- "postcss-reporter": "^7.1.0",
148
- "postcss-url": "^10.1.3",
149
- "prettier": "^3.3.2",
150
- "pretty": "^2.0.0",
151
- "puppeteer": "^2.1.1",
152
- "raw-loader": "^0.5.1",
119
+ "create-file-webpack": "1.0.2",
120
+ "cross-env": "5.2.0",
121
+ "css-loader": "7.1.2",
122
+ "css-mqpacker": "7.0.0",
123
+ "cssnano": "4.1.10",
124
+ "cssnano-preset-lite": "1.0.1",
125
+ "dotenv": "6.0.0",
126
+ "eslint": "7.32.0",
127
+ "eslint-config-airbnb-base": "15.0.0",
128
+ "eslint-config-prettier": "9.1.0",
129
+ "eslint-loader": "4.0.2",
130
+ "eslint-plugin-import": "2.29.1",
131
+ "eslint-plugin-storybook": "0.8.0",
132
+ "eslint-plugin-vue": "9.20.1",
133
+ "eslint-plugin-you-dont-need-lodash-underscore": "6.14.0",
134
+ "file-loader": "6.2.0",
135
+ "highlight.js": "11.10.0",
136
+ "html-webpack-plugin": "5.6.0",
137
+ "http-server": "14.1.1",
138
+ "husky": "4.2.3",
139
+ "inquirer-directory": "2.2.0",
140
+ "jest": "29.7.0",
141
+ "jest-axe": "3.1.1",
142
+ "jest-environment-jsdom": "29.7.0",
143
+ "jest-transform-stub": "2.0.0",
144
+ "lint-staged": "10.0.8",
145
+ "marked": "14.1.2",
146
+ "mini-css-extract-plugin": "2.9.0",
147
+ "npm-run-all": "4.1.5",
148
+ "plop": "2.4.0",
149
+ "postcss": "8.4.38",
150
+ "postcss-assets": "6.0.0",
151
+ "postcss-calc": "10.0.0",
152
+ "postcss-html": "1.7.0",
153
+ "postcss-import": "16.1.0",
154
+ "postcss-inline-svg": "6.0.0",
155
+ "postcss-loader": "8.1.1",
156
+ "postcss-merge-rules": "7.0.2",
157
+ "postcss-mixins": "10.0.1",
158
+ "postcss-nested": "6.0.1",
159
+ "postcss-preset-env": "9.5.15",
160
+ "postcss-reporter": "7.1.0",
161
+ "postcss-url": "10.1.3",
162
+ "prettier": "3.3.2",
163
+ "raw-loader": "0.5.1",
153
164
  "react": "18",
154
165
  "react-dom": "18",
155
- "rimraf": "^3.0.2",
156
- "serve": "^11.3.0",
157
- "start-server-and-test": "^1.10.11",
158
- "storybook": "^8.1.11",
166
+ "rimraf": "3.0.2",
167
+ "serve": "11.3.0",
168
+ "start-server-and-test": "1.10.11",
169
+ "storybook": "8.1.11",
159
170
  "storybook-readme": "3.1.1",
160
- "strip-html-comments": "^1.0.0",
161
- "style-loader": "^0.21.0",
162
- "stylelint": "^14.16.1",
163
- "stylelint-config-prettier": "^9.0.5",
164
- "stylelint-config-property-sort-order-smacss": "^9.1.0",
165
- "stylelint-config-recommended-vue": "^1.5.0",
166
- "stylelint-config-standard": "^29.0.0",
167
- "stylelint-order": "^5.0.0",
168
- "svg-fill-loader": "^0.0.8",
169
- "svg-sprite-loader": "^6.0.11",
170
- "svg-url-loader": "^7.1.1",
171
- "svgo": "^3.3.2",
172
- "svgo-loader": "^4.0.0",
173
- "terser-webpack-plugin": "^5.3.10",
174
- "vue-axe": "^1.0.7",
175
- "vue-html-loader": "^1.2.4",
176
- "vue-loader": "^17.4.2",
177
- "vue3-jest": "^27.0.0-alpha.1",
178
- "webpack": "^5.92.1",
179
- "webpack-bundle-analyzer": "^4.10.2",
180
- "webpack-cli": "^5.1.4",
181
- "webpack-dev-server": "^5.0.4",
182
- "webpack-merge": "^5.10.0"
171
+ "strip-html-comments": "1.0.0",
172
+ "style-loader": "0.21.0",
173
+ "stylelint": "14.16.1",
174
+ "stylelint-config-prettier": "9.0.5",
175
+ "stylelint-config-property-sort-order-smacss": "9.1.0",
176
+ "stylelint-config-recommended-vue": "1.5.0",
177
+ "stylelint-config-standard": "29.0.0",
178
+ "stylelint-order": "5.0.0",
179
+ "svg-sprite-loader": "6.0.11",
180
+ "svg-url-loader": "7.1.1",
181
+ "svgo": "3.3.2",
182
+ "svgo-loader": "4.0.0",
183
+ "terser-webpack-plugin": "5.3.10",
184
+ "vue-axe": "1.0.7",
185
+ "vue-loader": "17.3.1",
186
+ "webpack": "5.92.1",
187
+ "webpack-bundle-analyzer": "4.10.2",
188
+ "webpack-cli": "5.1.4",
189
+ "webpack-dev-server": "5.0.4",
190
+ "webpack-merge": "5.10.0"
183
191
  },
184
192
  "resolutions": {
185
193
  "stylelint-config-recommended-vue/stylelint-config-recommended": "^9.0.0"
@@ -201,9 +209,6 @@
201
209
  "^utils/(.*)$": "<rootDir>/utils/$1",
202
210
  "^static/(.*)$": "<rootDir>/static/$1"
203
211
  },
204
- "snapshotSerializers": [
205
- "<rootDir>/node_modules/jest-serializer-vue"
206
- ],
207
212
  "transform": {
208
213
  ".*\\.(vue)$": "@vue/vue3-jest",
209
214
  "^.+\\.js$": "<rootDir>/node_modules/babel-jest",
@@ -211,7 +216,7 @@
211
216
  },
212
217
  "transformIgnorePatterns": [],
213
218
  "testPathIgnorePatterns": [
214
- "<rootDir>/snapshots/"
219
+ "<rootDir>/e2e/"
215
220
  ],
216
221
  "testEnvironmentOptions": {
217
222
  "customExportConditions": [
@@ -228,10 +233,5 @@
228
233
  "hooks": {
229
234
  "pre-commit": "cross-env lint-staged"
230
235
  }
231
- },
232
- "eslintConfig": {
233
- "extends": [
234
- "plugin:storybook/recommended"
235
- ]
236
236
  }
237
237
  }