arui-scripts 15.7.4 → 15.8.1
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/.eslintignore +2 -0
- package/.eslintrc.js +13 -0
- package/.turbo/turbo-lint.log +260 -0
- package/.turbo/turbo-test.log +26 -26
- package/CHANGELOG.md +327 -291
- package/build/bin/index.js +9 -1
- package/build/commands/archive-build/index.js +4 -4
- package/build/commands/build/build-wrapper.js +3 -2
- package/build/commands/build/index.js +3 -5
- package/build/commands/bundle-analyze/index.js +5 -3
- package/build/commands/changelog/index.js +4 -2
- package/build/commands/docker-build/index.js +1 -1
- package/build/commands/docker-build-compiled/index.js +1 -1
- package/build/commands/start/index.js +20 -5
- package/build/commands/start/print-compiler-output.js +2 -1
- package/build/commands/start-prod/index.js +3 -5
- package/build/commands/test/index.js +10 -1
- package/build/commands/util/check-required-files.js +12 -8
- package/build/commands/util/client-assets-sizes.js +17 -22
- package/build/commands/util/docker-build.d.ts +1 -1
- package/build/commands/util/docker-build.js +12 -7
- package/build/commands/util/exec.js +2 -0
- package/build/commands/util/format-webpack-messages.js +9 -7
- package/build/commands/util/make-tmp-dir.js +3 -3
- package/build/commands/util/run-client-dev-server.js +1 -1
- package/build/commands/util/run-compilers.d.ts +1 -1
- package/build/commands/util/run-compilers.js +14 -3
- package/build/commands/util/run-server-watch-compiler.js +2 -3
- package/build/commands/util/yarn.js +1 -1
- package/build/configs/app-configs/calculate-dependent-config.d.ts +1 -0
- package/build/configs/app-configs/calculate-dependent-config.js +2 -0
- package/build/configs/app-configs/get-defaults.js +5 -2
- package/build/configs/app-configs/index.d.ts +1 -1
- package/build/configs/app-configs/index.js +3 -3
- package/build/configs/app-configs/read-config-file.d.ts +1 -0
- package/build/configs/app-configs/read-config-file.js +25 -0
- package/build/configs/app-configs/types.d.ts +2 -1
- package/build/configs/app-configs/update-with-config-file.js +4 -10
- package/build/configs/app-configs/update-with-env.js +1 -1
- package/build/configs/app-configs/update-with-presets.js +11 -3
- package/build/configs/babel-client.js +21 -15
- package/build/configs/babel-dependencies.js +3 -3
- package/build/configs/babel-server.js +10 -10
- package/build/configs/config-extras/minimizers/imagemin/imagemin.d.ts +1 -1
- package/build/configs/config-extras/minimizers/imagemin/imagemin.js +23 -14
- package/build/configs/dev-server.js +20 -18
- package/build/configs/jest/babel-transform.js +2 -0
- package/build/configs/jest/file-transform.js +2 -0
- package/build/configs/jest/index.js +13 -13
- package/build/configs/modules.js +11 -4
- package/build/configs/mq.css +18 -18
- package/build/configs/postcss.config.js +3 -6
- package/build/configs/process-assets-plugin-output.js +1 -1
- package/build/configs/stats-options.js +1 -1
- package/build/configs/supporting-browsers.js +1 -6
- package/build/configs/util/apply-overrides.d.ts +4 -2
- package/build/configs/util/apply-overrides.js +7 -2
- package/build/configs/util/find-loader.d.ts +1 -1
- package/build/configs/util/find-loader.js +2 -0
- package/build/configs/util/install-sourcemap-support.js +4 -0
- package/build/configs/util/node-assets-ignore.js +8 -6
- package/build/configs/util/register-ts-node.js +3 -2
- package/build/configs/webpack.client.dev.js +5 -1
- package/build/configs/webpack.client.js +131 -95
- package/build/configs/webpack.client.prod.js +5 -1
- package/build/configs/webpack.server.dev.js +2 -1
- package/build/configs/webpack.server.js +74 -56
- package/build/configs/webpack.server.prod.js +2 -1
- package/build/plugins/postcss-prefix-selector.js +5 -3
- package/build/plugins/reload-server-webpack-plugin.js +8 -6
- package/build/plugins/watch-missing-node-modules-plugin.js +3 -3
- package/build/templates/dockerfile-compiled.template.js +4 -2
- package/build/templates/dockerfile.template.js +2 -2
- package/build/tsconfig-local.tsbuildinfo +1 -1
- package/docs/settings.md +4 -0
- package/jest-preset.js +8 -8
- package/package.json +12 -3
- package/release.config.js +8 -2
- package/stylelint.config.js +11 -0
- package/tsconfig.eslint.json +5 -0
|
@@ -4,21 +4,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createServerConfig = void 0;
|
|
7
|
+
// TODO: remove eslint-disable
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
7
9
|
const fs_1 = __importDefault(require("fs"));
|
|
8
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const getCSSModuleLocalIdent_1 = __importDefault(require("react-dev-utils/getCSSModuleLocalIdent"));
|
|
12
|
+
const case_sensitive_paths_webpack_plugin_1 = __importDefault(require("case-sensitive-paths-webpack-plugin"));
|
|
13
|
+
const run_script_webpack_plugin_1 = require("run-script-webpack-plugin");
|
|
14
|
+
const tsconfig_paths_webpack_plugin_1 = __importDefault(require("tsconfig-paths-webpack-plugin"));
|
|
9
15
|
const webpack_1 = __importDefault(require("webpack"));
|
|
10
16
|
const webpack_node_externals_1 = __importDefault(require("webpack-node-externals"));
|
|
11
|
-
const
|
|
12
|
-
const tsconfig_paths_webpack_plugin_1 = __importDefault(require("tsconfig-paths-webpack-plugin"));
|
|
13
|
-
const getCSSModuleLocalIdent_1 = __importDefault(require("react-dev-utils/getCSSModuleLocalIdent"));
|
|
17
|
+
const get_entry_1 = __importDefault(require("./util/get-entry"));
|
|
14
18
|
const app_configs_1 = __importDefault(require("./app-configs"));
|
|
19
|
+
const babel_dependencies_1 = require("./babel-dependencies");
|
|
15
20
|
const babel_server_1 = __importDefault(require("./babel-server"));
|
|
16
21
|
const postcss_1 = __importDefault(require("./postcss"));
|
|
17
|
-
const get_entry_1 = __importDefault(require("./util/get-entry"));
|
|
18
|
-
const babel_dependencies_1 = require("./babel-dependencies");
|
|
19
22
|
const server_externals_exemptions_1 = require("./server-externals-exemptions");
|
|
20
|
-
const run_script_webpack_plugin_1 = require("run-script-webpack-plugin");
|
|
21
|
-
const case_sensitive_paths_webpack_plugin_1 = __importDefault(require("case-sensitive-paths-webpack-plugin"));
|
|
22
23
|
const ReloadServerPlugin = require('../plugins/reload-server-webpack-plugin');
|
|
23
24
|
const WatchMissingNodeModulesPlugin = require('../plugins/watch-missing-node-modules-plugin');
|
|
24
25
|
const assetsIgnoreBanner = fs_1.default.readFileSync(require.resolve('./util/node-assets-ignore'), 'utf8');
|
|
@@ -27,7 +28,9 @@ const sourceMapSupportBanner = fs_1.default.readFileSync(require.resolve('./util
|
|
|
27
28
|
const cssRegex = /\.css$/;
|
|
28
29
|
const cssModuleRegex = /\.module\.css$/;
|
|
29
30
|
function getSingleEntry(entryPoint, mode) {
|
|
30
|
-
const prefix =
|
|
31
|
+
const prefix = mode === 'dev' && app_configs_1.default.useServerHMR
|
|
32
|
+
? [`${require.resolve('webpack/hot/poll')}?1000`]
|
|
33
|
+
: [];
|
|
31
34
|
return [...prefix, ...entryPoint];
|
|
32
35
|
}
|
|
33
36
|
// This is a function that wil return webpack configuration to build a server
|
|
@@ -39,7 +42,7 @@ const createServerConfig = (mode) => ({
|
|
|
39
42
|
target: 'node',
|
|
40
43
|
node: {
|
|
41
44
|
__filename: true,
|
|
42
|
-
__dirname: true
|
|
45
|
+
__dirname: true,
|
|
43
46
|
},
|
|
44
47
|
entry: (0, get_entry_1.default)(app_configs_1.default.serverEntry, getSingleEntry, mode),
|
|
45
48
|
context: app_configs_1.default.cwd,
|
|
@@ -52,24 +55,26 @@ const createServerConfig = (mode) => ({
|
|
|
52
55
|
filename: app_configs_1.default.serverOutput,
|
|
53
56
|
chunkFilename: '[name].js',
|
|
54
57
|
// Point sourcemap entries to original disk location (format as URL on Windows)
|
|
55
|
-
devtoolModuleFilenameTemplate: (info) => path_1.default
|
|
56
|
-
.relative(app_configs_1.default.appSrc, info.absoluteResourcePath)
|
|
57
|
-
.replace(/\\/g, '/'),
|
|
58
|
+
devtoolModuleFilenameTemplate: (info) => path_1.default.relative(app_configs_1.default.appSrc, info.absoluteResourcePath).replace(/\\/g, '/'),
|
|
58
59
|
},
|
|
59
|
-
cache: mode === 'dev'
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
cache: mode === 'dev'
|
|
61
|
+
? {
|
|
62
|
+
type: 'filesystem',
|
|
63
|
+
name: 'server',
|
|
64
|
+
buildDependencies: {
|
|
65
|
+
config: [__filename],
|
|
66
|
+
},
|
|
67
|
+
}
|
|
68
|
+
: false,
|
|
66
69
|
externalsPresets: { node: true },
|
|
67
|
-
externals: [
|
|
70
|
+
externals: [
|
|
71
|
+
(0, webpack_node_externals_1.default)({
|
|
68
72
|
allowlist: server_externals_exemptions_1.serverExternalsExemptions,
|
|
69
73
|
// we cannot determine node_modules location before arui-scripts installation, so just load
|
|
70
74
|
// dependencies list from package.json
|
|
71
75
|
modulesFromFile: true,
|
|
72
|
-
})
|
|
76
|
+
}),
|
|
77
|
+
],
|
|
73
78
|
optimization: {
|
|
74
79
|
minimize: false,
|
|
75
80
|
nodeEnv: mode === 'dev' ? false : 'production',
|
|
@@ -87,12 +92,22 @@ const createServerConfig = (mode) => ({
|
|
|
87
92
|
// `web` extension prefixes have been added for better support
|
|
88
93
|
// for React Native Web.
|
|
89
94
|
extensions: ['.web.js', '.mjs', '.js', '.json', '.web.jsx', '.jsx', '.ts', '.tsx'],
|
|
90
|
-
plugins:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
plugins: [
|
|
96
|
+
app_configs_1.default.tsconfig &&
|
|
97
|
+
new tsconfig_paths_webpack_plugin_1.default({
|
|
98
|
+
configFile: app_configs_1.default.tsconfig,
|
|
99
|
+
extensions: [
|
|
100
|
+
'.web.js',
|
|
101
|
+
'.mjs',
|
|
102
|
+
'.js',
|
|
103
|
+
'.json',
|
|
104
|
+
'.web.jsx',
|
|
105
|
+
'.jsx',
|
|
106
|
+
'.ts',
|
|
107
|
+
'.tsx',
|
|
108
|
+
],
|
|
109
|
+
}),
|
|
110
|
+
].filter(Boolean),
|
|
96
111
|
},
|
|
97
112
|
module: {
|
|
98
113
|
// typescript interface will be removed from modules, and we will get an error on correct code
|
|
@@ -100,7 +115,7 @@ const createServerConfig = (mode) => ({
|
|
|
100
115
|
strictExportPresence: !app_configs_1.default.tsconfig,
|
|
101
116
|
rules: [
|
|
102
117
|
{
|
|
103
|
-
oneOf:
|
|
118
|
+
oneOf: [
|
|
104
119
|
// Process JS with Babel.
|
|
105
120
|
{
|
|
106
121
|
test: app_configs_1.default.useTscLoader ? /\.(js|jsx|mjs)$/ : /\.(js|jsx|mjs|ts|tsx)$/,
|
|
@@ -112,17 +127,17 @@ const createServerConfig = (mode) => ({
|
|
|
112
127
|
// directory for faster rebuilds.
|
|
113
128
|
cacheDirectory: mode === 'dev' }),
|
|
114
129
|
},
|
|
115
|
-
|
|
130
|
+
app_configs_1.default.tsconfig &&
|
|
131
|
+
app_configs_1.default.useTscLoader && {
|
|
116
132
|
test: /\.tsx?$/,
|
|
117
133
|
use: [
|
|
118
134
|
{
|
|
119
135
|
loader: require.resolve('babel-loader'),
|
|
120
|
-
options: Object.assign({
|
|
136
|
+
options: Object.assign({
|
|
121
137
|
// This is a feature of `babel-loader` for webpack (not Babel itself).
|
|
122
138
|
// It enables caching results in ./node_modules/.cache/babel-loader/
|
|
123
139
|
// directory for faster rebuilds.
|
|
124
|
-
cacheDirectory: mode === 'dev'
|
|
125
|
-
}, babel_server_1.default)
|
|
140
|
+
cacheDirectory: mode === 'dev' }, babel_server_1.default),
|
|
126
141
|
},
|
|
127
142
|
{
|
|
128
143
|
loader: require.resolve('ts-loader'),
|
|
@@ -130,10 +145,10 @@ const createServerConfig = (mode) => ({
|
|
|
130
145
|
onlyCompileBundledFiles: true,
|
|
131
146
|
transpileOnly: true,
|
|
132
147
|
happyPackMode: true,
|
|
133
|
-
configFile: app_configs_1.default.tsconfig
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
]
|
|
148
|
+
configFile: app_configs_1.default.tsconfig,
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
],
|
|
137
152
|
},
|
|
138
153
|
// Process any JS outside of the app with Babel.
|
|
139
154
|
// Unlike the application JS, we only compile the standard ES features.
|
|
@@ -147,7 +162,7 @@ const createServerConfig = (mode) => ({
|
|
|
147
162
|
{
|
|
148
163
|
test: cssRegex,
|
|
149
164
|
exclude: cssModuleRegex,
|
|
150
|
-
loader: require.resolve('null-loader')
|
|
165
|
+
loader: require.resolve('null-loader'),
|
|
151
166
|
},
|
|
152
167
|
{
|
|
153
168
|
test: cssModuleRegex,
|
|
@@ -157,7 +172,7 @@ const createServerConfig = (mode) => ({
|
|
|
157
172
|
options: {
|
|
158
173
|
modules: {
|
|
159
174
|
exportOnlyLocals: true,
|
|
160
|
-
getLocalIdent: getCSSModuleLocalIdent_1.default
|
|
175
|
+
getLocalIdent: getCSSModuleLocalIdent_1.default,
|
|
161
176
|
},
|
|
162
177
|
},
|
|
163
178
|
},
|
|
@@ -166,7 +181,7 @@ const createServerConfig = (mode) => ({
|
|
|
166
181
|
options: {
|
|
167
182
|
postcssOptions: {
|
|
168
183
|
plugins: postcss_1.default,
|
|
169
|
-
}
|
|
184
|
+
},
|
|
170
185
|
},
|
|
171
186
|
},
|
|
172
187
|
],
|
|
@@ -177,30 +192,33 @@ const createServerConfig = (mode) => ({
|
|
|
177
192
|
generator: {
|
|
178
193
|
outputPath: app_configs_1.default.publicPath,
|
|
179
194
|
publicPath: app_configs_1.default.publicPath,
|
|
180
|
-
}
|
|
195
|
+
},
|
|
181
196
|
},
|
|
182
|
-
].filter(Boolean)
|
|
197
|
+
].filter(Boolean),
|
|
183
198
|
},
|
|
184
199
|
],
|
|
185
200
|
},
|
|
186
|
-
plugins:
|
|
201
|
+
plugins: [
|
|
187
202
|
new webpack_1.default.BannerPlugin({
|
|
188
203
|
banner: assetsIgnoreBanner,
|
|
189
204
|
raw: true,
|
|
190
|
-
entryOnly: false
|
|
191
|
-
}),
|
|
192
|
-
app_configs_1.default.installServerSourceMaps && new webpack_1.default.BannerPlugin({
|
|
193
|
-
banner: sourceMapSupportBanner,
|
|
194
|
-
raw: true,
|
|
195
|
-
entryOnly: false
|
|
205
|
+
entryOnly: false,
|
|
196
206
|
}),
|
|
197
|
-
app_configs_1.default.
|
|
207
|
+
app_configs_1.default.installServerSourceMaps &&
|
|
208
|
+
new webpack_1.default.BannerPlugin({
|
|
209
|
+
banner: sourceMapSupportBanner,
|
|
210
|
+
raw: true,
|
|
211
|
+
entryOnly: false,
|
|
212
|
+
}),
|
|
198
213
|
// dev plugins:
|
|
199
|
-
mode === 'dev' &&
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
214
|
+
mode === 'dev' &&
|
|
215
|
+
(app_configs_1.default.useServerHMR
|
|
216
|
+
? new run_script_webpack_plugin_1.RunScriptWebpackPlugin({
|
|
217
|
+
name: app_configs_1.default.serverOutput,
|
|
218
|
+
})
|
|
219
|
+
: new ReloadServerPlugin({
|
|
220
|
+
script: path_1.default.join(app_configs_1.default.serverOutputPath, app_configs_1.default.serverOutput),
|
|
221
|
+
})),
|
|
204
222
|
mode === 'dev' && new webpack_1.default.NoEmitOnErrorsPlugin(),
|
|
205
223
|
// Watcher doesn't work well if you mistype casing in a path so we use
|
|
206
224
|
// a plugin that prints an error when you attempt to do this.
|
|
@@ -211,8 +229,8 @@ const createServerConfig = (mode) => ({
|
|
|
211
229
|
// makes the discovery automatic so you don't have to restart.
|
|
212
230
|
// See https://github.com/facebookincubator/create-react-app/issues/186
|
|
213
231
|
mode === 'dev' && new WatchMissingNodeModulesPlugin(app_configs_1.default.appNodeModules),
|
|
214
|
-
mode === 'dev' && app_configs_1.default.useServerHMR && new webpack_1.default.HotModuleReplacementPlugin()
|
|
215
|
-
].filter(Boolean)
|
|
232
|
+
mode === 'dev' && app_configs_1.default.useServerHMR && new webpack_1.default.HotModuleReplacementPlugin(),
|
|
233
|
+
].filter(Boolean),
|
|
216
234
|
experiments: {
|
|
217
235
|
backCompat: app_configs_1.default.webpack4Compatibility,
|
|
218
236
|
},
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const apply_overrides_1 = __importDefault(require("./util/apply-overrides"));
|
|
7
|
+
const find_loader_1 = require("./util/find-loader");
|
|
7
8
|
const webpack_server_1 = require("./webpack.server");
|
|
8
|
-
const config = (0, apply_overrides_1.default)(['webpack', 'webpackServer', 'webpackProd', 'webpackServerProd'], (0, webpack_server_1.createServerConfig)('prod'));
|
|
9
|
+
const config = (0, apply_overrides_1.default)(['webpack', 'webpackServer', 'webpackProd', 'webpackServerProd'], (0, webpack_server_1.createServerConfig)('prod'), { findLoader: find_loader_1.findLoader });
|
|
9
10
|
exports.default = config;
|
|
@@ -4,7 +4,7 @@ exports.postCssPrefix = void 0;
|
|
|
4
4
|
const VisitedRule = Symbol('VisitedRule');
|
|
5
5
|
const postCssPrefix = (options) => {
|
|
6
6
|
const prefix = (options === null || options === void 0 ? void 0 : options.prefix) || '.prefix ';
|
|
7
|
-
return
|
|
7
|
+
return {
|
|
8
8
|
postcssPlugin: '@alfalab/postcss-prefix-selector',
|
|
9
9
|
RootExit(root) {
|
|
10
10
|
if (root[VisitedRule]) {
|
|
@@ -12,7 +12,9 @@ const postCssPrefix = (options) => {
|
|
|
12
12
|
}
|
|
13
13
|
root[VisitedRule] = true;
|
|
14
14
|
root.walkRules((rule) => {
|
|
15
|
-
if (!rule.parent ||
|
|
15
|
+
if (!rule.parent ||
|
|
16
|
+
(rule.parent.type !== 'root' &&
|
|
17
|
+
(rule.parent.type !== 'atrule' || rule.parent.name !== 'media'))) {
|
|
16
18
|
return;
|
|
17
19
|
}
|
|
18
20
|
rule.selectors = rule.selectors.map((selector, index) => {
|
|
@@ -23,7 +25,7 @@ const postCssPrefix = (options) => {
|
|
|
23
25
|
});
|
|
24
26
|
});
|
|
25
27
|
},
|
|
26
|
-
}
|
|
28
|
+
};
|
|
27
29
|
};
|
|
28
30
|
exports.postCssPrefix = postCssPrefix;
|
|
29
31
|
postCssPrefix.postcss = true;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
// TODO: remove eslint-disable
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
4
|
+
const cluster = require('cluster');
|
|
5
|
+
const path = require('path');
|
|
4
6
|
const defaultOptions = {
|
|
5
|
-
script:
|
|
7
|
+
script: 'server.js',
|
|
6
8
|
};
|
|
7
9
|
module.exports = class ReloadServerPlugin {
|
|
8
10
|
constructor({ script } = defaultOptions) {
|
|
@@ -11,7 +13,7 @@ module.exports = class ReloadServerPlugin {
|
|
|
11
13
|
cluster.setupMaster({
|
|
12
14
|
exec: path.resolve(process.cwd(), script),
|
|
13
15
|
});
|
|
14
|
-
cluster.on(
|
|
16
|
+
cluster.on('online', (worker) => {
|
|
15
17
|
this.workers.push(worker);
|
|
16
18
|
if (this.done) {
|
|
17
19
|
this.done();
|
|
@@ -23,7 +25,7 @@ module.exports = class ReloadServerPlugin {
|
|
|
23
25
|
this.done = callback;
|
|
24
26
|
this.workers.forEach((worker) => {
|
|
25
27
|
try {
|
|
26
|
-
process.kill(worker.process.pid,
|
|
28
|
+
process.kill(worker.process.pid, 'SIGTERM');
|
|
27
29
|
}
|
|
28
30
|
catch (e) {
|
|
29
31
|
console.warn(`Unable to kill process #${worker.process.pid}`);
|
|
@@ -36,7 +38,7 @@ module.exports = class ReloadServerPlugin {
|
|
|
36
38
|
compiler.hooks.afterEmit.tapAsync('ReloadServerPlugin', afterEmit);
|
|
37
39
|
}
|
|
38
40
|
else {
|
|
39
|
-
compiler.plugin(
|
|
41
|
+
compiler.plugin('after-emit', afterEmit);
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
44
|
};
|
|
@@ -4,9 +4,9 @@ class WatchMissingNodeModulesPlugin {
|
|
|
4
4
|
this.nodeModulesPath = nodeModulesPath;
|
|
5
5
|
}
|
|
6
6
|
apply(compiler) {
|
|
7
|
-
compiler.hooks.emit.tap(
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
compiler.hooks.emit.tap('WatchMissingNodeModulesPlugin', (compilation) => {
|
|
8
|
+
const missingDeps = Array.from(compilation.missingDependencies);
|
|
9
|
+
const { nodeModulesPath } = this;
|
|
10
10
|
// If any missing files are expected to appear in node_modules...
|
|
11
11
|
if (missingDeps.some((file) => file.includes(nodeModulesPath))) {
|
|
12
12
|
// ...tell webpack to watch node_modules recursively until they appear.
|
|
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const yarn_1 = require("../commands/util/yarn");
|
|
6
7
|
const app_configs_1 = __importDefault(require("../configs/app-configs"));
|
|
7
8
|
const apply_overrides_1 = __importDefault(require("../configs/util/apply-overrides"));
|
|
8
|
-
const yarn_1 = require("../commands/util/yarn");
|
|
9
9
|
const installProductionCommand = (0, yarn_1.getInstallProductionCommand)();
|
|
10
10
|
const yarnVersion = (0, yarn_1.getYarnVersion)();
|
|
11
11
|
// В зависимости от используемого мендежера зависимостей для их установки нужно копировать разный набор файлов
|
|
@@ -28,7 +28,9 @@ ADD $START_SH_LOCATION /src/start.sh
|
|
|
28
28
|
ADD $NGINX_CONF_LOCATION /src/nginx.conf
|
|
29
29
|
|
|
30
30
|
# Зависимости. При некоторой удаче могут кешироваться и соответственно кешировать установку зависимостей
|
|
31
|
-
${filesRequiredToInstallDependencies
|
|
31
|
+
${filesRequiredToInstallDependencies
|
|
32
|
+
.map((file) => `ADD --chown=nginx:nginx ${file} /src/${file}`)
|
|
33
|
+
.join('\n')}
|
|
32
34
|
|
|
33
35
|
RUN ${installProductionCommand} && \\
|
|
34
36
|
${yarnVersion === 'unavailable' ? 'npm cache clean --force' : 'yarn cache clean'}
|
|
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const app_configs_1 = __importDefault(require("../configs/app-configs"));
|
|
7
7
|
const apply_overrides_1 = __importDefault(require("../configs/util/apply-overrides"));
|
|
8
|
-
const nginxNonRootPart = app_configs_1.default.runFromNonRootUser
|
|
9
|
-
`RUN chown -R nginx:nginx /src && \\
|
|
8
|
+
const nginxNonRootPart = app_configs_1.default.runFromNonRootUser
|
|
9
|
+
? `RUN chown -R nginx:nginx /src && \\
|
|
10
10
|
mkdir -p /var/lib/nginx && \\
|
|
11
11
|
chown -R nginx:nginx /var/lib/nginx && \\
|
|
12
12
|
chown -R nginx:nginx /var/log/nginx && \\
|