@elliemae/pui-cli 6.5.0 → 6.5.4
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.
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const { sync: findUp } = require('find-up');
|
|
3
|
+
|
|
4
|
+
const WORKSPACE_DIR_ENV_VAR = 'NPM_CONFIG_WORKSPACE_DIR';
|
|
5
|
+
const WORKSPACE_MANIFEST_FILENAME = 'pnpm-workspace.yaml';
|
|
6
|
+
|
|
7
|
+
exports.findPnpmWorkspaceDir = (cwd) => {
|
|
8
|
+
const workspaceManifestDirEnvVar =
|
|
9
|
+
process.env[WORKSPACE_DIR_ENV_VAR] ??
|
|
10
|
+
process.env[WORKSPACE_DIR_ENV_VAR.toLowerCase()];
|
|
11
|
+
const workspaceManifestLocation = workspaceManifestDirEnvVar
|
|
12
|
+
? path.join(workspaceManifestDirEnvVar, 'pnpm-workspace.yaml')
|
|
13
|
+
: findUp([WORKSPACE_MANIFEST_FILENAME, 'pnpm-workspace.yml'], { cwd });
|
|
14
|
+
return workspaceManifestLocation && path.dirname(workspaceManifestLocation);
|
|
15
|
+
};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
|
+
const normalizePath = require('normalize-path');
|
|
2
3
|
const { getAppConfig, getAssetPath } = require('../webpack/helpers');
|
|
3
4
|
const swcrcConfig = require('../transpile/swcrc.config.js');
|
|
4
|
-
|
|
5
|
-
const name = '@elliemae/pui-cli';
|
|
6
|
-
const rootDir = path.join('<rootDir>', 'node_modules', name);
|
|
5
|
+
const { findPnpmWorkspaceDir } = require('../monorepo/utils');
|
|
7
6
|
|
|
8
7
|
let isReactModule = true;
|
|
9
8
|
try {
|
|
@@ -15,19 +14,16 @@ try {
|
|
|
15
14
|
isReactModule = false;
|
|
16
15
|
}
|
|
17
16
|
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
console.log(ex);
|
|
29
|
-
return '<rootDir>';
|
|
30
|
-
}
|
|
17
|
+
const getMockFilePath = (fileName) =>
|
|
18
|
+
normalizePath(path.resolve(__dirname, './mocks', fileName));
|
|
19
|
+
|
|
20
|
+
const getNodeModulesPath = (fileName) => {
|
|
21
|
+
const monorepoRoot = findPnpmWorkspaceDir(process.cwd());
|
|
22
|
+
return normalizePath(
|
|
23
|
+
monorepoRoot
|
|
24
|
+
? path.join(monorepoRoot, 'node_modules', fileName)
|
|
25
|
+
: `<rootDir>/node_modules/${fileName}`,
|
|
26
|
+
);
|
|
31
27
|
};
|
|
32
28
|
|
|
33
29
|
const jestConfig = {
|
|
@@ -59,23 +55,25 @@ const jestConfig = {
|
|
|
59
55
|
coverageReporters: ['lcov', 'html', 'text-summary'],
|
|
60
56
|
moduleDirectories: ['node_modules', 'app', 'lib'],
|
|
61
57
|
moduleNameMapper: {
|
|
62
|
-
'.*\\webpack-hmr(.[t|j]s)?$':
|
|
63
|
-
'.*\\.(css|scss)$':
|
|
64
|
-
'.*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$':
|
|
65
|
-
|
|
66
|
-
'.*\\.
|
|
67
|
-
'
|
|
68
|
-
'@elliemae/pui-user-monitoring':
|
|
69
|
-
'@elliemae/pui-app-loader':
|
|
70
|
-
'@elliemae/pui-diagnostics':
|
|
71
|
-
'react-spring/web': '
|
|
72
|
-
'react-spring/renderprops':
|
|
73
|
-
'
|
|
74
|
-
|
|
75
|
-
|
|
58
|
+
'.*\\webpack-hmr(.[t|j]s)?$': getMockFilePath('webpack-hmr.js'),
|
|
59
|
+
'.*\\.(css|scss)$': getMockFilePath('cssModule.js'),
|
|
60
|
+
'.*\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$':
|
|
61
|
+
getMockFilePath('image.js'),
|
|
62
|
+
'.*\\.svg$': getMockFilePath('svg.js'),
|
|
63
|
+
'.*\\.(html)$': getMockFilePath('html.js'),
|
|
64
|
+
'@elliemae/pui-user-monitoring': getMockFilePath('pui-user-monitoring.js'),
|
|
65
|
+
'@elliemae/pui-app-loader': getMockFilePath('webpack-hmr.js'),
|
|
66
|
+
'@elliemae/pui-diagnostics': getMockFilePath('pui-app-loader.js'),
|
|
67
|
+
'react-spring/web': getNodeModulesPath('react-spring/web.cjs.js'),
|
|
68
|
+
'react-spring/renderprops': getNodeModulesPath(
|
|
69
|
+
'react-spring/renderprops.cjs.js',
|
|
70
|
+
),
|
|
71
|
+
'styled-components': getNodeModulesPath(
|
|
72
|
+
'styled-components/dist/styled-components.cjs.js',
|
|
73
|
+
),
|
|
76
74
|
},
|
|
77
75
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
78
|
-
setupFilesAfterEnv: [
|
|
76
|
+
setupFilesAfterEnv: [path.resolve(__dirname, './setup-tests.js')],
|
|
79
77
|
setupFiles: ['raf/polyfill', 'whatwg-fetch'],
|
|
80
78
|
testRegex: '(app|lib).*/tests/.*\\.test\\.[jt]sx?$',
|
|
81
79
|
snapshotSerializers: [],
|
|
@@ -97,7 +95,7 @@ const jestConfig = {
|
|
|
97
95
|
|
|
98
96
|
if (isReactModule && jestConfig.setupFilesAfterEnv)
|
|
99
97
|
jestConfig.setupFilesAfterEnv.push(
|
|
100
|
-
|
|
98
|
+
path.resolve(__dirname, './setup-react-env.js'),
|
|
101
99
|
);
|
|
102
100
|
|
|
103
101
|
exports.jestConfig = jestConfig;
|
package/lib/webpack/helpers.js
CHANGED
|
@@ -4,6 +4,7 @@ const fs = require('fs');
|
|
|
4
4
|
const _ = require('lodash');
|
|
5
5
|
const CompressionPlugin = require('compression-webpack-plugin');
|
|
6
6
|
const zlib = require('zlib');
|
|
7
|
+
const { findPnpmWorkspaceDir } = require('../monorepo/utils');
|
|
7
8
|
|
|
8
9
|
let pathSep = path.sep;
|
|
9
10
|
if (pathSep === '\\')
|
|
@@ -66,8 +67,9 @@ const mapToFolder = (dependencies, folder) =>
|
|
|
66
67
|
{},
|
|
67
68
|
);
|
|
68
69
|
|
|
69
|
-
const getAlias = () =>
|
|
70
|
-
|
|
70
|
+
const getAlias = () => {
|
|
71
|
+
const monorepoRoot = findPnpmWorkspaceDir(process.cwd()) || '';
|
|
72
|
+
return mapToFolder(
|
|
71
73
|
[
|
|
72
74
|
'@babel/runtime',
|
|
73
75
|
'react',
|
|
@@ -85,8 +87,9 @@ const getAlias = () =>
|
|
|
85
87
|
'@elliemae/pui-app-sdk$',
|
|
86
88
|
'@elliemae/pui-theme$',
|
|
87
89
|
],
|
|
88
|
-
'./node_modules',
|
|
90
|
+
path.join(monorepoRoot, './node_modules'),
|
|
89
91
|
);
|
|
92
|
+
};
|
|
90
93
|
|
|
91
94
|
const modulesToTranspile = [
|
|
92
95
|
'@elliemae/pui-*',
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
2
|
const path = require('path');
|
|
3
|
-
const {
|
|
4
|
-
EnvironmentPlugin,
|
|
5
|
-
DefinePlugin,
|
|
6
|
-
NormalModuleReplacementPlugin,
|
|
7
|
-
} = require('webpack');
|
|
3
|
+
const { EnvironmentPlugin, DefinePlugin } = require('webpack');
|
|
8
4
|
const {
|
|
9
5
|
optimize: { LimitChunkCountPlugin },
|
|
10
6
|
ProgressPlugin,
|
|
@@ -14,6 +10,7 @@ const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
|
14
10
|
const PostcssPresetEnv = require('postcss-preset-env');
|
|
15
11
|
const DuplicatePackageCheckerPlugin = require('duplicate-package-checker-webpack-plugin');
|
|
16
12
|
const MomentLocalesPlugin = require('moment-locales-webpack-plugin');
|
|
13
|
+
const ResolveTypeScriptPlugin = require('resolve-typescript-plugin');
|
|
17
14
|
const browserslistToEsbuild = require('browserslist-to-esbuild');
|
|
18
15
|
|
|
19
16
|
const {
|
|
@@ -68,9 +65,6 @@ const plugins = [
|
|
|
68
65
|
maxChunks: 1,
|
|
69
66
|
}),
|
|
70
67
|
new MomentLocalesPlugin({ localesToKeep: ['es-us'] }),
|
|
71
|
-
new NormalModuleReplacementPlugin(/\.js$/, function (resource) {
|
|
72
|
-
resource.request = resource.request.replace('.js', '');
|
|
73
|
-
}),
|
|
74
68
|
new ProgressPlugin(),
|
|
75
69
|
];
|
|
76
70
|
|
|
@@ -192,6 +186,7 @@ module.exports = (options) => ({
|
|
|
192
186
|
...getAlias(),
|
|
193
187
|
...((options.resolve || {}).alias || {}),
|
|
194
188
|
},
|
|
189
|
+
plugins: [new ResolveTypeScriptPlugin({})],
|
|
195
190
|
},
|
|
196
191
|
externals: {
|
|
197
192
|
'@elliemae/pui-user-monitoring': 'emuiUserMonitoring',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const
|
|
1
|
+
const { DefinePlugin, EnvironmentPlugin } = require('webpack');
|
|
2
2
|
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
3
3
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
4
|
-
const ResolveTypeScriptPlugin = require('resolve-typescript-plugin')
|
|
4
|
+
const ResolveTypeScriptPlugin = require('resolve-typescript-plugin');
|
|
5
5
|
const {
|
|
6
6
|
getAppConfig,
|
|
7
7
|
isApp,
|
|
@@ -13,10 +13,10 @@ const IS_APP = isApp();
|
|
|
13
13
|
const CWD = process.cwd();
|
|
14
14
|
|
|
15
15
|
const getAdditionalPlugins = () => [
|
|
16
|
-
new
|
|
16
|
+
new DefinePlugin({
|
|
17
17
|
APP_CONFIG: getAppConfig(),
|
|
18
18
|
}),
|
|
19
|
-
new
|
|
19
|
+
new EnvironmentPlugin({
|
|
20
20
|
IS_APP,
|
|
21
21
|
CWD,
|
|
22
22
|
}),
|
|
@@ -37,7 +37,7 @@ const getAdditionalPlugins = () => [
|
|
|
37
37
|
noErrorOnMissing: true,
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
|
-
from: '
|
|
40
|
+
from: 'public',
|
|
41
41
|
noErrorOnMissing: true,
|
|
42
42
|
},
|
|
43
43
|
],
|
|
@@ -74,7 +74,7 @@ exports.webpackFinal = async (config, { configType }) => {
|
|
|
74
74
|
config.resolve.extensions.push('.svg');
|
|
75
75
|
config.resolve.plugins = [
|
|
76
76
|
...(config.resolve.plugins || []),
|
|
77
|
-
new ResolveTypeScriptPlugin(),
|
|
77
|
+
new ResolveTypeScriptPlugin({}),
|
|
78
78
|
];
|
|
79
79
|
config.externals = config.externals || {};
|
|
80
80
|
config.externals['@elliemae/pui-user-monitoring'] = 'emuiUserMonitoring';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/pui-cli",
|
|
3
|
-
"version": "6.5.
|
|
3
|
+
"version": "6.5.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "ICE MT UI Platform CLI",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
"eslint-plugin-eslint-comments": "~3.2.0",
|
|
146
146
|
"eslint-plugin-import": "~2.25.4",
|
|
147
147
|
"eslint-plugin-jest": "~26.1.0",
|
|
148
|
-
"eslint-plugin-jsdoc": "~37.
|
|
148
|
+
"eslint-plugin-jsdoc": "~37.9.0",
|
|
149
149
|
"eslint-plugin-jsx-a11y": "~6.5.1",
|
|
150
150
|
"eslint-plugin-mdx": "~1.16.0",
|
|
151
151
|
"eslint-plugin-prettier": "~4.0.0",
|
|
@@ -161,6 +161,7 @@
|
|
|
161
161
|
"express-static-gzip": "~2.1.4",
|
|
162
162
|
"favicons": "~6.2.2",
|
|
163
163
|
"favicons-webpack-plugin": "~5.0.2",
|
|
164
|
+
"find-up": "~5.0.0",
|
|
164
165
|
"happy-dom": "~2.31.1",
|
|
165
166
|
"helmet-csp": "~3.4.0",
|
|
166
167
|
"html-webpack-plugin": "~5.5.0",
|
|
@@ -184,6 +185,7 @@
|
|
|
184
185
|
"node-gyp": "~8.4.1",
|
|
185
186
|
"node-plop": "~0.30.0",
|
|
186
187
|
"nodemon": "~2.0.15",
|
|
188
|
+
"normalize-path": "~3.0.0",
|
|
187
189
|
"npm-check-updates": "12.3.0",
|
|
188
190
|
"null-loader": "~4.0.1",
|
|
189
191
|
"pino": "~7.6.5",
|