@elliemae/pui-cli 7.0.0-beta.6 → 7.0.0-beta.9

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.
@@ -2,16 +2,20 @@ const { exit } = require('yargs');
2
2
  const { exec, logError, logSuccess } = require('./utils');
3
3
  const { isTypeScriptEnabled } = require('../typescript/util');
4
4
 
5
+ const { CI = false } = process.env;
6
+
5
7
  async function lintCSS(fix = false) {
6
8
  const fixIssues = fix ? '--fix' : '';
7
9
  await exec(
8
- `stylelint ./{lib,app}/**/*.{js,jsx,ts,tsx} ${fixIssues} --color --allowEmptyInput`,
10
+ `stylelint ./{lib,app}/**/*.{js,jsx,ts,tsx} ${fixIssues} ${
11
+ !CI ? '--color' : ''
12
+ } --allowEmptyInput`,
9
13
  );
10
14
  }
11
15
 
12
16
  async function lintJS(fix = false) {
13
17
  const fixIssues = fix ? '--fix' : '';
14
- await exec(`eslint --color ${fixIssues} .`);
18
+ await exec(`eslint ${!CI ? '--color' : ''} ${fixIssues} .`);
15
19
  }
16
20
 
17
21
  async function handler(argv) {
@@ -4,7 +4,7 @@ const { exec, logError, logSuccess } = require('./utils');
4
4
  const { CI = false } = process.env;
5
5
 
6
6
  async function test(commandOptions) {
7
- await exec(`cross-env FORCE_COLOR=true NODE_ENV=test jest ${commandOptions}`);
7
+ await exec(`cross-env NODE_ENV=test jest ${commandOptions}`);
8
8
  }
9
9
 
10
10
  // eslint-disable-next-line max-statements
@@ -12,7 +12,7 @@ async function handler(argv) {
12
12
  let commandOptions = '--coverage';
13
13
  if (argv.fix) commandOptions = '-u';
14
14
  else if (argv.watch) commandOptions = '--watchAll';
15
- if (CI) commandOptions += ' --ci --runInBand';
15
+ if (CI) commandOptions += ' --ci --runInBand --no-colors';
16
16
  else commandOptions += ' --maxWorkers=50%';
17
17
  if (argv.p) commandOptions += ' --passWithNoTests';
18
18
  if (argv.r) commandOptions += ' --bail --findRelatedTests';
@@ -30,19 +30,21 @@ const getNodeModulesPath = (fileName) => {
30
30
 
31
31
  const jestConfig = {
32
32
  collectCoverageFrom: [
33
- 'app/**/*.{js, ts, jsx, tsx}',
34
- 'lib/**/*.{js, ts, jsx, tsx}',
35
- '!app/**/*.test.{js, ts, jsx, tsx}',
36
- '!lib/**/*.test.{js, ts, jsx, tsx}',
37
- '!app/**/*.stories.{js, ts, jsx, tsx}',
38
- '!lib/**/*.stories.{js, ts, jsx, tsx}',
39
- '!app/**/*.endpoint.{js, ts, jsx, tsx}',
40
- '!lib/**/*.endpoint.{js, ts, jsx, tsx}',
41
- '!app/*/RbGenerated*/*.{js, ts, jsx, tsx}',
42
- '!app/index.{js, ts, jsx, tsx}',
43
- '!app/global-styles.{js, ts, jsx, tsx}',
44
- '!app/**/loadable.{js, ts, jsx, tsx}',
45
- '!lib/**/loadable.{js, ts, jsx, tsx}',
33
+ 'app/**/*.{js,ts,jsx,tsx}',
34
+ 'lib/**/*.{js,ts,jsx,tsx}',
35
+ '!app/**/*.d.ts',
36
+ '!lib/**/*.d.ts',
37
+ '!app/**/*.test.{js,ts,jsx,tsx}',
38
+ '!lib/**/*.test.{js,ts,jsx,tsx}',
39
+ '!app/**/*.stories.{js,ts,jsx,tsx}',
40
+ '!lib/**/*.stories.{js,ts,jsx,tsx}',
41
+ '!app/**/*.endpoint.{js,ts,jsx,tsx}',
42
+ '!lib/**/*.endpoint.{js,ts,jsx,tsx}',
43
+ '!app/*/RbGenerated*/*.{js,ts,jsx,tsx}',
44
+ '!app/index.{js,ts,jsx,tsx}',
45
+ '!app/global-styles.{js,ts,jsx,tsx}',
46
+ '!app/**/loadable.{js,ts,jsx,tsx}',
47
+ '!lib/**/loadable.{js,ts,jsx,tsx}',
46
48
  ],
47
49
  coverageThreshold: {
48
50
  // Todo: enable the coverage threshold later
@@ -63,16 +65,14 @@ const jestConfig = {
63
65
  getMockFilePath('image.js'),
64
66
  '.*\\.svg$': getMockFilePath('svg.js'),
65
67
  '.*\\.(html)$': getMockFilePath('html.js'),
68
+ '.*index.html\\?resource$': getMockFilePath('html.js'),
66
69
  '@elliemae/pui-user-monitoring': getMockFilePath('pui-user-monitoring.js'),
67
- '@elliemae/pui-app-loader': getMockFilePath('webpack-hmr.js'),
68
- '@elliemae/pui-diagnostics': getMockFilePath('pui-app-loader.js'),
70
+ '@elliemae/pui-app-loader': getMockFilePath('pui-app-loader.js'),
71
+ '@elliemae/pui-diagnostics': getMockFilePath('pui-diagnostics.js'),
69
72
  'react-spring/web': getNodeModulesPath('react-spring/web.cjs.js'),
70
73
  'react-spring/renderprops': getNodeModulesPath(
71
74
  'react-spring/renderprops.cjs.js',
72
75
  ),
73
- 'styled-components': getNodeModulesPath(
74
- 'styled-components/dist/styled-components.cjs.js',
75
- ),
76
76
  },
77
77
  moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
78
78
  setupFilesAfterEnv: [path.resolve(__dirname, './setup-tests.js')],
@@ -4,7 +4,7 @@ import path from 'path';
4
4
 
5
5
  export default defineConfig({
6
6
  test: {
7
- global: true,
7
+ globals: true,
8
8
  root: process.cwd(),
9
9
  exclude: ['node_modules', 'dist', '.idea', '.git', '.cache', 'e2e'],
10
10
  setupFiles: [path.resolve(__dirname, './vitest.setup.ts')],
@@ -238,4 +238,5 @@ module.exports = (options) => ({
238
238
  },
239
239
  devtool: options.devtool || 'eval-source-map',
240
240
  performance: options.performance || {},
241
+ devServer: options.devServer || {},
241
242
  });
@@ -1,9 +1,13 @@
1
+ /* eslint-disable max-lines */
1
2
  const path = require('path');
2
3
  const HtmlWebpackPlugin = require('html-webpack-plugin');
3
4
  const CircularDependencyPlugin = require('circular-dependency-plugin');
4
5
  const MiniCssExtractPlugin = require('mini-css-extract-plugin');
5
6
  const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
6
7
  const SpeedMeasurePlugin = require('speed-measure-webpack-plugin');
8
+ const expressStaticGzip = require('express-static-gzip');
9
+ const { setupDefaultMiddlewares } = require('../server/middlewares');
10
+ const { loadRoutes } = require('../server/util');
7
11
 
8
12
  const smp = new SpeedMeasurePlugin({ disable: !process.env.MEASURE });
9
13
 
@@ -16,6 +20,7 @@ const baseConfigFactory = require('./webpack.base.babel');
16
20
 
17
21
  const {
18
22
  appVersion,
23
+ buildPath,
19
24
  userMonScriptPath,
20
25
  globalScriptPath,
21
26
  appLoaderScriptPath,
@@ -36,14 +41,13 @@ const devConfig = {
36
41
 
37
42
  // Add hot reloading in development
38
43
  entry: {
39
- app: [
40
- 'webpack-hot-middleware/client',
41
- path.join(process.cwd(), 'app/index'),
42
- ],
44
+ app: path.join(process.cwd(), 'app/index'),
43
45
  },
44
46
 
45
47
  // Don't use hashes in dev mode for better performance
46
48
  output: {
49
+ path: buildPath,
50
+ publicPath: 'auto',
47
51
  filename: '[name].js',
48
52
  chunkFilename: '[name].chunk.js',
49
53
  assetModuleFilename: '[name][ext][query]',
@@ -103,7 +107,24 @@ const devConfig = {
103
107
  hints: false,
104
108
  },
105
109
 
106
- devServer: {},
110
+ devServer: {
111
+ client: {
112
+ overlay: {
113
+ errors: true,
114
+ warnings: false,
115
+ },
116
+ },
117
+ historyApiFallback: true,
118
+ hot: true,
119
+ open: true,
120
+ port: 3000,
121
+ setupMiddlewares: (middlewares, devServer) => {
122
+ setupDefaultMiddlewares(devServer.app);
123
+ devServer.app.use(expressStaticGzip('cdn'));
124
+ loadRoutes(devServer.app);
125
+ return middlewares;
126
+ },
127
+ },
107
128
  };
108
129
 
109
130
  const config = smp.wrap(baseConfigFactory(devConfig));
@@ -26,7 +26,6 @@ module.exports = require('./webpack.lib.base.babel')({
26
26
 
27
27
  plugins: [
28
28
  new HtmlWebpackPlugin({
29
- scriptLoading: 'module',
30
29
  inject: true, // Inject all files that are generated by webpack, e.g. bundle.js
31
30
  template: 'lib/index.pug',
32
31
  filename: 'index.html',
@@ -36,7 +36,6 @@ module.exports = require('./webpack.lib.base.babel')({
36
36
 
37
37
  plugins: [
38
38
  new HtmlWebpackPlugin({
39
- scriptLoading: 'module',
40
39
  template: 'lib/index.pug',
41
40
  filename: 'index.html',
42
41
  libraryName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/pui-cli",
3
- "version": "7.0.0-beta.6",
3
+ "version": "7.0.0-beta.9",
4
4
  "private": false,
5
5
  "description": "ICE MT UI Platform CLI",
6
6
  "sideEffects": false,
@@ -48,13 +48,13 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@babel/cli": "~7.17.6",
51
- "@babel/core": "~7.17.8",
51
+ "@babel/core": "~7.17.9",
52
52
  "@babel/eslint-parser": "~7.17.0",
53
53
  "@babel/node": "~7.16.8",
54
54
  "@babel/plugin-proposal-class-properties": "~7.16.7",
55
55
  "@babel/plugin-proposal-export-default-from": "~7.16.7",
56
56
  "@babel/plugin-syntax-dynamic-import": "~7.8.3",
57
- "@babel/plugin-transform-modules-commonjs": "~7.17.7",
57
+ "@babel/plugin-transform-modules-commonjs": "~7.17.9",
58
58
  "@babel/plugin-transform-react-constant-elements": "~7.17.6",
59
59
  "@babel/plugin-transform-react-inline-elements": "~7.16.7",
60
60
  "@babel/plugin-transform-react-jsx-source": "~7.16.7",
@@ -62,11 +62,11 @@
62
62
  "@babel/preset-env": "~7.16.11",
63
63
  "@babel/preset-react": "~7.16.7",
64
64
  "@babel/preset-typescript": "~7.16.7",
65
- "@babel/runtime": "~7.17.8",
66
- "@commitlint/cli": "~16.2.3",
67
- "@commitlint/config-conventional": "~16.2.1",
68
- "@elliemae/browserslist-config-elliemae-latest-browsers": "~1.3.0",
69
- "@faker-js/faker": "6.0.0",
65
+ "@babel/runtime": "~7.17.9",
66
+ "@commitlint/cli": "~16.2.4",
67
+ "@commitlint/config-conventional": "~16.2.4",
68
+ "@elliemae/browserslist-config-elliemae-latest-browsers": "~1.4.2",
69
+ "@faker-js/faker": "6.2.0",
70
70
  "@nrwl/cli": "13.9.3",
71
71
  "@nrwl/tao": "13.9.3",
72
72
  "@nrwl/workspace": "13.9.3",
@@ -74,33 +74,34 @@
74
74
  "@semantic-release/changelog": "~6.0.1",
75
75
  "@semantic-release/exec": "~6.0.3",
76
76
  "@semantic-release/git": "~10.0.1",
77
- "@storybook/addon-a11y": "~6.4.19",
78
- "@storybook/addon-essentials": "~6.4.19",
77
+ "@storybook/addon-a11y": "~6.4.22",
78
+ "@storybook/addon-essentials": "~6.4.22",
79
79
  "@storybook/addon-events": "~6.2.9",
80
- "@storybook/addon-interactions": "~6.4.19",
81
- "@storybook/addon-links": "~6.4.19",
82
- "@storybook/addon-storysource": "~6.4.19",
83
- "@storybook/builder-webpack5": "~6.4.19",
84
- "@storybook/manager-webpack5": "~6.4.19",
85
- "@storybook/react": "~6.4.19",
86
- "@storybook/theming": "~6.4.19",
80
+ "@storybook/addon-interactions": "~6.4.22",
81
+ "@storybook/addon-links": "~6.4.22",
82
+ "@storybook/addon-storysource": "~6.4.22",
83
+ "@storybook/builder-vite": "~0.1.32",
84
+ "@storybook/builder-webpack5": "~6.4.22",
85
+ "@storybook/manager-webpack5": "~6.4.22",
86
+ "@storybook/react": "~6.4.22",
87
+ "@storybook/theming": "~6.4.22",
87
88
  "@stylelint/postcss-css-in-js": "~0.37.2",
88
89
  "@svgr/webpack": "~6.2.1",
89
- "@swc/cli": "~0.1.55",
90
- "@swc/core": "~1.2.159",
90
+ "@swc/cli": "~0.1.57",
91
+ "@swc/core": "~1.2.173",
91
92
  "@swc/jest": "~0.2.20",
92
- "@testing-library/jest-dom": "~5.16.2",
93
- "@testing-library/react": "~12.1.4",
94
- "@testing-library/react-hooks": "~7.0.2",
93
+ "@testing-library/jest-dom": "~5.16.4",
94
+ "@testing-library/react": "~12.1.5",
95
+ "@testing-library/react-hooks": "~8.0.0",
95
96
  "@types/jest": "~27.4.1",
96
- "@types/node": "~17.0.21",
97
+ "@types/node": "~17.0.30",
97
98
  "@types/rimraf": "~3.0.2",
98
99
  "@types/testing-library__jest-dom": "~5.14.3",
99
- "@typescript-eslint/eslint-plugin": "~5.15.0",
100
- "@typescript-eslint/parser": "~5.15.0",
101
- "autoprefixer": "~10.4.4",
100
+ "@typescript-eslint/eslint-plugin": "~5.21.0",
101
+ "@typescript-eslint/parser": "~5.21.0",
102
+ "autoprefixer": "~10.4.5",
102
103
  "axe-core": "~4.4.1",
103
- "babel-loader": "~8.2.3",
104
+ "babel-loader": "~8.2.5",
104
105
  "babel-plugin-add-import-extension": "1.5.1",
105
106
  "babel-plugin-date-fns": "~2.0.0",
106
107
  "babel-plugin-dynamic-import-node": "~2.3.3",
@@ -108,14 +109,14 @@
108
109
  "babel-plugin-lodash": "~3.3.4",
109
110
  "babel-plugin-module-resolver": "~4.1.0",
110
111
  "babel-plugin-source-map-support": "~2.1.3",
111
- "babel-plugin-styled-components": "~2.0.6",
112
+ "babel-plugin-styled-components": "~2.0.7",
112
113
  "babel-plugin-transform-react-remove-prop-types": "~0.4.24",
113
114
  "babel-plugin-transform-remove-console": "~6.9.4",
114
115
  "babel-plugin-transform-strip-block": "~0.0.5",
115
- "body-parser": "~1.19.2",
116
- "browserslist": "~4.20.2",
116
+ "body-parser": "~1.20.0",
117
+ "browserslist": "~4.20.3",
117
118
  "browserslist-to-esbuild": "~1.1.1",
118
- "canvas": "~2.9.0",
119
+ "canvas": "~2.9.1",
119
120
  "chalk": "~4.1.2",
120
121
  "circular-dependency-plugin": "~5.2.2",
121
122
  "compression": "~1.7.4",
@@ -130,42 +131,42 @@
130
131
  "dotenv": "~16.0.0",
131
132
  "dotenv-webpack": "~7.1.0",
132
133
  "duplicate-package-checker-webpack-plugin": "~3.0.0",
133
- "enhanced-resolve": "~5.9.2",
134
- "esbuild": "~0.14.27",
134
+ "enhanced-resolve": "5.9.3",
135
+ "esbuild": "~0.14.38",
135
136
  "esbuild-loader": "~2.18.0",
136
- "esbuild-plugin-svgr": "~1.0.0",
137
- "eslint": "~8.11.0",
137
+ "esbuild-plugin-svgr": "~1.0.1",
138
+ "eslint": "~8.14.0",
138
139
  "eslint-config-airbnb": "~19.0.4",
139
140
  "eslint-config-airbnb-base": "~15.0.0",
140
- "eslint-config-airbnb-typescript": "~16.1.3",
141
+ "eslint-config-airbnb-typescript": "~17.0.0",
141
142
  "eslint-config-prettier": "~8.5.0",
142
- "eslint-config-react-app": "~7.0.0",
143
+ "eslint-config-react-app": "~7.0.1",
143
144
  "eslint-import-resolver-babel-module": "~5.3.1",
144
- "eslint-import-resolver-typescript": "~2.5.0",
145
+ "eslint-import-resolver-typescript": "~2.7.1",
145
146
  "eslint-import-resolver-webpack": "~0.13.2",
146
147
  "eslint-plugin-compat": "~4.0.2",
147
148
  "eslint-plugin-eslint-comments": "~3.2.0",
148
- "eslint-plugin-import": "~2.25.4",
149
- "eslint-plugin-jest": "~26.1.1",
150
- "eslint-plugin-jsdoc": "~38.0.6",
149
+ "eslint-plugin-import": "~2.26.0",
150
+ "eslint-plugin-jest": "~26.1.5",
151
+ "eslint-plugin-jsdoc": "~39.2.9",
151
152
  "eslint-plugin-jsx-a11y": "~6.5.1",
152
- "eslint-plugin-mdx": "~1.16.0",
153
+ "eslint-plugin-mdx": "~1.17.0",
153
154
  "eslint-plugin-prettier": "~4.0.0",
154
155
  "eslint-plugin-react": "~7.29.4",
155
- "eslint-plugin-react-hooks": "~4.3.0",
156
+ "eslint-plugin-react-hooks": "~4.5.0",
156
157
  "eslint-plugin-redux-saga": "~1.3.2",
157
- "eslint-plugin-storybook": "~0.5.7",
158
- "eslint-plugin-testing-library": "~5.1.0",
159
- "eslint-plugin-wdio": "~7.18.1",
158
+ "eslint-plugin-storybook": "~0.5.11",
159
+ "eslint-plugin-testing-library": "~5.3.1",
160
+ "eslint-plugin-wdio": "~7.19.4",
160
161
  "execa": "~5.1.1",
161
- "express": "~4.17.3",
162
+ "express": "~4.18.0",
162
163
  "express-pino-logger": "~7.0.0",
163
164
  "express-static-gzip": "~2.1.5",
164
165
  "favicons": "~6.2.2",
165
166
  "favicons-webpack-plugin": "~5.0.2",
166
167
  "fast-glob": "~3.2.11",
167
168
  "find-up": "~5.0.0",
168
- "happy-dom": "~2.49.0",
169
+ "happy-dom": "~3.1.0",
169
170
  "helmet-csp": "~3.4.0",
170
171
  "html-webpack-plugin": "~5.5.0",
171
172
  "http-server": "~14.1.0",
@@ -180,77 +181,77 @@
180
181
  "jscodeshift": "~0.13.1",
181
182
  "jsdoc": "~3.6.10",
182
183
  "lerna": "~4.0.0",
183
- "lint-staged": "~12.3.7",
184
+ "lint-staged": "~12.4.1",
184
185
  "mini-css-extract-plugin": "~2.6.0",
185
- "minimist": "~1.2.5",
186
- "moment": "~2.29.1",
186
+ "minimist": "~1.2.6",
187
+ "moment": "~2.29.3",
187
188
  "moment-locales-webpack-plugin": "~1.2.0",
188
189
  "msw": "~0.39.2",
189
190
  "node-gyp": "~9.0.0",
190
- "node-plop": "~0.30.0",
191
+ "node-plop": "~0.31.0",
191
192
  "nodemon": "~2.0.15",
192
193
  "normalize-path": "~3.0.0",
193
- "npm-check-updates": "12.5.4",
194
+ "npm-check-updates": "12.5.10",
194
195
  "null-loader": "~4.0.1",
195
- "pino": "~7.9.1",
196
- "pino-pretty": "~7.5.4",
196
+ "pino": "~7.11.0",
197
+ "pino-pretty": "~7.6.1",
197
198
  "pinst": "~3.0.0",
198
- "plop": "~3.0.5",
199
+ "plop": "~3.1.0",
199
200
  "postcss": "~8.4.12",
200
- "postcss-html": "~1.3.0",
201
+ "postcss-html": "~1.4.1",
201
202
  "postcss-jsx": "~0.36.4",
202
203
  "postcss-loader": "~6.2.1",
203
204
  "postcss-markdown": "~1.2.0",
204
- "postcss-preset-env": "~7.4.2",
205
+ "postcss-preset-env": "~7.4.4",
205
206
  "postcss-syntax": "~0.36.2",
206
- "prettier": "~2.6.0",
207
+ "prettier": "~2.6.2",
207
208
  "pug": "~3.0.2",
208
209
  "pug-loader": "~2.4.0",
209
210
  "raf": "~3.4.1",
210
211
  "react-axe": "~3.5.4",
211
212
  "react-docgen": "~5.4.0",
212
213
  "react-refresh": "~0.11.0",
213
- "react-test-renderer": "~17.0.2",
214
+ "react-test-renderer": "~18.1.0",
214
215
  "resize-observer-polyfill": "~1.5.1",
215
- "resolve-typescript-plugin": "~1.1.5",
216
+ "resolve-typescript-plugin": "~1.2.0",
216
217
  "rimraf": "~3.0.2",
217
218
  "semantic-release": "~19.0.2",
218
219
  "slackify-markdown": "~4.3.1",
219
220
  "speed-measure-webpack-plugin": "~1.5.0",
220
221
  "storybook-addon-turbo-build": "~1.1.0",
221
- "storybook-builder-vite": "~0.1.21",
222
+ "storybook-builder-vite": "~0.1.23",
222
223
  "storybook-react-router": "~1.0.8",
223
224
  "style-loader": "~3.3.1",
224
- "stylelint": "~14.6.0",
225
+ "stylelint": "~14.8.0",
225
226
  "stylelint-config-recommended": "~7.0.0",
226
227
  "stylelint-config-styled-components": "~0.1.1",
227
- "swc-loader": "~0.1.15",
228
+ "swc-loader": "~0.2.0",
228
229
  "terser-webpack-plugin": "~5.3.1",
229
230
  "ts-node": "~10.7.0",
230
- "tsc-alias": "~1.6.4",
231
- "typescript": "~4.6.2",
231
+ "tsc-alias": "~1.6.7",
232
+ "typescript": "~4.6.4",
232
233
  "update-notifier": "~5.1.0",
233
234
  "url-loader": "~4.1.1",
234
235
  "uuid": "~8.3.2",
235
- "vite": "~2.8.6",
236
- "vitest": "~0.7.6",
237
- "webpack": "~5.70.0",
236
+ "vite": "~2.9.6",
237
+ "vitest": "~0.10.0",
238
+ "webpack": "~5.72.0",
238
239
  "webpack-bundle-analyzer": "~4.5.0",
239
240
  "webpack-cli": "~4.9.2",
240
241
  "webpack-dev-middleware": "~5.3.1",
241
- "webpack-dev-server": "~4.7.4",
242
+ "webpack-dev-server": "~4.8.1",
242
243
  "webpack-hot-middleware": "~2.25.1",
243
244
  "webpack-manifest-plugin": "~5.0.0",
244
245
  "webpack-merge": "~5.8.0",
245
246
  "whatwg-fetch": "~3.6.2",
246
- "workbox-webpack-plugin": "~6.5.1",
247
- "yargs": "~17.3.1"
247
+ "workbox-webpack-plugin": "~6.5.3",
248
+ "yargs": "~17.4.1"
248
249
  },
249
250
  "devDependencies": {
250
251
  "react": "~17.0.2",
251
252
  "react-dom": "~17.0.2",
252
- "redux": "~4.1.2",
253
+ "redux": "~4.2.0",
253
254
  "redux-saga": "~1.1.3",
254
- "styled-components": "~5.3.3"
255
+ "styled-components": "~5.3.5"
255
256
  }
256
257
  }