arui-scripts 0.0.0-next-20230725145300
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/.browserslistrc +5 -0
- package/.turbo/turbo-build.log +0 -0
- package/.turbo/turbo-test.log +91 -0
- package/CHANGELOG.md +1032 -0
- package/README.md +716 -0
- package/bin/build.sh +2 -0
- package/build/bin/index.d.ts +3 -0
- package/build/bin/index.js +21 -0
- package/build/commands/archive-build/index.d.ts +1 -0
- package/build/commands/archive-build/index.js +80 -0
- package/build/commands/build/build-wrapper.d.ts +8 -0
- package/build/commands/build/build-wrapper.js +41 -0
- package/build/commands/build/client.d.ts +1 -0
- package/build/commands/build/client.js +41 -0
- package/build/commands/build/index.d.ts +1 -0
- package/build/commands/build/index.js +10 -0
- package/build/commands/build/server.d.ts +1 -0
- package/build/commands/build/server.js +29 -0
- package/build/commands/bundle-analyze/index.d.ts +1 -0
- package/build/commands/bundle-analyze/index.js +36 -0
- package/build/commands/changelog/index.d.ts +5 -0
- package/build/commands/changelog/index.js +116 -0
- package/build/commands/docker-build/index.d.ts +1 -0
- package/build/commands/docker-build/index.js +70 -0
- package/build/commands/docker-build-compiled/index.d.ts +1 -0
- package/build/commands/docker-build-compiled/index.js +52 -0
- package/build/commands/ensure-yarn/index.d.ts +0 -0
- package/build/commands/ensure-yarn/index.js +8 -0
- package/build/commands/start/client.d.ts +1 -0
- package/build/commands/start/client.js +8 -0
- package/build/commands/start/index.d.ts +1 -0
- package/build/commands/start/index.js +8 -0
- package/build/commands/start/print-compiler-output.d.ts +1 -0
- package/build/commands/start/print-compiler-output.js +15 -0
- package/build/commands/start/server.d.ts +1 -0
- package/build/commands/start/server.js +8 -0
- package/build/commands/start-prod/client.d.ts +1 -0
- package/build/commands/start-prod/client.js +8 -0
- package/build/commands/start-prod/index.d.ts +1 -0
- package/build/commands/start-prod/index.js +8 -0
- package/build/commands/start-prod/server.d.ts +1 -0
- package/build/commands/start-prod/server.js +8 -0
- package/build/commands/test/index.d.ts +3 -0
- package/build/commands/test/index.js +17 -0
- package/build/commands/util/check-required-files.d.ts +2 -0
- package/build/commands/util/check-required-files.js +67 -0
- package/build/commands/util/client-assets-sizes.d.ts +26 -0
- package/build/commands/util/client-assets-sizes.js +88 -0
- package/build/commands/util/docker-build.d.ts +21 -0
- package/build/commands/util/docker-build.js +89 -0
- package/build/commands/util/exec.d.ts +2 -0
- package/build/commands/util/exec.js +18 -0
- package/build/commands/util/format-webpack-messages.d.ts +11 -0
- package/build/commands/util/format-webpack-messages.js +93 -0
- package/build/commands/util/make-tmp-dir.d.ts +6 -0
- package/build/commands/util/make-tmp-dir.js +29 -0
- package/build/commands/util/run-client-dev-server.d.ts +2 -0
- package/build/commands/util/run-client-dev-server.js +47 -0
- package/build/commands/util/run-compilers.d.ts +1 -0
- package/build/commands/util/run-compilers.js +31 -0
- package/build/commands/util/run-server-watch-compiler.d.ts +2 -0
- package/build/commands/util/run-server-watch-compiler.js +21 -0
- package/build/commands/util/yarn.d.ts +5 -0
- package/build/commands/util/yarn.js +53 -0
- package/build/configs/app-configs/calculate-dependent-config.d.ts +76 -0
- package/build/configs/app-configs/calculate-dependent-config.js +37 -0
- package/build/configs/app-configs/get-defaults.d.ts +3 -0
- package/build/configs/app-configs/get-defaults.js +127 -0
- package/build/configs/app-configs/index.d.ts +6 -0
- package/build/configs/app-configs/index.js +22 -0
- package/build/configs/app-configs/types.d.ts +108 -0
- package/build/configs/app-configs/types.js +2 -0
- package/build/configs/app-configs/update-with-config-file.d.ts +2 -0
- package/build/configs/app-configs/update-with-config-file.js +23 -0
- package/build/configs/app-configs/update-with-env.d.ts +2 -0
- package/build/configs/app-configs/update-with-env.js +20 -0
- package/build/configs/app-configs/update-with-package.d.ts +2 -0
- package/build/configs/app-configs/update-with-package.js +10 -0
- package/build/configs/app-configs/update-with-presets.d.ts +2 -0
- package/build/configs/app-configs/update-with-presets.js +26 -0
- package/build/configs/app-configs/validate-settings-keys.d.ts +4 -0
- package/build/configs/app-configs/validate-settings-keys.js +14 -0
- package/build/configs/babel-client.d.ts +34 -0
- package/build/configs/babel-client.js +65 -0
- package/build/configs/babel-dependencies.d.ts +14 -0
- package/build/configs/babel-dependencies.js +39 -0
- package/build/configs/babel-server.d.ts +27 -0
- package/build/configs/babel-server.js +47 -0
- package/build/configs/config-extras/minimizers/imagemin/imagemin.d.ts +2 -0
- package/build/configs/config-extras/minimizers/imagemin/imagemin.js +42 -0
- package/build/configs/config-extras/minimizers/imagemin/index.d.ts +1 -0
- package/build/configs/config-extras/minimizers/imagemin/index.js +17 -0
- package/build/configs/config-extras/minimizers/index.d.ts +1 -0
- package/build/configs/config-extras/minimizers/index.js +17 -0
- package/build/configs/dev-server.d.ts +2 -0
- package/build/configs/dev-server.js +48 -0
- package/build/configs/jest/babel-transform.d.ts +2 -0
- package/build/configs/jest/babel-transform.js +4 -0
- package/build/configs/jest/css-mock.d.ts +1 -0
- package/build/configs/jest/css-mock.js +2 -0
- package/build/configs/jest/file-transform.d.ts +3 -0
- package/build/configs/jest/file-transform.js +9 -0
- package/build/configs/jest/index.d.ts +50 -0
- package/build/configs/jest/index.js +47 -0
- package/build/configs/modules.d.ts +16 -0
- package/build/configs/modules.js +101 -0
- package/build/configs/mq.css +22 -0
- package/build/configs/postcss.config.d.ts +25 -0
- package/build/configs/postcss.config.js +62 -0
- package/build/configs/postcss.d.ts +2 -0
- package/build/configs/postcss.js +9 -0
- package/build/configs/process-assets-plugin-output.d.ts +2 -0
- package/build/configs/process-assets-plugin-output.js +46 -0
- package/build/configs/server-externals-exemptions.d.ts +1 -0
- package/build/configs/server-externals-exemptions.js +21 -0
- package/build/configs/stats-options.d.ts +3 -0
- package/build/configs/stats-options.js +49 -0
- package/build/configs/supporting-browsers.d.ts +2 -0
- package/build/configs/supporting-browsers.js +13 -0
- package/build/configs/util/apply-overrides.d.ts +56 -0
- package/build/configs/util/apply-overrides.js +47 -0
- package/build/configs/util/check-node-version.d.ts +2 -0
- package/build/configs/util/check-node-version.js +7 -0
- package/build/configs/util/find-loader.d.ts +2 -0
- package/build/configs/util/find-loader.js +23 -0
- package/build/configs/util/get-entry.d.ts +9 -0
- package/build/configs/util/get-entry.js +22 -0
- package/build/configs/util/get-polyfills.d.ts +3 -0
- package/build/configs/util/get-polyfills.js +27 -0
- package/build/configs/util/install-sourcemap-support.d.ts +1 -0
- package/build/configs/util/install-sourcemap-support.js +7 -0
- package/build/configs/util/node-assets-ignore.d.ts +0 -0
- package/build/configs/util/node-assets-ignore.js +31 -0
- package/build/configs/util/noop.d.ts +1 -0
- package/build/configs/util/noop.js +2 -0
- package/build/configs/util/register-ts-node.d.ts +0 -0
- package/build/configs/util/register-ts-node.js +17 -0
- package/build/configs/util/resolve.d.ts +12 -0
- package/build/configs/util/resolve.js +30 -0
- package/build/configs/webpack.client.d.ts +10 -0
- package/build/configs/webpack.client.dev.d.ts +2 -0
- package/build/configs/webpack.client.dev.js +9 -0
- package/build/configs/webpack.client.js +402 -0
- package/build/configs/webpack.client.prod.d.ts +2 -0
- package/build/configs/webpack.client.prod.js +9 -0
- package/build/configs/webpack.server.d.ts +2 -0
- package/build/configs/webpack.server.dev.d.ts +2 -0
- package/build/configs/webpack.server.dev.js +9 -0
- package/build/configs/webpack.server.js +229 -0
- package/build/configs/webpack.server.prod.d.ts +2 -0
- package/build/configs/webpack.server.prod.js +9 -0
- package/build/index.d.ts +5 -0
- package/build/index.js +9 -0
- package/build/plugins/reload-server-webpack-plugin.d.ts +9 -0
- package/build/plugins/reload-server-webpack-plugin.js +42 -0
- package/build/templates/dockerfile-compiled.template.d.ts +2 -0
- package/build/templates/dockerfile-compiled.template.js +47 -0
- package/build/templates/dockerfile.template.d.ts +2 -0
- package/build/templates/dockerfile.template.js +32 -0
- package/build/templates/nginx.conf.template.d.ts +2 -0
- package/build/templates/nginx.conf.template.js +34 -0
- package/build/templates/start.template.d.ts +2 -0
- package/build/templates/start.template.js +37 -0
- package/build/tsconfig-local.tsbuildinfo +1 -0
- package/docs/modules.md +572 -0
- package/jest-preset.js +22 -0
- package/package.json +172 -0
- package/release.config.js +21 -0
- package/tsconfig-local.json +16 -0
- package/tsconfig.json +71 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.processAssetsPluginOutput = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const app_configs_1 = __importDefault(require("./app-configs"));
|
|
9
|
+
const modules_1 = require("./modules");
|
|
10
|
+
function processAssetsPluginOutput(assets) {
|
|
11
|
+
var _a;
|
|
12
|
+
let adjustedAssets = assets;
|
|
13
|
+
Object.keys(adjustedAssets).forEach((key) => {
|
|
14
|
+
// заменяем путь к файлам на корректный в случае если в нем есть 'auto/'
|
|
15
|
+
adjustedAssets[key] = {
|
|
16
|
+
css: replaceAutoPath(adjustedAssets[key].css),
|
|
17
|
+
js: replaceAutoPath(adjustedAssets[key].js),
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
// добавляем в манифест js-файлы для mf модулей
|
|
21
|
+
Object.keys(((_a = app_configs_1.default.mfModules) === null || _a === void 0 ? void 0 : _a.exposes) || {}).forEach((moduleName) => {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
if ((_b = (_a = app_configs_1.default.embeddedModules) === null || _a === void 0 ? void 0 : _a.exposes) === null || _b === void 0 ? void 0 : _b[moduleName]) {
|
|
24
|
+
throw new Error(`Модуль ${moduleName} определен как mf и как embedded. Поменяйте название одного из модулей или удалите его`);
|
|
25
|
+
}
|
|
26
|
+
adjustedAssets[moduleName] = {
|
|
27
|
+
mode: 'mf',
|
|
28
|
+
js: path_1.default.join(app_configs_1.default.publicPath, modules_1.MF_ENTRY_NAME),
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
const result = Object.assign(Object.assign({}, adjustedAssets), { __metadata__: {
|
|
32
|
+
version: app_configs_1.default.version,
|
|
33
|
+
name: app_configs_1.default.normalizedName,
|
|
34
|
+
} });
|
|
35
|
+
return JSON.stringify(result);
|
|
36
|
+
}
|
|
37
|
+
exports.processAssetsPluginOutput = processAssetsPluginOutput;
|
|
38
|
+
function replaceAutoPath(assets) {
|
|
39
|
+
if (!assets) {
|
|
40
|
+
return assets;
|
|
41
|
+
}
|
|
42
|
+
if (Array.isArray(assets)) {
|
|
43
|
+
return assets.map((asset) => asset.replace(/^auto\//, app_configs_1.default.publicPath));
|
|
44
|
+
}
|
|
45
|
+
return assets.replace(/^auto\//, app_configs_1.default.publicPath);
|
|
46
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const serverExternalsExemptions: RegExp[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.serverExternalsExemptions = void 0;
|
|
7
|
+
const apply_overrides_1 = __importDefault(require("./util/apply-overrides"));
|
|
8
|
+
exports.serverExternalsExemptions = (0, apply_overrides_1.default)('serverExternalsExemptions', [
|
|
9
|
+
/^arui-feather/,
|
|
10
|
+
/^arui-ft-private/,
|
|
11
|
+
/^arui-private/,
|
|
12
|
+
/^alfaform-core-ui/,
|
|
13
|
+
/^@alfa-bank\/newclick-composite-components/,
|
|
14
|
+
/^#/,
|
|
15
|
+
/^@alfalab\/icons/,
|
|
16
|
+
/^@alfalab\/core-components/,
|
|
17
|
+
/^date-fns/,
|
|
18
|
+
/^@corp-front\//,
|
|
19
|
+
/^corp-sign-ui-react/,
|
|
20
|
+
/^@alfalab\/scripts-/,
|
|
21
|
+
]);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const apply_overrides_1 = __importDefault(require("./util/apply-overrides"));
|
|
7
|
+
const statsOptions = (0, apply_overrides_1.default)('stats', {
|
|
8
|
+
// Add asset Information
|
|
9
|
+
assets: false,
|
|
10
|
+
// Add information about cached (not built) modules
|
|
11
|
+
cached: false,
|
|
12
|
+
// Show cached assets (setting this to `false` only shows emitted files)
|
|
13
|
+
cachedAssets: false,
|
|
14
|
+
// Add children information
|
|
15
|
+
children: false,
|
|
16
|
+
// Add chunk information (setting this to `false` allows for a less verbose output)
|
|
17
|
+
chunks: false,
|
|
18
|
+
// Add built modules information to chunk information
|
|
19
|
+
chunkModules: false,
|
|
20
|
+
// Add the origins of chunks and chunk merging info
|
|
21
|
+
chunkOrigins: false,
|
|
22
|
+
// `webpack --colors` equivalent
|
|
23
|
+
colors: true,
|
|
24
|
+
// Add errors
|
|
25
|
+
errors: true,
|
|
26
|
+
// Add details to errors (like resolving log)
|
|
27
|
+
errorDetails: true,
|
|
28
|
+
// Add the hash of the compilation
|
|
29
|
+
hash: false,
|
|
30
|
+
// Add built modules information
|
|
31
|
+
modules: true,
|
|
32
|
+
// Show dependencies and origin of warnings/errors (since webpack 2.5.0)
|
|
33
|
+
moduleTrace: true,
|
|
34
|
+
// Show performance hint when file size exceeds `performance.maxAssetSize`
|
|
35
|
+
performance: true,
|
|
36
|
+
// Add public path information
|
|
37
|
+
publicPath: false,
|
|
38
|
+
// Add information about the reasons why modules are included
|
|
39
|
+
reasons: false,
|
|
40
|
+
// Add timing information
|
|
41
|
+
timings: true,
|
|
42
|
+
// Add webpack version information
|
|
43
|
+
version: false,
|
|
44
|
+
// Add warnings
|
|
45
|
+
warnings: true,
|
|
46
|
+
// ignore warning from missing types
|
|
47
|
+
warningsFilter: /export .* was not found in/
|
|
48
|
+
});
|
|
49
|
+
exports.default = statsOptions;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const apply_overrides_1 = __importDefault(require("./util/apply-overrides"));
|
|
7
|
+
const supportingBrowsers = (0, apply_overrides_1.default)(['browsers', 'supportingBrowsers'], [
|
|
8
|
+
'last 2 versions',
|
|
9
|
+
'ie >= 10',
|
|
10
|
+
'Android >= 4',
|
|
11
|
+
'iOS >= 9'
|
|
12
|
+
]);
|
|
13
|
+
exports.default = supportingBrowsers;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Configuration as WebpackConfiguration, WebpackOptionsNormalized } from 'webpack';
|
|
2
|
+
import type { Configuration as WebpackDevServerConfiguration } from 'webpack-dev-server';
|
|
3
|
+
import { AppConfigs } from '../app-configs/types';
|
|
4
|
+
import { createSingleClientWebpackConfig } from "../webpack.client";
|
|
5
|
+
type Overrides = {
|
|
6
|
+
webpack: WebpackConfiguration | WebpackConfiguration[];
|
|
7
|
+
webpackClient: WebpackConfiguration | WebpackConfiguration[];
|
|
8
|
+
webpackDev: WebpackConfiguration | WebpackConfiguration[];
|
|
9
|
+
webpackClientDev: WebpackConfiguration | WebpackConfiguration[];
|
|
10
|
+
webpackServer: WebpackConfiguration;
|
|
11
|
+
webpackServerDev: WebpackConfiguration;
|
|
12
|
+
webpackProd: WebpackConfiguration;
|
|
13
|
+
webpackClientProd: WebpackConfiguration | WebpackConfiguration[];
|
|
14
|
+
webpackServerProd: WebpackConfiguration;
|
|
15
|
+
devServer: WebpackDevServerConfiguration;
|
|
16
|
+
stats: WebpackOptionsNormalized['stats'];
|
|
17
|
+
babel: any;
|
|
18
|
+
babelClient: any;
|
|
19
|
+
babelServer: any;
|
|
20
|
+
babelDependencies: any;
|
|
21
|
+
postcss: any[];
|
|
22
|
+
browsers: string[];
|
|
23
|
+
supportingBrowsers: string[];
|
|
24
|
+
Dockerfile: string;
|
|
25
|
+
'DockerfileCompiled': string;
|
|
26
|
+
nginx: string;
|
|
27
|
+
'start.sh': string;
|
|
28
|
+
serverExternalsExemptions: Array<string | RegExp>;
|
|
29
|
+
};
|
|
30
|
+
type OmitFirstArg<F> = F extends (x: any, ...args: infer P) => infer R ? (...args: P) => R : never;
|
|
31
|
+
type BoundCreateSingleClientWebpackConfig = OmitFirstArg<typeof createSingleClientWebpackConfig>;
|
|
32
|
+
type ClientWebpackAdditionalArgs = {
|
|
33
|
+
createSingleClientWebpackConfig: BoundCreateSingleClientWebpackConfig;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Дополнительные аргументы, которые будут переданы в функцию оверрайда
|
|
37
|
+
*/
|
|
38
|
+
type OverridesAdditionalArgs = {
|
|
39
|
+
webpack: ClientWebpackAdditionalArgs;
|
|
40
|
+
webpackClient: ClientWebpackAdditionalArgs;
|
|
41
|
+
webpackDev: ClientWebpackAdditionalArgs;
|
|
42
|
+
webpackClientDev: ClientWebpackAdditionalArgs;
|
|
43
|
+
};
|
|
44
|
+
type OverrideFunction<K extends keyof Overrides, AdditionalArgs = K extends keyof OverridesAdditionalArgs ? OverridesAdditionalArgs[K] : undefined> = (config: Overrides[K], appConfig: AppConfigs, additionalArgs: AdditionalArgs) => Overrides[K];
|
|
45
|
+
export type OverrideFile = {
|
|
46
|
+
[K in keyof Overrides]?: OverrideFunction<K>;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @param {String|String[]} overridesKey Ключи оверрайда
|
|
51
|
+
* @param {Object} config Конфиг, к которому нужно применить оверрайды
|
|
52
|
+
* @param args Дополнительные аргументы, которые будут переданы в функцию оверрайда
|
|
53
|
+
* @returns {*}
|
|
54
|
+
*/
|
|
55
|
+
declare function applyOverrides<T extends Overrides[Key], Key extends keyof Overrides, Args = Key extends keyof OverridesAdditionalArgs ? OverridesAdditionalArgs[Key] : undefined>(overridesKey: Key | Key[], config: T, args?: any): T;
|
|
56
|
+
export default applyOverrides;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const app_configs_1 = __importDefault(require("../app-configs"));
|
|
7
|
+
let overrides = [];
|
|
8
|
+
overrides = app_configs_1.default.overridesPath.map(path => {
|
|
9
|
+
try {
|
|
10
|
+
const requireResult = require(path);
|
|
11
|
+
if (requireResult.__esModule) {
|
|
12
|
+
// ts-node импортирует esModules, из них надо вытягивать default именно так
|
|
13
|
+
return requireResult.default;
|
|
14
|
+
}
|
|
15
|
+
return requireResult;
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
console.error(`Unable to process override file "${path}"`);
|
|
19
|
+
console.log(e);
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* @param {String|String[]} overridesKey Ключи оверрайда
|
|
26
|
+
* @param {Object} config Конфиг, к которому нужно применить оверрайды
|
|
27
|
+
* @param args Дополнительные аргументы, которые будут переданы в функцию оверрайда
|
|
28
|
+
* @returns {*}
|
|
29
|
+
*/
|
|
30
|
+
function applyOverrides(overridesKey, config, args) {
|
|
31
|
+
if (typeof overridesKey === 'string') {
|
|
32
|
+
overridesKey = [overridesKey];
|
|
33
|
+
}
|
|
34
|
+
overridesKey.forEach(key => {
|
|
35
|
+
overrides.forEach((override) => {
|
|
36
|
+
if (override.hasOwnProperty(key)) {
|
|
37
|
+
const overrideFn = override[key];
|
|
38
|
+
if (typeof overrideFn !== 'function') {
|
|
39
|
+
throw new TypeError(`Override ${key} must be a function`);
|
|
40
|
+
}
|
|
41
|
+
config = overrideFn(config, app_configs_1.default, args);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
return config;
|
|
46
|
+
}
|
|
47
|
+
exports.default = applyOverrides;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function checkNodeVersion(majorVersion) {
|
|
4
|
+
const actualVersion = process.versions.node.split('.');
|
|
5
|
+
return parseInt(actualVersion[0], 10) >= majorVersion;
|
|
6
|
+
}
|
|
7
|
+
exports.default = checkNodeVersion;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findLoader = void 0;
|
|
4
|
+
function findLoader(config, testRule) {
|
|
5
|
+
var _a;
|
|
6
|
+
for (const rule of config.module.rules) {
|
|
7
|
+
if (rule === '...' || !rule) {
|
|
8
|
+
// Webpack имеет странный тип для rules, который позволяет в него положить строку '...'. Успокаиваем TS
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
if (rule.test && rule.test.toString() === testRule) {
|
|
12
|
+
return rule;
|
|
13
|
+
}
|
|
14
|
+
if (rule.oneOf) {
|
|
15
|
+
for (const oneOfRule of rule.oneOf) {
|
|
16
|
+
if (oneOfRule && oneOfRule.test && ((_a = oneOfRule === null || oneOfRule === void 0 ? void 0 : oneOfRule.test) === null || _a === void 0 ? void 0 : _a.toString()) === testRule) {
|
|
17
|
+
return oneOfRule;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.findLoader = findLoader;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type Entry = string | string[] | Record<string, string | string[]>;
|
|
2
|
+
/**
|
|
3
|
+
* @param {string|string[]|object} entryPoint Строка, массив строк или объект с энтрипоинтами
|
|
4
|
+
* @param {Function} getSingleEntry Функция, возвращающая конфигурацию для одного entryPoint
|
|
5
|
+
* @param args Дополнительные аргументы, которые будут переданы в getSingleEntry функцию
|
|
6
|
+
* @returns {*}
|
|
7
|
+
*/
|
|
8
|
+
declare function getEntry<AdditionalArgs extends unknown[]>(entryPoint: Entry, getSingleEntry: (entry: string[], ...args: AdditionalArgs) => string[], ...args: AdditionalArgs): string[] | Record<string, string | string[]>;
|
|
9
|
+
export default getEntry;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* @param {string|string[]|object} entryPoint Строка, массив строк или объект с энтрипоинтами
|
|
5
|
+
* @param {Function} getSingleEntry Функция, возвращающая конфигурацию для одного entryPoint
|
|
6
|
+
* @param args Дополнительные аргументы, которые будут переданы в getSingleEntry функцию
|
|
7
|
+
* @returns {*}
|
|
8
|
+
*/
|
|
9
|
+
function getEntry(entryPoint, getSingleEntry, ...args) {
|
|
10
|
+
if (typeof entryPoint === 'string') {
|
|
11
|
+
return getSingleEntry([entryPoint], ...args);
|
|
12
|
+
}
|
|
13
|
+
if (Array.isArray(entryPoint)) {
|
|
14
|
+
return getSingleEntry(entryPoint, ...args);
|
|
15
|
+
}
|
|
16
|
+
// client entry also can be an object, so we must add hot loader to each entry point
|
|
17
|
+
return Object.keys(entryPoint).reduce((result, entryPointName) => {
|
|
18
|
+
const entry = getEntry(entryPoint[entryPointName], getSingleEntry, ...args);
|
|
19
|
+
return Object.assign(Object.assign({}, result), { [entryPointName]: entry });
|
|
20
|
+
}, {});
|
|
21
|
+
}
|
|
22
|
+
exports.default = getEntry;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPolyfills = void 0;
|
|
4
|
+
// require.resolve вынесен как параметр функции для того, чтоб это можно было протестировать.
|
|
5
|
+
// на данный момент jest не дает возможности мокать require.resolve https://github.com/facebook/jest/issues/9543
|
|
6
|
+
function getPolyfills(config, requireResolve = require.resolve) {
|
|
7
|
+
const polyfills = [];
|
|
8
|
+
if (config.clientPolyfillsEntry && Array.isArray(config.clientPolyfillsEntry)) {
|
|
9
|
+
polyfills.push(...config.clientPolyfillsEntry);
|
|
10
|
+
}
|
|
11
|
+
else if (config.clientPolyfillsEntry) {
|
|
12
|
+
polyfills.push(config.clientPolyfillsEntry);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
// Для сохранения обратной совместимости нам надо добавлять полифилы из физера только тогда, когда пользователь
|
|
16
|
+
// не задал свои кастомные полифилы.
|
|
17
|
+
try {
|
|
18
|
+
const aruiPolyfills = requireResolve('arui-feather/polyfills');
|
|
19
|
+
polyfills.push(aruiPolyfills);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
// just ignore it
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return polyfills;
|
|
26
|
+
}
|
|
27
|
+
exports.getPolyfills = getPolyfills;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ignore attempts to require any types of assets
|
|
3
|
+
(() => {
|
|
4
|
+
// simply ignore css files, it wont cause any damage
|
|
5
|
+
const ignoreExtensions = [
|
|
6
|
+
'.css'
|
|
7
|
+
];
|
|
8
|
+
// warn about other requires, because it may lead to unexpected behaviour in production
|
|
9
|
+
const warnExtensions = [
|
|
10
|
+
'.gif',
|
|
11
|
+
'.jpeg',
|
|
12
|
+
'.jpg',
|
|
13
|
+
'.ico',
|
|
14
|
+
'.png',
|
|
15
|
+
'.xml',
|
|
16
|
+
'.svg',
|
|
17
|
+
'.mp4',
|
|
18
|
+
'.webm',
|
|
19
|
+
'.ogv',
|
|
20
|
+
'.aac',
|
|
21
|
+
'.mp3',
|
|
22
|
+
'.wav',
|
|
23
|
+
'.ogg'
|
|
24
|
+
];
|
|
25
|
+
const noop = () => { };
|
|
26
|
+
const warn = (_, path) => console.warn(`\u001B[0;31mWARNING!
|
|
27
|
+
Trying to require ${path} in node.js.
|
|
28
|
+
Non-js files is ignored when required in node_modules\u001B[0m`);
|
|
29
|
+
ignoreExtensions.forEach(e => require.extensions[e] = noop);
|
|
30
|
+
warnExtensions.forEach(e => require.extensions[e] = warn);
|
|
31
|
+
})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Мы используем ts-node для работы c конфигами, описаными на ts
|
|
3
|
+
require('ts-node')
|
|
4
|
+
.register({
|
|
5
|
+
transpileOnly: true,
|
|
6
|
+
ignore: [],
|
|
7
|
+
compilerOptions: {
|
|
8
|
+
target: 'ES2016',
|
|
9
|
+
module: 'CommonJS',
|
|
10
|
+
skipLibCheck: true,
|
|
11
|
+
allowJs: false,
|
|
12
|
+
allowSyntheticDefaultImports: true,
|
|
13
|
+
moduleResolution: 'node',
|
|
14
|
+
esModuleInterop: true,
|
|
15
|
+
},
|
|
16
|
+
skipProject: true,
|
|
17
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function tryResolve(...args: Parameters<typeof require.resolve>): string | undefined;
|
|
2
|
+
/**
|
|
3
|
+
* Возвращает полный путь до модуля из node_modules относительно базового пути.
|
|
4
|
+
* Может быть полезно для определения пути до модуля, когда в проекте установлено сразу несколько модулей.
|
|
5
|
+
* /project
|
|
6
|
+
* --/node_modules
|
|
7
|
+
* ----/module1 // через эту функцию мы получим этот модуль
|
|
8
|
+
* ----/arui-scripts
|
|
9
|
+
* ------/node_modules
|
|
10
|
+
* --------/module1 // через require.resolve мы получим этот модуль
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveNodeModuleRelativeTo(basePath: string, moduleName: string): string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveNodeModuleRelativeTo = exports.tryResolve = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
function tryResolve(...args) {
|
|
9
|
+
try {
|
|
10
|
+
return require.resolve(...args);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.tryResolve = tryResolve;
|
|
17
|
+
/**
|
|
18
|
+
* Возвращает полный путь до модуля из node_modules относительно базового пути.
|
|
19
|
+
* Может быть полезно для определения пути до модуля, когда в проекте установлено сразу несколько модулей.
|
|
20
|
+
* /project
|
|
21
|
+
* --/node_modules
|
|
22
|
+
* ----/module1 // через эту функцию мы получим этот модуль
|
|
23
|
+
* ----/arui-scripts
|
|
24
|
+
* ------/node_modules
|
|
25
|
+
* --------/module1 // через require.resolve мы получим этот модуль
|
|
26
|
+
*/
|
|
27
|
+
function resolveNodeModuleRelativeTo(basePath, moduleName) {
|
|
28
|
+
return path_1.default.resolve(basePath, `node_modules/${moduleName}`);
|
|
29
|
+
}
|
|
30
|
+
exports.resolveNodeModuleRelativeTo = resolveNodeModuleRelativeTo;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import webpack, { Configuration } from 'webpack';
|
|
2
|
+
import { Entry } from './util/get-entry';
|
|
3
|
+
/**
|
|
4
|
+
* Создает конфигурацию для сборки клиентского кода. Может быть использована для создания дополнительных конфигураций.
|
|
5
|
+
* @param mode Режим сборки (dev или prod)
|
|
6
|
+
* @param entry Точка входа, любой валидный вход для webpack
|
|
7
|
+
* @param configName Имя конфигурации, если не указано, то используется имя по умолчанию
|
|
8
|
+
*/
|
|
9
|
+
export declare const createSingleClientWebpackConfig: (mode: 'dev' | 'prod', entry: Entry, configName?: string) => Configuration;
|
|
10
|
+
export declare const createClientWebpackConfig: (mode: 'dev' | 'prod') => webpack.Configuration | webpack.Configuration[];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const apply_overrides_1 = __importDefault(require("./util/apply-overrides"));
|
|
7
|
+
const webpack_client_1 = require("./webpack.client");
|
|
8
|
+
const config = (0, apply_overrides_1.default)(['webpack', 'webpackClient', 'webpackDev', 'webpackClientDev'], (0, webpack_client_1.createClientWebpackConfig)('dev'), { createSingleClientWebpackConfig: webpack_client_1.createSingleClientWebpackConfig.bind(null, 'dev') });
|
|
9
|
+
exports.default = config;
|