@unimelb/pattern-lib-vue 16.0.0-alpha.7 → 16.0.0

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 +83 -9
  3. package/package.json +146 -154
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,53 @@ 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
+ ### User agent
188
+ The end-to-end testing requires user agent to be set to load assets ie. images and videos hosted by CMS during testing. Update the local `.env` file and set the variable `MATRIX_USER_AGENT`.
189
+
190
+ > [!TIP]
191
+ > Refer to the GitHub repo setting environments for the latest value.
192
+
193
+ ### Storybook end-to-end testing
194
+ To run the Storybook stories visual snapshots and story tests use `yarn test:e2e`.
195
+
196
+ To view the e2e test report use `yarn test:report`.
197
+
198
+ **Note:** the visual snapshot testing runs on Playwright and requires Docker to be up and running.
199
+
200
+ #### Visual snapshot testing
201
+
202
+ 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`.
203
+
204
+ If you wish to update the snapshots with your changes run `yarn test:update:snapshots`.
205
+
206
+ > [!IMPORTANT]
207
+ > 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.
208
+
209
+ #### Example
210
+ The story `components/grid/stories/index.stories.js` corresponds to `e2e/tests/components/grid.spec.js`.
211
+ ```
212
+ const component = 'Grid';
213
+ const stories = [
214
+ 'Default',
215
+ 'Desk',
216
+ 'Desk Combination',
217
+ 'Tab',
218
+ 'Tab Combination',
219
+ 'Wide',
220
+ 'Wide Combination',
221
+ 'Center Grid',
222
+ ];
223
+
224
+ testVisualStory(component, stories);
225
+ ```
226
+
227
+ `testVisualStory` will run the snapshot tests on the following viewports:
228
+ - 1280 x 3600 - desktop
229
+ - 480 x 3600 - mobile
230
+
185
231
  ### Testing Pull-requests
186
232
 
187
233
  You can test `pull-requests` on live sites by using `?preview=test-xxx` where `xxx` is the pull-request `number`.
@@ -212,11 +258,39 @@ Recommended mobile devices for testing:
212
258
  - iPad 2
213
259
  - Galaxy s5
214
260
 
215
- ### Visual snapshot testing
261
+ ### Visual Regression Tests
262
+
263
+ > [!IMPORTANT]
264
+ > These tests should be run **exclusively** on your **local** machine to detect visual regressions **before merging** your pull-request.
216
265
 
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__`.
266
+ You can test your changes against live `production` sites to ensure nothing breaks.
218
267
 
219
- If you wish to update the snapshots with your changes run `yarn test:e2e:updatesnapshots`.
268
+ - uses `TEST_PREVIEW_ID` located in `.env` - refer to `env.example`
269
+ - the list of production sites are located in `/e2e/tests/regression/pages.json`
270
+
271
+ #### Running regression tests
272
+
273
+ 1. update your regression snapshots
274
+
275
+ > [!TIP]
276
+ > 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.
277
+
278
+ ```
279
+ yarn test:update:regression
280
+ ```
281
+
282
+ 2. set the `TEST_PREVIEW_ID` to your desired `pull-request` id
283
+ 3. run the regression tests to compare your `pull-request` againts the base snapshots
284
+
285
+ ```bash
286
+ yarn test:regression
287
+ ```
288
+
289
+ 4. view the report
290
+
291
+ ```bash
292
+ yarn test:report
293
+ ```
220
294
 
221
295
  ## Developer documentation
222
296
 
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.7",
4
+ "version": "16.0.0",
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,164 @@
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/vue3-jest": "^29.2.6",
53
- "babel-polyfill": "^6.26.0",
54
- "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",
55
62
  "core-js": "3",
56
- "gumshoejs": "^5.1.2",
57
- "jump.js": "^1.0.2",
58
- "lodash.debounce": "^4.0.8",
59
- "lodash.escaperegexp": "^4.1.2",
60
- "lodash.isplainobject": "^4.0.6",
61
- "modern-normalize": "^1.1.0",
62
- "prop-types": "^15.8.1",
63
- "semver": "^5.6.0",
64
- "smoothscroll-polyfill": "^0.4.4",
65
- "throttle-debounce": "^2.1.0",
66
- "uuid": "^3.4.0",
67
- "v-scroll-lock": "^1.3.1",
68
- "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",
69
77
  "vue-focus-lock": "1.4.0",
70
- "vue-progressive-image": "3.2.0",
71
- "xss": "^1.0.15"
78
+ "xss": "1.0.15"
72
79
  },
73
80
  "devDependencies": {
74
- "vue": "^3.4.35",
75
- "@vue/compat": "^3.4.35",
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-links": "8.1.11",
89
+ "@storybook/addon-postcss": "2.0.0",
90
+ "@storybook/addon-webpack5-compiler-swc": "1.0.4",
91
+ "@storybook/channels": "8.1.11",
92
+ "@storybook/global": "5.0.0",
93
+ "@storybook/manager-api": "8.1.11",
94
+ "@storybook/preview-api": "8.1.11",
95
+ "@storybook/test": "8.1.11",
96
+ "@storybook/vue3": "8.1.11",
97
+ "@storybook/vue3-webpack5": "8.1.11",
98
+ "@vue/babel-helper-vue-jsx-merge-props": "1.4.0",
99
+ "@vue/babel-plugin-transform-vue-jsx": "1.4.0",
100
+ "@vue/test-utils": "2.4.0-alpha.2",
101
+ "@vue/vue3-jest": "29.2.6",
102
+ "babel-core": "6.26.3",
103
+ "babel-helper-vue-jsx-merge-props": "2.0.3",
104
+ "babel-jest": "29.7.0",
105
+ "babel-loader": "9.1.3",
106
+ "babel-plugin-syntax-jsx": "6.18.0",
107
+ "babel-plugin-transform-vue-jsx": "3.7.0",
108
+ "babel-preset-env": "1.7.0",
109
+ "babel-preset-es2015": "6.24.1",
110
+ "babel-preset-stage-3": "6.24.1",
106
111
  "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",
112
+ "create-file-webpack": "1.0.2",
113
+ "cross-env": "5.2.0",
114
+ "css-loader": "7.1.2",
115
+ "css-mqpacker": "7.0.0",
116
+ "cssnano": "4.1.10",
117
+ "cssnano-preset-lite": "1.0.1",
118
+ "dotenv": "6.0.0",
119
+ "eslint": "7.32.0",
120
+ "eslint-config-airbnb-base": "15.0.0",
121
+ "eslint-config-prettier": "9.1.0",
122
+ "eslint-loader": "4.0.2",
123
+ "eslint-plugin-import": "2.29.1",
124
+ "eslint-plugin-storybook": "0.8.0",
125
+ "eslint-plugin-vue": "9.20.1",
126
+ "eslint-plugin-you-dont-need-lodash-underscore": "6.14.0",
127
+ "file-loader": "6.2.0",
128
+ "highlight.js": "11.10.0",
129
+ "html-webpack-plugin": "5.6.0",
130
+ "http-server": "14.1.1",
131
+ "husky": "4.2.3",
132
+ "inquirer-directory": "2.2.0",
133
+ "jest": "29.7.0",
134
+ "jest-axe": "3.1.1",
135
+ "jest-environment-jsdom": "29.7.0",
136
+ "jest-transform-stub": "2.0.0",
137
+ "lint-staged": "10.0.8",
138
+ "marked": "14.1.2",
139
+ "mini-css-extract-plugin": "2.9.0",
140
+ "npm-run-all": "4.1.5",
141
+ "plop": "4.0.3",
142
+ "postcss": "8.4.38",
143
+ "postcss-assets": "6.0.0",
144
+ "postcss-calc": "10.0.0",
145
+ "postcss-html": "1.7.0",
146
+ "postcss-import": "16.1.0",
147
+ "postcss-inline-svg": "6.0.0",
148
+ "postcss-loader": "8.1.1",
149
+ "postcss-merge-rules": "7.0.2",
150
+ "postcss-mixins": "10.0.1",
151
+ "postcss-nested": "6.0.1",
152
+ "postcss-preset-env": "9.5.15",
153
+ "postcss-reporter": "7.1.0",
154
+ "postcss-url": "10.1.3",
155
+ "prettier": "3.3.2",
156
+ "raw-loader": "0.5.1",
153
157
  "react": "18",
154
158
  "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",
159
- "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"
159
+ "rimraf": "3.0.2",
160
+ "serve": "11.3.0",
161
+ "start-server-and-test": "1.10.11",
162
+ "storybook": "8.1.11",
163
+ "strip-html-comments": "1.0.0",
164
+ "style-loader": "0.21.0",
165
+ "stylelint": "14.16.1",
166
+ "stylelint-config-prettier": "9.0.5",
167
+ "stylelint-config-property-sort-order-smacss": "9.1.0",
168
+ "stylelint-config-recommended-vue": "1.5.0",
169
+ "stylelint-config-standard": "29.0.0",
170
+ "stylelint-order": "5.0.0",
171
+ "svg-sprite-loader": "6.0.11",
172
+ "svg-url-loader": "7.1.1",
173
+ "svgo": "3.3.2",
174
+ "svgo-loader": "4.0.0",
175
+ "terser-webpack-plugin": "5.3.10",
176
+ "vue-axe": "1.0.7",
177
+ "vue-loader": "17.3.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"
183
183
  },
184
184
  "resolutions": {
185
185
  "stylelint-config-recommended-vue/stylelint-config-recommended": "^9.0.0"
@@ -201,9 +201,6 @@
201
201
  "^utils/(.*)$": "<rootDir>/utils/$1",
202
202
  "^static/(.*)$": "<rootDir>/static/$1"
203
203
  },
204
- "snapshotSerializers": [
205
- "<rootDir>/node_modules/jest-serializer-vue"
206
- ],
207
204
  "transform": {
208
205
  ".*\\.(vue)$": "@vue/vue3-jest",
209
206
  "^.+\\.js$": "<rootDir>/node_modules/babel-jest",
@@ -211,7 +208,7 @@
211
208
  },
212
209
  "transformIgnorePatterns": [],
213
210
  "testPathIgnorePatterns": [
214
- "<rootDir>/snapshots/"
211
+ "<rootDir>/e2e/"
215
212
  ],
216
213
  "testEnvironmentOptions": {
217
214
  "customExportConditions": [
@@ -228,10 +225,5 @@
228
225
  "hooks": {
229
226
  "pre-commit": "cross-env lint-staged"
230
227
  }
231
- },
232
- "eslintConfig": {
233
- "extends": [
234
- "plugin:storybook/recommended"
235
- ]
236
228
  }
237
229
  }