@elliemae/pui-cli 6.0.0-beta.2 → 6.0.0-beta.3
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.
- package/lib/babel/babel.config.js +8 -3
- package/lib/cli-commands/build.js +1 -1
- package/lib/cli-commands/lint.js +6 -4
- package/lib/cli-commands/pack.js +3 -3
- package/lib/cli-commands/storybook.js +1 -1
- package/lib/cli-commands/test.js +2 -1
- package/lib/lint/eslint/common.js +2 -3
- package/lib/lint/lint-staged.config.js +1 -1
- package/lib/lint/stylelint.config.js +2 -9
- package/lib/release/release.config.js +1 -1
- package/lib/server/csp.js +2 -0
- package/lib/server/util/index.js +2 -2
- package/lib/testing/jest.config.js +2 -1
- package/lib/typescript/util.js +1 -1
- package/lib/webpack/helpers.js +13 -35
- package/lib/webpack/webpack.base.babel.js +19 -21
- package/lib/webpack/webpack.dev.babel.js +15 -5
- package/lib/webpack/webpack.lib.base.babel.js +33 -17
- package/lib/webpack/webpack.lib.dev.babel.js +0 -4
- package/lib/webpack/webpack.lib.prod.babel.js +0 -1
- package/lib/webpack/webpack.prod.babel.js +4 -27
- package/lib/webpack/webpack.storybook.js +18 -15
- package/package.json +115 -114
|
@@ -10,7 +10,7 @@ const nodeEnvPreset = {
|
|
|
10
10
|
const webEnvPreset = {
|
|
11
11
|
modules: process.env.ES_MODULES === 'false' ? 'commonjs' : false,
|
|
12
12
|
useBuiltIns: 'usage',
|
|
13
|
-
corejs: { version: '3.
|
|
13
|
+
corejs: { version: '3.19', proposals: true },
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
const presetEnvOptions =
|
|
@@ -39,13 +39,14 @@ const config = {
|
|
|
39
39
|
'@babel/plugin-proposal-class-properties',
|
|
40
40
|
'@babel/plugin-syntax-dynamic-import',
|
|
41
41
|
'@babel/plugin-proposal-export-default-from',
|
|
42
|
+
'lodash',
|
|
43
|
+
'date-fns',
|
|
42
44
|
],
|
|
43
45
|
env: {
|
|
44
46
|
development: {
|
|
45
47
|
plugins: [
|
|
46
48
|
['babel-plugin-styled-components', { displayName: true }],
|
|
47
49
|
'@babel/plugin-transform-react-jsx-source',
|
|
48
|
-
'react-refresh/babel',
|
|
49
50
|
],
|
|
50
51
|
},
|
|
51
52
|
production: {
|
|
@@ -79,7 +80,11 @@ if (process.env.MODULE_EXTENSIONS === 'true') {
|
|
|
79
80
|
config.plugins.push('babel-plugin-add-import-extension');
|
|
80
81
|
}
|
|
81
82
|
|
|
82
|
-
|
|
83
|
+
if (process.env.STORYBOOK_BUILD !== 'true') {
|
|
84
|
+
config.env?.development?.plugins?.push?.('react-refresh/babel');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// ToDo: Once ECC team migrates from webpack 3 to webpack 5 remove this strip-block plugin from commonjs output. without this they are receiving error when import.meta is used in app sdk
|
|
83
88
|
if (process.env.ES_MODULES === 'false') {
|
|
84
89
|
config.plugins.push([
|
|
85
90
|
'babel-plugin-transform-strip-block',
|
|
@@ -21,7 +21,7 @@ async function buildWebApp() {
|
|
|
21
21
|
async function buildService() {
|
|
22
22
|
await exec('rimraf ./build');
|
|
23
23
|
await exec(
|
|
24
|
-
`cross-env NODE_ENV=production MODULE_EXTENSIONS=true TARGET_ENV=node babel --extensions '.ts,.js' --config-file ./babel.config.cjs --out-dir ./build --ignore '**/*.test.
|
|
24
|
+
`cross-env NODE_ENV=production MODULE_EXTENSIONS=true TARGET_ENV=node babel --extensions '.ts,.js' --config-file ./babel.config.cjs --out-dir ./build --copy-files --no-copy-ignored --ignore '**/*.test.ts','**/*.test.js','**/*.spec.ts','**/*.test.js' ./app`,
|
|
25
25
|
);
|
|
26
26
|
}
|
|
27
27
|
|
package/lib/cli-commands/lint.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
const { exit } = require('yargs');
|
|
2
2
|
const { exec, logError, logSuccess } = require('./utils');
|
|
3
|
-
const {
|
|
3
|
+
const { isTypeScriptEnabled } = require('../typescript/util');
|
|
4
4
|
|
|
5
|
-
async function lintCSS() {
|
|
5
|
+
async function lintCSS(fix = false) {
|
|
6
|
+
const fixIssues = fix ? '--fix' : '';
|
|
6
7
|
await exec(
|
|
7
|
-
`stylelint
|
|
8
|
+
`stylelint ./{lib,app}/**/*.{js,jsx,ts,tsx} ${fixIssues} --color --allowEmptyInput --ignore-pattern /dist/**/*`,
|
|
8
9
|
);
|
|
9
10
|
}
|
|
10
11
|
|
|
@@ -18,7 +19,8 @@ async function lintJS(fix = false) {
|
|
|
18
19
|
async function handler(argv) {
|
|
19
20
|
if (argv.js) {
|
|
20
21
|
// run typescript compilation
|
|
21
|
-
if (
|
|
22
|
+
if (isTypeScriptEnabled())
|
|
23
|
+
await exec('tsc --noEmit --emitDeclarationOnly false');
|
|
22
24
|
try {
|
|
23
25
|
await exec('rimraf ./reports/eslint.json');
|
|
24
26
|
await lintJS(argv.fix);
|
package/lib/cli-commands/pack.js
CHANGED
|
@@ -2,7 +2,7 @@ const { exit } = require('yargs');
|
|
|
2
2
|
const path = require('path');
|
|
3
3
|
const { writeFile, readFile } = require('fs/promises');
|
|
4
4
|
const { exec, logInfo, logError, logSuccess } = require('./utils');
|
|
5
|
-
const {
|
|
5
|
+
const { isTypeScriptEnabled } = require('../typescript/util');
|
|
6
6
|
|
|
7
7
|
const { name } = require('../../package.json');
|
|
8
8
|
|
|
@@ -42,7 +42,7 @@ async function nodeBuild({ srcPath, commonJS, emitModuleType, target }) {
|
|
|
42
42
|
const targetEnv = target === 'node' ? 'TARGET_ENV=node' : '';
|
|
43
43
|
const babelEnv = commonJS ? ' ES_MODULES=false' : '';
|
|
44
44
|
await exec(
|
|
45
|
-
`cross-env NODE_ENV=production MODULE_EXTENSIONS=true ${targetEnv}${babelEnv} babel --extensions ".ts,.tsx,.js,.jsx" ${srcPath} --out-dir ${outDir} --copy-files --ignore **/*.test.js --ignore **/*.test.ts --ignore **/*.spec.js --ignore **/*.spec.ts --ignore **/*.test.jsx --ignore **/*.test.tsx --ignore **/*.spec.jsx --ignore **/*.spec.tsx`,
|
|
45
|
+
`cross-env NODE_ENV=production MODULE_EXTENSIONS=true ${targetEnv}${babelEnv} babel --extensions ".ts,.tsx,.js,.jsx" ${srcPath} --out-dir ${outDir} --copy-files --no-copy-ignored --ignore **/*.test.js --ignore **/*.test.ts --ignore **/*.spec.js --ignore **/*.spec.ts --ignore **/*.test.jsx --ignore **/*.test.tsx --ignore **/*.spec.jsx --ignore **/*.spec.tsx`,
|
|
46
46
|
{ shell: true, stdio: 'inherit' },
|
|
47
47
|
);
|
|
48
48
|
if (emitModuleType) {
|
|
@@ -58,7 +58,7 @@ async function nodeBuild({ srcPath, commonJS, emitModuleType, target }) {
|
|
|
58
58
|
async function pack({ production, target, module, srcPath, emitModuleType }) {
|
|
59
59
|
logInfo('Build in-progress...');
|
|
60
60
|
await exec('rimraf ./dist');
|
|
61
|
-
if (
|
|
61
|
+
if (isTypeScriptEnabled()) {
|
|
62
62
|
await compileTypeScript();
|
|
63
63
|
}
|
|
64
64
|
if (target !== 'node') await webBuild(production);
|
|
@@ -10,7 +10,7 @@ async function buildStoryBook(isDoc = false) {
|
|
|
10
10
|
|
|
11
11
|
async function startStoryBook(isDoc = false) {
|
|
12
12
|
await exec(
|
|
13
|
-
`cross-env FORCE_COLOR=true start-storybook ${
|
|
13
|
+
`cross-env NODE_ENV=development STORYBOOK_BUILD=true FORCE_COLOR=true start-storybook ${
|
|
14
14
|
isDoc && '--docs'
|
|
15
15
|
} -p 11000 --quiet`,
|
|
16
16
|
);
|
package/lib/cli-commands/test.js
CHANGED
|
@@ -13,7 +13,8 @@ async function handler(argv) {
|
|
|
13
13
|
let commandOptions = '--coverage';
|
|
14
14
|
if (argv.fix) commandOptions = '-u';
|
|
15
15
|
else if (argv.watch) commandOptions = '--watchAll';
|
|
16
|
-
if (CI) commandOptions += ' --ci';
|
|
16
|
+
if (CI) commandOptions += ' --ci --runInBand';
|
|
17
|
+
else commandOptions += ' --maxWorkers=50%';
|
|
17
18
|
if (argv.p) commandOptions += ' --passWithNoTests';
|
|
18
19
|
if (argv.r) commandOptions += ' --bail --findRelatedTests';
|
|
19
20
|
if (argv.s) commandOptions += ' --silent';
|
|
@@ -112,16 +112,15 @@ const reactRules = {
|
|
|
112
112
|
exports.reactRules = reactRules;
|
|
113
113
|
|
|
114
114
|
exports.baseConfig = {
|
|
115
|
-
parser: 'babel-
|
|
115
|
+
parser: '@babel/eslint-parser',
|
|
116
116
|
plugins: basePlugins,
|
|
117
117
|
env: {
|
|
118
118
|
jest: true,
|
|
119
119
|
browser: true,
|
|
120
120
|
node: true,
|
|
121
|
-
|
|
121
|
+
es2021: true,
|
|
122
122
|
},
|
|
123
123
|
parserOptions: {
|
|
124
|
-
ecmaVersion: 2020,
|
|
125
124
|
sourceType: 'module',
|
|
126
125
|
ecmaFeatures: {
|
|
127
126
|
jsx: true,
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
[
|
|
4
|
-
'stylelint-processor-styled-components',
|
|
5
|
-
{
|
|
6
|
-
ignoreFiles: ['**/*.scss'],
|
|
7
|
-
},
|
|
8
|
-
],
|
|
9
|
-
],
|
|
2
|
+
customSyntax: '@stylelint/postcss-css-in-js',
|
|
10
3
|
plugins: [],
|
|
11
4
|
extends: [
|
|
12
5
|
'stylelint-config-recommended',
|
|
13
6
|
'stylelint-config-styled-components',
|
|
14
7
|
],
|
|
15
|
-
rules: { 'selector-type-no-unknown': null },
|
|
8
|
+
rules: { 'selector-type-no-unknown': null, 'no-extra-semicolons': null },
|
|
16
9
|
};
|
|
@@ -2,11 +2,11 @@ module.exports = {
|
|
|
2
2
|
branches: [
|
|
3
3
|
'+([0-9])?(.{+([0-9]),x}).x',
|
|
4
4
|
'master',
|
|
5
|
-
'next',
|
|
6
5
|
'next-major',
|
|
7
6
|
{ name: 'beta', prerelease: true },
|
|
8
7
|
{ name: 'alpha', prerelease: true },
|
|
9
8
|
{ name: 'hotfix', prerelease: true },
|
|
9
|
+
{ name: 'next', prerelease: true },
|
|
10
10
|
],
|
|
11
11
|
plugins: [
|
|
12
12
|
'@semantic-release/commit-analyzer',
|
package/lib/server/csp.js
CHANGED
package/lib/server/util/index.js
CHANGED
|
@@ -3,9 +3,9 @@ const path = require('path');
|
|
|
3
3
|
|
|
4
4
|
const getCWD = () => process.cwd();
|
|
5
5
|
|
|
6
|
-
const allJS =
|
|
6
|
+
const allJS = /\.js$/;
|
|
7
7
|
|
|
8
|
-
const serviceEndpoints =
|
|
8
|
+
const serviceEndpoints = /\.endpoint\.js$/;
|
|
9
9
|
|
|
10
10
|
const getFilesMatching = (filePattern) => {
|
|
11
11
|
const getFiles = (dir) => {
|
|
@@ -62,6 +62,7 @@ const jestConfig = {
|
|
|
62
62
|
'.*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$': `${getRootDir()}/lib/testing/mocks/image.js`,
|
|
63
63
|
'.*\\.svg$': `${getRootDir()}/lib/testing/mocks/svg.js`,
|
|
64
64
|
'.*\\.(html)$': `${getRootDir()}/lib/testing/mocks/html.js`,
|
|
65
|
+
'^lodash-es$': 'lodash',
|
|
65
66
|
'@elliemae/pui-user-monitoring': `${getRootDir()}/lib/testing/mocks/pui-user-monitoring.js`,
|
|
66
67
|
'@elliemae/pui-app-loader': `${getRootDir()}/lib/testing/mocks/pui-app-loader.js`,
|
|
67
68
|
'@elliemae/pui-diagnostics': `${getRootDir()}/lib/testing/mocks/pui-diagnostics.js`,
|
|
@@ -74,7 +75,7 @@ const jestConfig = {
|
|
|
74
75
|
snapshotSerializers: [],
|
|
75
76
|
testResultsProcessor: 'jest-sonar-reporter',
|
|
76
77
|
transformIgnorePatterns: [
|
|
77
|
-
'node_modules/(?!(@elliemae/*)/)',
|
|
78
|
+
'node_modules/(?!(@elliemae/*|lodash-es/*)/)',
|
|
78
79
|
'node_modules/@elliemae/em-platform-document-viewer',
|
|
79
80
|
],
|
|
80
81
|
globals: {
|
package/lib/typescript/util.js
CHANGED
package/lib/webpack/helpers.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
/* eslint-disable max-lines */
|
|
2
1
|
const path = require('path');
|
|
3
2
|
const fs = require('fs');
|
|
4
3
|
const _ = require('lodash');
|
|
5
|
-
const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin');
|
|
6
4
|
|
|
7
5
|
let pathSep = path.sep;
|
|
8
6
|
if (pathSep === '\\')
|
|
@@ -89,7 +87,12 @@ const getAlias = () =>
|
|
|
89
87
|
'./node_modules',
|
|
90
88
|
);
|
|
91
89
|
|
|
92
|
-
const modulesToTranspile = [
|
|
90
|
+
const modulesToTranspile = [
|
|
91
|
+
'@elliemae/pui-*',
|
|
92
|
+
'@elliemae/ds-*',
|
|
93
|
+
'@dnd-kit/*',
|
|
94
|
+
'@elliemae/em-platform-document-viewer',
|
|
95
|
+
];
|
|
93
96
|
|
|
94
97
|
const getUserMonitoringFileName = () => {
|
|
95
98
|
const libName = 'emuiUserMonitoring';
|
|
@@ -119,6 +122,7 @@ const getAppLoaderFileName = () => {
|
|
|
119
122
|
|
|
120
123
|
const getDiagnosticsFileName = () => {
|
|
121
124
|
const libName = 'emuiDiagnostics';
|
|
125
|
+
// eslint-disable-next-line max-lines
|
|
122
126
|
const libPath = path.join(
|
|
123
127
|
process.cwd(),
|
|
124
128
|
'node_modules/@elliemae/pui-diagnostics/dist/public/js',
|
|
@@ -176,37 +180,10 @@ const isAppLoaderEnabled = () => process.env.APP_LOADER === 'true';
|
|
|
176
180
|
|
|
177
181
|
const getMediaPath = () => `assets/[name].[contenthash].[ext]`;
|
|
178
182
|
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
// Feel free to experiment with options for better result for you
|
|
184
|
-
plugins: [
|
|
185
|
-
['gifsicle', { interlaced: true }],
|
|
186
|
-
['jpegtran', { progressive: true }],
|
|
187
|
-
['optipng', { optimizationLevel: 5 }],
|
|
188
|
-
// Svgo configuration here https://github.com/svg/svgo#configuration
|
|
189
|
-
[
|
|
190
|
-
'svgo',
|
|
191
|
-
{
|
|
192
|
-
plugins: [
|
|
193
|
-
{
|
|
194
|
-
name: 'preset-default',
|
|
195
|
-
params: {
|
|
196
|
-
overrides: {
|
|
197
|
-
removeViewBox: false,
|
|
198
|
-
addAttributesToSVGElement: {
|
|
199
|
-
attributes: [{ xmlns: 'http://www.w3.org/2000/svg' }],
|
|
200
|
-
},
|
|
201
|
-
},
|
|
202
|
-
},
|
|
203
|
-
},
|
|
204
|
-
],
|
|
205
|
-
},
|
|
206
|
-
],
|
|
207
|
-
],
|
|
208
|
-
},
|
|
209
|
-
});
|
|
183
|
+
const isGoogleTagManagerEnabled = () => {
|
|
184
|
+
const appConfig = JSON.parse(getAppConfig());
|
|
185
|
+
return !!appConfig?.googleTagManager;
|
|
186
|
+
};
|
|
210
187
|
|
|
211
188
|
exports.excludeNodeModulesExcept = excludeNodeModulesExcept;
|
|
212
189
|
exports.getLibraryName = getLibraryName;
|
|
@@ -221,7 +198,6 @@ exports.isAppLoaderEnabled = isAppLoaderEnabled;
|
|
|
221
198
|
exports.LATEST_VERSION = LATEST_VERSION;
|
|
222
199
|
exports.getPaths = getPaths;
|
|
223
200
|
exports.getMediaPath = getMediaPath;
|
|
224
|
-
exports.getImageMinimizerPlugin = getImageMinimizerPlugin;
|
|
225
201
|
exports.resolveExtensions = [
|
|
226
202
|
'.wasm',
|
|
227
203
|
'.mjs',
|
|
@@ -232,3 +208,5 @@ exports.resolveExtensions = [
|
|
|
232
208
|
'.json',
|
|
233
209
|
];
|
|
234
210
|
exports.mainFields = ['browser', 'module', 'main'];
|
|
211
|
+
exports.isGoogleTagManagerEnabled = isGoogleTagManagerEnabled;
|
|
212
|
+
exports.ESBUILD_TARGET = 'es2020';
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
|
-
/**
|
|
3
|
-
* COMMON WEBPACK CONFIGURATION
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
2
|
const webpack = require('webpack');
|
|
7
|
-
const StyleLintPlugin = require('stylelint-webpack-plugin');
|
|
8
3
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
9
4
|
const PostcssPresetEnv = require('postcss-preset-env');
|
|
10
5
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
@@ -12,8 +7,6 @@ const DuplicatePackageCheckerPlugin = require('duplicate-package-checker-webpack
|
|
|
12
7
|
const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
|
|
13
8
|
const MomentLocalesPlugin = require('moment-locales-webpack-plugin');
|
|
14
9
|
const { WebpackManifestPlugin } = require('webpack-manifest-plugin');
|
|
15
|
-
const stylelintFormatter = require('stylelint-formatter-pretty');
|
|
16
|
-
// const ESLintPlugin = require('eslint-webpack-plugin');
|
|
17
10
|
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
|
18
11
|
const { ProvidePlugin } = require('webpack');
|
|
19
12
|
|
|
@@ -24,11 +17,9 @@ const {
|
|
|
24
17
|
getAlias,
|
|
25
18
|
getPaths,
|
|
26
19
|
getMediaPath,
|
|
27
|
-
|
|
20
|
+
ESBUILD_TARGET,
|
|
28
21
|
} = require('./helpers');
|
|
29
|
-
const {
|
|
30
|
-
|
|
31
|
-
const ESBUILD_TARGET = 'es2020';
|
|
22
|
+
const { isTypeScriptEnabled } = require('../typescript/util');
|
|
32
23
|
|
|
33
24
|
// get the application configuration
|
|
34
25
|
const devMode = process.env.NODE_ENV !== 'production';
|
|
@@ -61,14 +52,6 @@ const plugins = [
|
|
|
61
52
|
new ProvidePlugin({
|
|
62
53
|
React: 'react',
|
|
63
54
|
}),
|
|
64
|
-
new StyleLintPlugin({
|
|
65
|
-
emitError: true,
|
|
66
|
-
emitWarning: true,
|
|
67
|
-
allowEmptyInput: true,
|
|
68
|
-
failOnError: !devMode,
|
|
69
|
-
formatter: stylelintFormatter,
|
|
70
|
-
files: '(lib|app)/**/view/**/*.{js,ts,jsx,tsx}',
|
|
71
|
-
}),
|
|
72
55
|
new CopyWebpackPlugin({
|
|
73
56
|
patterns: [
|
|
74
57
|
{
|
|
@@ -117,10 +100,9 @@ const plugins = [
|
|
|
117
100
|
new DuplicatePackageCheckerPlugin(),
|
|
118
101
|
new MomentLocalesPlugin(),
|
|
119
102
|
new WebpackManifestPlugin(),
|
|
120
|
-
getImageMinimizerPlugin(),
|
|
121
103
|
];
|
|
122
104
|
|
|
123
|
-
if (
|
|
105
|
+
if (isTypeScriptEnabled()) {
|
|
124
106
|
plugins.push(
|
|
125
107
|
new ForkTsCheckerWebpackPlugin({
|
|
126
108
|
async: devMode,
|
|
@@ -144,6 +126,21 @@ module.exports = (options) => ({
|
|
|
144
126
|
optimization: options.optimization,
|
|
145
127
|
module: {
|
|
146
128
|
rules: [
|
|
129
|
+
{
|
|
130
|
+
test: /\.(jpe?g|png|gif|svg|ico)$/,
|
|
131
|
+
use: [
|
|
132
|
+
'file-loader',
|
|
133
|
+
{
|
|
134
|
+
loader: 'image-webpack-loader',
|
|
135
|
+
options: {
|
|
136
|
+
gifsicle: {
|
|
137
|
+
enabled: false,
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
enforce: 'pre',
|
|
143
|
+
},
|
|
147
144
|
{
|
|
148
145
|
test: /\.(js|ts|jsx|tsx)$/,
|
|
149
146
|
enforce: 'pre',
|
|
@@ -260,6 +257,7 @@ module.exports = (options) => ({
|
|
|
260
257
|
extensions: ['.wasm', '.mjs', '.ts', '.tsx', '.js', '.jsx', '.json'],
|
|
261
258
|
mainFields: ['browser', 'module', 'main'],
|
|
262
259
|
alias: {
|
|
260
|
+
'lodash-es': 'lodash',
|
|
263
261
|
...getAlias(),
|
|
264
262
|
...((options.resolve || {}).alias || {}),
|
|
265
263
|
},
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DEVELOPMENT WEBPACK CONFIGURATION
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
1
|
const path = require('path');
|
|
6
2
|
const webpack = require('webpack');
|
|
7
3
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
@@ -9,7 +5,12 @@ const CircularDependencyPlugin = require('circular-dependency-plugin');
|
|
|
9
5
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
10
6
|
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
|
|
11
7
|
|
|
12
|
-
const {
|
|
8
|
+
const {
|
|
9
|
+
getAssetPath,
|
|
10
|
+
isAppLoaderEnabled,
|
|
11
|
+
getPaths,
|
|
12
|
+
isGoogleTagManagerEnabled,
|
|
13
|
+
} = require('./helpers');
|
|
13
14
|
const baseConfigFactory = require('./webpack.base.babel');
|
|
14
15
|
|
|
15
16
|
const {
|
|
@@ -25,6 +26,14 @@ const {
|
|
|
25
26
|
const devConfig = {
|
|
26
27
|
mode: 'development',
|
|
27
28
|
|
|
29
|
+
cache: {
|
|
30
|
+
type: 'filesystem',
|
|
31
|
+
allowCollectingMemory: true,
|
|
32
|
+
buildDependencies: {
|
|
33
|
+
config: [__filename],
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
|
|
28
37
|
// Add hot reloading in development
|
|
29
38
|
entry: {
|
|
30
39
|
app: [
|
|
@@ -83,6 +92,7 @@ const devConfig = {
|
|
|
83
92
|
appLoaderScriptPath,
|
|
84
93
|
diagnosticsScriptPath,
|
|
85
94
|
encwLoaderScriptPath,
|
|
95
|
+
googleTagManager: isGoogleTagManagerEnabled(),
|
|
86
96
|
},
|
|
87
97
|
}),
|
|
88
98
|
new CircularDependencyPlugin({
|
|
@@ -4,15 +4,12 @@ const webpack = require('webpack');
|
|
|
4
4
|
const {
|
|
5
5
|
optimize: { LimitChunkCountPlugin },
|
|
6
6
|
} = require('webpack');
|
|
7
|
-
const StyleLintPlugin = require('stylelint-webpack-plugin');
|
|
8
7
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
9
8
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
10
9
|
const PostcssPresetEnv = require('postcss-preset-env');
|
|
11
10
|
const DuplicatePackageCheckerPlugin = require('duplicate-package-checker-webpack-plugin');
|
|
12
11
|
const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
|
|
13
12
|
const MomentLocalesPlugin = require('moment-locales-webpack-plugin');
|
|
14
|
-
const stylelintFormatter = require('stylelint-formatter-pretty');
|
|
15
|
-
// const ESLintPlugin = require('eslint-webpack-plugin');
|
|
16
13
|
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
|
|
17
14
|
|
|
18
15
|
const {
|
|
@@ -22,10 +19,9 @@ const {
|
|
|
22
19
|
modulesToTranspile,
|
|
23
20
|
getAssetPath,
|
|
24
21
|
getAlias,
|
|
25
|
-
getImageMinimizerPlugin,
|
|
26
22
|
getMediaPath,
|
|
27
23
|
} = require('./helpers');
|
|
28
|
-
const {
|
|
24
|
+
const { isTypeScriptEnabled } = require('../typescript/util');
|
|
29
25
|
|
|
30
26
|
const devMode = process.env.NODE_ENV !== 'production';
|
|
31
27
|
const minicssLoader = {
|
|
@@ -46,15 +42,6 @@ const plugins = [
|
|
|
46
42
|
APP_CONFIG: getAppConfig(true),
|
|
47
43
|
}),
|
|
48
44
|
new CaseSensitivePathsPlugin(),
|
|
49
|
-
// new ESLintPlugin(),
|
|
50
|
-
new StyleLintPlugin({
|
|
51
|
-
emitError: true,
|
|
52
|
-
emitWarning: true,
|
|
53
|
-
allowEmptyInput: true,
|
|
54
|
-
failOnError: !devMode,
|
|
55
|
-
formatter: stylelintFormatter,
|
|
56
|
-
files: '(lib|app)/**/view/**/*.{js,ts,jsx,tsx}',
|
|
57
|
-
}),
|
|
58
45
|
new CopyWebpackPlugin({
|
|
59
46
|
patterns: [
|
|
60
47
|
{
|
|
@@ -73,10 +60,9 @@ const plugins = [
|
|
|
73
60
|
maxChunks: 1,
|
|
74
61
|
}),
|
|
75
62
|
new MomentLocalesPlugin(),
|
|
76
|
-
getImageMinimizerPlugin(),
|
|
77
63
|
];
|
|
78
64
|
|
|
79
|
-
if (
|
|
65
|
+
if (isTypeScriptEnabled()) {
|
|
80
66
|
plugins.push(
|
|
81
67
|
new ForkTsCheckerWebpackPlugin({
|
|
82
68
|
async: devMode,
|
|
@@ -101,6 +87,21 @@ module.exports = (options) => ({
|
|
|
101
87
|
optimization: options.optimization,
|
|
102
88
|
module: {
|
|
103
89
|
rules: [
|
|
90
|
+
{
|
|
91
|
+
test: /\.(jpe?g|png|gif|svg|ico)$/,
|
|
92
|
+
use: [
|
|
93
|
+
'file-loader',
|
|
94
|
+
{
|
|
95
|
+
loader: 'image-webpack-loader',
|
|
96
|
+
options: {
|
|
97
|
+
gifsicle: {
|
|
98
|
+
enabled: false,
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
enforce: 'pre',
|
|
104
|
+
},
|
|
104
105
|
{
|
|
105
106
|
test: /^(?!.*\.exec\.js$).*\.(js|ts|jsx|tsx)$/,
|
|
106
107
|
enforce: 'pre',
|
|
@@ -136,7 +137,21 @@ module.exports = (options) => ({
|
|
|
136
137
|
{
|
|
137
138
|
test: /\.exec\.js$/,
|
|
138
139
|
exclude: /node_modules/,
|
|
139
|
-
use: [
|
|
140
|
+
use: [
|
|
141
|
+
{
|
|
142
|
+
loader: 'imports-loader',
|
|
143
|
+
options: {
|
|
144
|
+
wrapper: {
|
|
145
|
+
thisArg: 'window',
|
|
146
|
+
args: {
|
|
147
|
+
module: false,
|
|
148
|
+
exports: false,
|
|
149
|
+
define: false,
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
],
|
|
140
155
|
},
|
|
141
156
|
{
|
|
142
157
|
test: /\.css$/,
|
|
@@ -212,6 +227,7 @@ module.exports = (options) => ({
|
|
|
212
227
|
extensions: ['.wasm', '.mjs', '.ts', '.tsx', '.js', '.jsx', '.json'],
|
|
213
228
|
mainFields: ['browser', 'module', 'main'],
|
|
214
229
|
alias: {
|
|
230
|
+
'lodash-es': 'lodash',
|
|
215
231
|
...getAlias(),
|
|
216
232
|
...((options.resolve || {}).alias || {}),
|
|
217
233
|
},
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
2
|
const path = require('path');
|
|
3
3
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
4
|
-
// const WebpackPwaManifest = require('webpack-pwa-manifest');
|
|
5
4
|
const { GenerateSW } = require('workbox-webpack-plugin');
|
|
6
5
|
const CompressionPlugin = require('compression-webpack-plugin');
|
|
7
6
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
@@ -15,6 +14,8 @@ const {
|
|
|
15
14
|
LATEST_VERSION,
|
|
16
15
|
getPaths,
|
|
17
16
|
getAppVersion,
|
|
17
|
+
isGoogleTagManagerEnabled,
|
|
18
|
+
ESBUILD_TARGET,
|
|
18
19
|
} = require('./helpers');
|
|
19
20
|
|
|
20
21
|
const getProdConfig = ({ latestVersion = true } = {}) => {
|
|
@@ -23,12 +24,10 @@ const getProdConfig = ({ latestVersion = true } = {}) => {
|
|
|
23
24
|
return {
|
|
24
25
|
mode: 'production',
|
|
25
26
|
|
|
26
|
-
// In production, we skip all hot-reloading stuff
|
|
27
27
|
entry: {
|
|
28
28
|
app: path.join(process.cwd(), 'app/index'),
|
|
29
29
|
},
|
|
30
30
|
|
|
31
|
-
// eslint-disable-next-line max-len
|
|
32
31
|
// Utilize long-term caching by adding content hashes (not compilation hashes) to compiled assets
|
|
33
32
|
output: {
|
|
34
33
|
path: buildPath,
|
|
@@ -42,7 +41,7 @@ const getProdConfig = ({ latestVersion = true } = {}) => {
|
|
|
42
41
|
moduleIds: 'deterministic',
|
|
43
42
|
minimizer: [
|
|
44
43
|
new ESBuildMinifyPlugin({
|
|
45
|
-
target:
|
|
44
|
+
target: ESBUILD_TARGET,
|
|
46
45
|
css: true,
|
|
47
46
|
}),
|
|
48
47
|
],
|
|
@@ -78,29 +77,6 @@ const getProdConfig = ({ latestVersion = true } = {}) => {
|
|
|
78
77
|
minRatio: Number.MAX_SAFE_INTEGER,
|
|
79
78
|
}),
|
|
80
79
|
|
|
81
|
-
// new WebpackPwaManifest({
|
|
82
|
-
// name: 'Ellie Mae UI Boilerplate',
|
|
83
|
-
// short_name: 'EM BP',
|
|
84
|
-
// description: 'EllieMae UI Boilerplate-based project!',
|
|
85
|
-
// background_color: '#fafafa',
|
|
86
|
-
// theme_color: '#b1624d',
|
|
87
|
-
// inject: true,
|
|
88
|
-
// ios: true,
|
|
89
|
-
// icons: [
|
|
90
|
-
// {
|
|
91
|
-
// src: path.resolve('app/view/images/icon-512x512.png'),
|
|
92
|
-
// destination: path.join('media', 'images'),
|
|
93
|
-
// sizes: [72, 96, 128, 144, 192, 384, 512],
|
|
94
|
-
// },
|
|
95
|
-
// {
|
|
96
|
-
// src: path.resolve('app/view/images/icon-512x512.png'),
|
|
97
|
-
// sizes: [120, 152, 167, 180],
|
|
98
|
-
// ios: true,
|
|
99
|
-
// destination: path.join('media', 'images'),
|
|
100
|
-
// },
|
|
101
|
-
// ],
|
|
102
|
-
// }),
|
|
103
|
-
|
|
104
80
|
new BundleAnalyzerPlugin({
|
|
105
81
|
analyzerMode: 'static',
|
|
106
82
|
reportFilename: path.join(process.cwd(), 'reports/bundle-stats.html'),
|
|
@@ -158,6 +134,7 @@ const htmlWebpackPlugin = new HtmlWebpackPlugin({
|
|
|
158
134
|
appLoaderScriptPath,
|
|
159
135
|
diagnosticsScriptPath,
|
|
160
136
|
encwLoaderScriptPath,
|
|
137
|
+
googleTagManager: isGoogleTagManagerEnabled(),
|
|
161
138
|
},
|
|
162
139
|
});
|
|
163
140
|
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
/* eslint-disable max-lines
|
|
1
|
+
/* eslint-disable max-lines */
|
|
2
2
|
const webpack = require('webpack');
|
|
3
3
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
4
4
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
5
|
-
const StyleLintPlugin = require('stylelint-webpack-plugin');
|
|
6
|
-
const stylelintFormatter = require('stylelint-formatter-pretty');
|
|
7
5
|
const CompressionPlugin = require('compression-webpack-plugin');
|
|
8
6
|
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
|
9
7
|
const {
|
|
@@ -15,13 +13,12 @@ const {
|
|
|
15
13
|
resolveExtensions,
|
|
16
14
|
mainFields,
|
|
17
15
|
getMediaPath,
|
|
18
|
-
getImageMinimizerPlugin,
|
|
19
16
|
} = require('./helpers');
|
|
20
17
|
|
|
21
18
|
const IS_APP = isApp();
|
|
22
19
|
const CWD = process.cwd();
|
|
23
20
|
|
|
24
|
-
const getAdditionalPlugins = (
|
|
21
|
+
const getAdditionalPlugins = () => [
|
|
25
22
|
new webpack.DefinePlugin({
|
|
26
23
|
APP_CONFIG: getAppConfig(),
|
|
27
24
|
}),
|
|
@@ -51,15 +48,6 @@ const getAdditionalPlugins = (isProd) => [
|
|
|
51
48
|
},
|
|
52
49
|
],
|
|
53
50
|
}),
|
|
54
|
-
new StyleLintPlugin({
|
|
55
|
-
emitError: true,
|
|
56
|
-
emitWarning: true,
|
|
57
|
-
allowEmptyInput: true,
|
|
58
|
-
failOnError: isProd,
|
|
59
|
-
formatter: stylelintFormatter,
|
|
60
|
-
files: '(lib|app)/**/view/**/*.{js,ts,jsx,tsx}',
|
|
61
|
-
}),
|
|
62
|
-
getImageMinimizerPlugin(),
|
|
63
51
|
];
|
|
64
52
|
|
|
65
53
|
const compressionPlugin = new CompressionPlugin({
|
|
@@ -71,6 +59,21 @@ const compressionPlugin = new CompressionPlugin({
|
|
|
71
59
|
});
|
|
72
60
|
|
|
73
61
|
const getModulePreRules = () => [
|
|
62
|
+
{
|
|
63
|
+
test: /\.(jpe?g|png|gif|svg|ico)$/,
|
|
64
|
+
use: [
|
|
65
|
+
'file-loader',
|
|
66
|
+
{
|
|
67
|
+
loader: 'image-webpack-loader',
|
|
68
|
+
options: {
|
|
69
|
+
gifsicle: {
|
|
70
|
+
enabled: false,
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
enforce: 'pre',
|
|
76
|
+
},
|
|
74
77
|
{
|
|
75
78
|
test: /\.(js|ts|jsx|tsx)$/,
|
|
76
79
|
enforce: 'pre',
|
|
@@ -145,7 +148,7 @@ exports.webpackFinal = async (config, { configType }) => {
|
|
|
145
148
|
config.module.rules.push(...getModulePreRules());
|
|
146
149
|
config.module.rules.unshift(...getModuleRules(isProd));
|
|
147
150
|
|
|
148
|
-
config.plugins.push(...getAdditionalPlugins(
|
|
151
|
+
config.plugins.push(...getAdditionalPlugins());
|
|
149
152
|
if (isProd) {
|
|
150
153
|
config.plugins.push(compressionPlugin);
|
|
151
154
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/pui-cli",
|
|
3
|
-
"version": "6.0.0-beta.
|
|
3
|
+
"version": "6.0.0-beta.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "EllieMae Platform UI CLI",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -47,153 +47,155 @@
|
|
|
47
47
|
"indent": 4
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@babel/cli": "~7.
|
|
51
|
-
"@babel/core": "~7.
|
|
52
|
-
"@babel/
|
|
53
|
-
"@babel/
|
|
54
|
-
"@babel/plugin-proposal-
|
|
50
|
+
"@babel/cli": "~7.16.0",
|
|
51
|
+
"@babel/core": "~7.16.0",
|
|
52
|
+
"@babel/eslint-parser": "~7.16.3",
|
|
53
|
+
"@babel/node": "~7.16.0",
|
|
54
|
+
"@babel/plugin-proposal-class-properties": "~7.16.0",
|
|
55
|
+
"@babel/plugin-proposal-export-default-from": "~7.16.0",
|
|
55
56
|
"@babel/plugin-syntax-dynamic-import": "~7.8.3",
|
|
56
|
-
"@babel/plugin-transform-modules-commonjs": "~7.
|
|
57
|
-
"@babel/plugin-transform-react-constant-elements": "~7.
|
|
58
|
-
"@babel/plugin-transform-react-inline-elements": "~7.
|
|
59
|
-
"@babel/plugin-transform-react-jsx-source": "~7.
|
|
60
|
-
"@babel/plugin-transform-runtime": "~7.
|
|
61
|
-
"@babel/preset-env": "~7.
|
|
62
|
-
"@babel/preset-react": "~7.
|
|
63
|
-
"@babel/preset-typescript": "~7.
|
|
64
|
-
"@babel/runtime": "~7.
|
|
65
|
-
"@commitlint/cli": "~
|
|
66
|
-
"@commitlint/config-conventional": "~
|
|
57
|
+
"@babel/plugin-transform-modules-commonjs": "~7.16.0",
|
|
58
|
+
"@babel/plugin-transform-react-constant-elements": "~7.16.0",
|
|
59
|
+
"@babel/plugin-transform-react-inline-elements": "~7.16.0",
|
|
60
|
+
"@babel/plugin-transform-react-jsx-source": "~7.16.0",
|
|
61
|
+
"@babel/plugin-transform-runtime": "~7.16.4",
|
|
62
|
+
"@babel/preset-env": "~7.16.4",
|
|
63
|
+
"@babel/preset-react": "~7.16.0",
|
|
64
|
+
"@babel/preset-typescript": "~7.16.0",
|
|
65
|
+
"@babel/runtime": "~7.16.3",
|
|
66
|
+
"@commitlint/cli": "~15.0.0",
|
|
67
|
+
"@commitlint/config-conventional": "~15.0.0",
|
|
67
68
|
"@elliemae/browserslist-config-elliemae": "~1.2.1",
|
|
68
|
-
"@pmmmwh/react-refresh-webpack-plugin": "~0.5.
|
|
69
|
-
"@semantic-release/changelog": "~6.0.
|
|
70
|
-
"@semantic-release/exec": "~6.0.
|
|
71
|
-
"@semantic-release/git": "~10.0.
|
|
72
|
-
"@storybook/addon-a11y": "~6.3.
|
|
73
|
-
"@storybook/addon-actions": "~6.3.
|
|
74
|
-
"@storybook/addon-backgrounds": "~6.3.
|
|
69
|
+
"@pmmmwh/react-refresh-webpack-plugin": "~0.5.2",
|
|
70
|
+
"@semantic-release/changelog": "~6.0.1",
|
|
71
|
+
"@semantic-release/exec": "~6.0.2",
|
|
72
|
+
"@semantic-release/git": "~10.0.1",
|
|
73
|
+
"@storybook/addon-a11y": "~6.3.12",
|
|
74
|
+
"@storybook/addon-actions": "~6.3.12",
|
|
75
|
+
"@storybook/addon-backgrounds": "~6.3.12",
|
|
75
76
|
"@storybook/addon-console": "~1.2.3",
|
|
76
|
-
"@storybook/addon-controls": "~6.3.
|
|
77
|
-
"@storybook/addon-docs": "~6.3.
|
|
77
|
+
"@storybook/addon-controls": "~6.3.12",
|
|
78
|
+
"@storybook/addon-docs": "~6.3.12",
|
|
78
79
|
"@storybook/addon-events": "~6.2.9",
|
|
79
80
|
"@storybook/addon-knobs": "~6.3.1",
|
|
80
|
-
"@storybook/addon-links": "~6.3.
|
|
81
|
-
"@storybook/addon-storysource": "~6.3.
|
|
82
|
-
"@storybook/addon-toolbars": "~6.3.
|
|
83
|
-
"@storybook/addon-viewport": "~6.3.
|
|
84
|
-
"@storybook/addons": "~6.3.
|
|
85
|
-
"@storybook/builder-webpack5": "~6.3.
|
|
86
|
-
"@storybook/manager-webpack5": "~6.3.
|
|
87
|
-
"@storybook/react": "~6.3.
|
|
88
|
-
"@storybook/theming": "~6.3.
|
|
81
|
+
"@storybook/addon-links": "~6.3.12",
|
|
82
|
+
"@storybook/addon-storysource": "~6.3.12",
|
|
83
|
+
"@storybook/addon-toolbars": "~6.3.12",
|
|
84
|
+
"@storybook/addon-viewport": "~6.3.12",
|
|
85
|
+
"@storybook/addons": "~6.3.12",
|
|
86
|
+
"@storybook/builder-webpack5": "~6.3.12",
|
|
87
|
+
"@storybook/manager-webpack5": "~6.3.12",
|
|
88
|
+
"@storybook/react": "~6.3.12",
|
|
89
|
+
"@storybook/theming": "~6.3.12",
|
|
90
|
+
"@stylelint/postcss-css-in-js": "~0.37.2",
|
|
89
91
|
"@svgr/webpack": "~5.5.0",
|
|
90
|
-
"@testing-library/jest-dom": "~5.
|
|
92
|
+
"@testing-library/jest-dom": "~5.15.1",
|
|
91
93
|
"@testing-library/react": "~12.1.2",
|
|
92
94
|
"@testing-library/react-hooks": "~7.0.2",
|
|
93
|
-
"@types/jest": "~27.0.
|
|
94
|
-
"@types/node": "~16.10
|
|
95
|
+
"@types/jest": "~27.0.3",
|
|
96
|
+
"@types/node": "~16.11.10",
|
|
95
97
|
"@types/rimraf": "~3.0.2",
|
|
96
98
|
"@types/testing-library__jest-dom": "~5.14.1",
|
|
97
|
-
"@typescript-eslint/eslint-plugin": "~4.
|
|
98
|
-
"@typescript-eslint/parser": "~4.
|
|
99
|
-
"autoprefixer": "~10.
|
|
100
|
-
"axe-core": "~4.3.
|
|
101
|
-
"babel-
|
|
102
|
-
"babel-loader": "~8.2.2",
|
|
99
|
+
"@typescript-eslint/eslint-plugin": "~5.4.0",
|
|
100
|
+
"@typescript-eslint/parser": "~5.4.0",
|
|
101
|
+
"autoprefixer": "~10.4.0",
|
|
102
|
+
"axe-core": "~4.3.5",
|
|
103
|
+
"babel-loader": "~8.2.3",
|
|
103
104
|
"babel-plugin-add-import-extension": "1.5.1",
|
|
105
|
+
"babel-plugin-date-fns": "~2.0.0",
|
|
104
106
|
"babel-plugin-dynamic-import-node": "~2.3.3",
|
|
105
107
|
"babel-plugin-import-remove-resource-query": "~1.0.0",
|
|
108
|
+
"babel-plugin-lodash": "~3.3.4",
|
|
106
109
|
"babel-plugin-module-resolver": "~4.1.0",
|
|
107
|
-
"babel-plugin-
|
|
110
|
+
"babel-plugin-source-map-support": "~2.1.3",
|
|
111
|
+
"babel-plugin-styled-components": "~2.0.1",
|
|
108
112
|
"babel-plugin-transform-react-remove-prop-types": "~0.4.24",
|
|
109
113
|
"babel-plugin-transform-remove-console": "~6.9.4",
|
|
110
114
|
"babel-plugin-transform-strip-block": "~0.0.4",
|
|
111
115
|
"body-parser": "~1.19.0",
|
|
112
|
-
"browserslist": "~4.
|
|
116
|
+
"browserslist": "~4.18.1",
|
|
113
117
|
"bundlesize": "~0.18.1",
|
|
114
118
|
"case-sensitive-paths-webpack-plugin": "~2.4.0",
|
|
115
119
|
"chalk": "~4.1.2",
|
|
116
120
|
"circular-dependency-plugin": "~5.2.2",
|
|
117
121
|
"classnames": "~2.3.1",
|
|
118
|
-
"compare-versions": "~
|
|
122
|
+
"compare-versions": "~4.1.1",
|
|
119
123
|
"compression": "~1.7.4",
|
|
120
|
-
"compression-webpack-plugin": "~9.0.
|
|
121
|
-
"copy-webpack-plugin": "~
|
|
124
|
+
"compression-webpack-plugin": "~9.0.1",
|
|
125
|
+
"copy-webpack-plugin": "~10.0.0",
|
|
122
126
|
"cors": "~2.8.5",
|
|
123
127
|
"cross-env": "~7.0.3",
|
|
124
|
-
"css-loader": "~6.
|
|
125
|
-
"css-minimizer-webpack-plugin": "~3.
|
|
128
|
+
"css-loader": "~6.5.1",
|
|
129
|
+
"css-minimizer-webpack-plugin": "~3.2.0",
|
|
126
130
|
"depcheck": "~1.4.2",
|
|
127
131
|
"docdash": "~1.2.0",
|
|
128
132
|
"dotenv": "~10.0.0",
|
|
129
133
|
"dotenv-webpack": "~7.0.3",
|
|
130
134
|
"duplicate-package-checker-webpack-plugin": "~3.0.0",
|
|
131
|
-
"esbuild-loader": "~2.
|
|
132
|
-
"eslint": "~
|
|
135
|
+
"esbuild-loader": "~2.16.0",
|
|
136
|
+
"eslint": "~8.3.0",
|
|
133
137
|
"eslint-config-airbnb": "~18.2.1",
|
|
134
|
-
"eslint-config-airbnb-base": "~
|
|
135
|
-
"eslint-config-airbnb-typescript": "~
|
|
138
|
+
"eslint-config-airbnb-base": "~15.0.0",
|
|
139
|
+
"eslint-config-airbnb-typescript": "~15.0.0",
|
|
136
140
|
"eslint-config-prettier": "~8.3.0",
|
|
137
141
|
"eslint-config-react-app": "~6.0.0",
|
|
138
142
|
"eslint-import-resolver-babel-module": "~5.3.1",
|
|
139
143
|
"eslint-import-resolver-typescript": "~2.5.0",
|
|
140
|
-
"eslint-import-resolver-webpack": "~0.13.
|
|
141
|
-
"eslint-loader": "~4.0.2",
|
|
144
|
+
"eslint-import-resolver-webpack": "~0.13.2",
|
|
142
145
|
"eslint-plugin-compat": "~3.13.0",
|
|
143
146
|
"eslint-plugin-eslint-comments": "~3.2.0",
|
|
144
|
-
"eslint-plugin-import": "~2.
|
|
145
|
-
"eslint-plugin-jest": "~
|
|
146
|
-
"eslint-plugin-jsdoc": "~
|
|
147
|
-
"eslint-plugin-jsx-a11y": "~6.
|
|
148
|
-
"eslint-plugin-mdx": "~1.
|
|
147
|
+
"eslint-plugin-import": "~2.25.3",
|
|
148
|
+
"eslint-plugin-jest": "~25.3.0",
|
|
149
|
+
"eslint-plugin-jsdoc": "~37.0.3",
|
|
150
|
+
"eslint-plugin-jsx-a11y": "~6.5.1",
|
|
151
|
+
"eslint-plugin-mdx": "~1.16.0",
|
|
149
152
|
"eslint-plugin-prettier": "~4.0.0",
|
|
150
|
-
"eslint-plugin-react": "~7.
|
|
151
|
-
"eslint-plugin-react-hooks": "~4.
|
|
153
|
+
"eslint-plugin-react": "~7.27.1",
|
|
154
|
+
"eslint-plugin-react-hooks": "~4.3.0",
|
|
152
155
|
"eslint-plugin-redux-saga": "~1.2.1",
|
|
153
|
-
"eslint-plugin-testing-library": "~
|
|
156
|
+
"eslint-plugin-testing-library": "~5.0.0",
|
|
154
157
|
"eslint-plugin-wdio": "~7.4.2",
|
|
155
|
-
"eslint-webpack-plugin": "~3.0.1",
|
|
156
158
|
"execa": "~5.1.1",
|
|
157
159
|
"express": "~4.17.1",
|
|
158
|
-
"express-pino-logger": "~
|
|
160
|
+
"express-pino-logger": "~7.0.0",
|
|
159
161
|
"file-loader": "~6.2.0",
|
|
160
|
-
"fork-ts-checker-webpack-plugin": "~6.
|
|
162
|
+
"fork-ts-checker-webpack-plugin": "~6.4.2",
|
|
161
163
|
"helmet-csp": "~3.4.0",
|
|
162
|
-
"html-loader": "~
|
|
163
|
-
"html-webpack-plugin": "~5.
|
|
164
|
-
"http-server": "~
|
|
165
|
-
"husky": "~7.0.
|
|
164
|
+
"html-loader": "~3.0.1",
|
|
165
|
+
"html-webpack-plugin": "~5.5.0",
|
|
166
|
+
"http-server": "~14.0.0",
|
|
167
|
+
"husky": "~7.0.4",
|
|
166
168
|
"husky-init": "~7.0.0",
|
|
167
|
-
"image-
|
|
168
|
-
"
|
|
169
|
-
"imagemin-jpegtran": "~7.0.0",
|
|
170
|
-
"imagemin-optipng": "~8.0.0",
|
|
171
|
-
"imagemin-svgo": "~10.0.0",
|
|
172
|
-
"imports-loader": "~3.0.0",
|
|
169
|
+
"image-webpack-loader": "~8.0.1",
|
|
170
|
+
"imports-loader": "~3.1.1",
|
|
173
171
|
"ip": "~1.1.5",
|
|
174
172
|
"jest-axe": "~5.0.1",
|
|
175
|
-
"jest-cli": "~27.
|
|
173
|
+
"jest-cli": "~27.3.1",
|
|
176
174
|
"jest-sonar-reporter": "~2.0.0",
|
|
177
|
-
"jest-styled-components": "~7.0.
|
|
175
|
+
"jest-styled-components": "~7.0.8",
|
|
178
176
|
"jscodeshift": "~0.13.0",
|
|
179
177
|
"jsdoc": "~3.6.7",
|
|
180
|
-
"lint-staged": "~
|
|
181
|
-
"mini-css-extract-plugin": "~2.4.
|
|
178
|
+
"lint-staged": "~12.1.2",
|
|
179
|
+
"mini-css-extract-plugin": "~2.4.5",
|
|
182
180
|
"minimist": "~1.2.5",
|
|
183
181
|
"moment": "~2.29.1",
|
|
184
182
|
"moment-locales-webpack-plugin": "~1.2.0",
|
|
185
183
|
"msw": "~0.35.0",
|
|
186
|
-
"node-plop": "~0.26.
|
|
187
|
-
"nodemon": "~2.0.
|
|
188
|
-
"npm-check-updates": "
|
|
184
|
+
"node-plop": "~0.26.3",
|
|
185
|
+
"nodemon": "~2.0.15",
|
|
186
|
+
"npm-check-updates": "12.0.2",
|
|
189
187
|
"null-loader": "~4.0.1",
|
|
190
|
-
"pino": "~
|
|
191
|
-
"pino-pretty": "~7.0
|
|
188
|
+
"pino": "~7.4.1",
|
|
189
|
+
"pino-pretty": "~7.2.0",
|
|
192
190
|
"pinst": "~2.1.6",
|
|
193
|
-
"plop": "~2.7.
|
|
194
|
-
"postcss": "~8.
|
|
195
|
-
"postcss-
|
|
196
|
-
"postcss-
|
|
191
|
+
"plop": "~2.7.6",
|
|
192
|
+
"postcss": "~8.4.1",
|
|
193
|
+
"postcss-jsx": "~0.36.4",
|
|
194
|
+
"postcss-html": "~1.3.0",
|
|
195
|
+
"postcss-markdown": "~1.2.0",
|
|
196
|
+
"postcss-syntax": "~0.36.2",
|
|
197
|
+
"postcss-loader": "~6.2.0",
|
|
198
|
+
"postcss-preset-env": "~7.0.1",
|
|
197
199
|
"prettier": "~2.4.1",
|
|
198
200
|
"pug": "~3.0.2",
|
|
199
201
|
"pug-loader": "~2.4.0",
|
|
@@ -201,52 +203,51 @@
|
|
|
201
203
|
"raw-loader": "~4.0.2",
|
|
202
204
|
"react-axe": "~3.5.4",
|
|
203
205
|
"react-docgen": "~5.4.0",
|
|
204
|
-
"react-refresh": "~0.
|
|
206
|
+
"react-refresh": "~0.11.0",
|
|
205
207
|
"react-test-renderer": "~17.0.2",
|
|
206
208
|
"resize-observer-polyfill": "~1.5.1",
|
|
207
209
|
"rimraf": "~3.0.2",
|
|
208
210
|
"script-loader": "~0.7.2",
|
|
209
|
-
"semantic-release": "~18.0.
|
|
211
|
+
"semantic-release": "~18.0.1",
|
|
210
212
|
"shelljs": "~0.8.4",
|
|
211
213
|
"slackify-markdown": "~4.3.0",
|
|
212
214
|
"storybook-react-router": "~1.0.8",
|
|
213
|
-
"
|
|
214
|
-
"
|
|
215
|
-
"stylelint
|
|
215
|
+
"storybook-addon-turbo-build": "~1.0.1",
|
|
216
|
+
"style-loader": "~3.3.1",
|
|
217
|
+
"stylelint": "~14.1.0",
|
|
218
|
+
"stylelint-config-recommended": "~6.0.0",
|
|
216
219
|
"stylelint-config-styled-components": "~0.1.1",
|
|
217
220
|
"stylelint-custom-processor-loader": "~0.6.0",
|
|
218
|
-
"stylelint-formatter-pretty": "~2.1.1",
|
|
219
221
|
"stylelint-processor-styled-components": "~1.10.0",
|
|
220
|
-
"stylelint-webpack-plugin": "~3.0.1",
|
|
221
222
|
"svg-url-loader": "~7.1.1",
|
|
222
|
-
"svgo": "~2.
|
|
223
|
-
"terser-webpack-plugin": "~5.2.
|
|
224
|
-
"ts-node": "~10.
|
|
225
|
-
"tsc-alias": "~1.
|
|
226
|
-
"tsc-files": "~1.1.
|
|
227
|
-
"tsconfig-paths": "~3.
|
|
228
|
-
"tsconfig-paths-webpack-plugin": "~3.5.
|
|
229
|
-
"type-fest": "~2.
|
|
230
|
-
"typescript": "~4.
|
|
223
|
+
"svgo": "~2.8.0",
|
|
224
|
+
"terser-webpack-plugin": "~5.2.5",
|
|
225
|
+
"ts-node": "~10.4.0",
|
|
226
|
+
"tsc-alias": "~1.4.1",
|
|
227
|
+
"tsc-files": "~1.1.3",
|
|
228
|
+
"tsconfig-paths": "~3.12.0",
|
|
229
|
+
"tsconfig-paths-webpack-plugin": "~3.5.2",
|
|
230
|
+
"type-fest": "~2.6.0",
|
|
231
|
+
"typescript": "~4.5.2",
|
|
231
232
|
"update-notifier": "~5.1.0",
|
|
232
233
|
"url-loader": "~4.1.1",
|
|
233
234
|
"uuid": "~8.3.2",
|
|
234
|
-
"webpack": "~5.
|
|
235
|
-
"webpack-bundle-analyzer": "~4.
|
|
236
|
-
"webpack-cli": "~4.9.
|
|
237
|
-
"webpack-dev-middleware": "~5.2.
|
|
235
|
+
"webpack": "~5.64.3",
|
|
236
|
+
"webpack-bundle-analyzer": "~4.5.0",
|
|
237
|
+
"webpack-cli": "~4.9.1",
|
|
238
|
+
"webpack-dev-middleware": "~5.2.2",
|
|
238
239
|
"webpack-hot-middleware": "~2.25.1",
|
|
239
240
|
"webpack-manifest-plugin": "~4.0.2",
|
|
240
241
|
"webpack-merge": "~5.8.0",
|
|
241
242
|
"webpack-pwa-manifest": "~4.3.0",
|
|
242
243
|
"webpack-strip-block": "~0.3.0",
|
|
243
244
|
"whatwg-fetch": "~3.6.2",
|
|
244
|
-
"workbox-webpack-plugin": "~6.
|
|
245
|
+
"workbox-webpack-plugin": "~6.4.1",
|
|
245
246
|
"yargs": "~17.2.1"
|
|
246
247
|
},
|
|
247
248
|
"devDependencies": {
|
|
248
|
-
"redux": "~4.1.
|
|
249
|
+
"redux": "~4.1.2",
|
|
249
250
|
"redux-saga": "~1.1.3",
|
|
250
|
-
"styled-components": "~5.3.
|
|
251
|
+
"styled-components": "~5.3.3"
|
|
251
252
|
}
|
|
252
253
|
}
|