@gravity-ui/app-builder 0.0.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/CHANGELOG.md +14 -0
- package/LICENSE +21 -0
- package/README.md +9 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +46 -0
- package/dist/commands/build/build-lib.d.ts +2 -0
- package/dist/commands/build/build-lib.js +39 -0
- package/dist/commands/build/build-service/client.d.ts +2 -0
- package/dist/commands/build/build-service/client.js +8 -0
- package/dist/commands/build/build-service/index.d.ts +2 -0
- package/dist/commands/build/build-service/index.js +46 -0
- package/dist/commands/build/build-service/server.d.ts +2 -0
- package/dist/commands/build/build-service/server.js +44 -0
- package/dist/commands/build/index.d.ts +2 -0
- package/dist/commands/build/index.js +33 -0
- package/dist/commands/dev/client.d.ts +3 -0
- package/dist/commands/dev/client.js +98 -0
- package/dist/commands/dev/index.d.ts +2 -0
- package/dist/commands/dev/index.js +101 -0
- package/dist/commands/dev/server.d.ts +3 -0
- package/dist/commands/dev/server.js +38 -0
- package/dist/common/babel/index.d.ts +15 -0
- package/dist/common/babel/index.js +17 -0
- package/dist/common/babel/ui-preset.d.ts +1 -0
- package/dist/common/babel/ui-preset.js +71 -0
- package/dist/common/child-process/controllable-script.d.ts +19 -0
- package/dist/common/child-process/controllable-script.js +125 -0
- package/dist/common/child-process/utils.d.ts +1 -0
- package/dist/common/child-process/utils.js +68 -0
- package/dist/common/command.d.ts +4 -0
- package/dist/common/command.js +2 -0
- package/dist/common/config.d.ts +5 -0
- package/dist/common/config.js +155 -0
- package/dist/common/env.d.ts +1 -0
- package/dist/common/env.js +5 -0
- package/dist/common/library/index.d.ts +2 -0
- package/dist/common/library/index.js +302 -0
- package/dist/common/links/link.d.ts +1 -0
- package/dist/common/links/link.js +109 -0
- package/dist/common/links/unlink.d.ts +3 -0
- package/dist/common/links/unlink.js +72 -0
- package/dist/common/logger/colors.d.ts +12 -0
- package/dist/common/logger/colors.js +8 -0
- package/dist/common/logger/index.d.ts +47 -0
- package/dist/common/logger/index.js +120 -0
- package/dist/common/logger/pretty-time.d.ts +2 -0
- package/dist/common/logger/pretty-time.js +51 -0
- package/dist/common/models/index.d.ts +184 -0
- package/dist/common/models/index.js +11 -0
- package/dist/common/package.d.ts +19 -0
- package/dist/common/package.js +42 -0
- package/dist/common/paths.d.ts +20 -0
- package/dist/common/paths.js +28 -0
- package/dist/common/s3-upload/compress.d.ts +2 -0
- package/dist/common/s3-upload/compress.js +23 -0
- package/dist/common/s3-upload/index.d.ts +3 -0
- package/dist/common/s3-upload/index.js +7 -0
- package/dist/common/s3-upload/s3-client.d.ts +20 -0
- package/dist/common/s3-upload/s3-client.js +111 -0
- package/dist/common/s3-upload/upload.d.ts +14 -0
- package/dist/common/s3-upload/upload.js +117 -0
- package/dist/common/s3-upload/webpack-plugin.d.ts +18 -0
- package/dist/common/s3-upload/webpack-plugin.js +53 -0
- package/dist/common/tempData.d.ts +13 -0
- package/dist/common/tempData.js +43 -0
- package/dist/common/typescript/compile.d.ts +5 -0
- package/dist/common/typescript/compile.js +72 -0
- package/dist/common/typescript/diagnostic.d.ts +2 -0
- package/dist/common/typescript/diagnostic.js +46 -0
- package/dist/common/typescript/transformers.d.ts +2 -0
- package/dist/common/typescript/transformers.js +114 -0
- package/dist/common/typescript/utils.d.ts +10 -0
- package/dist/common/typescript/utils.js +53 -0
- package/dist/common/typescript/watch.d.ts +7 -0
- package/dist/common/typescript/watch.js +60 -0
- package/dist/common/utils.d.ts +2 -0
- package/dist/common/utils.js +19 -0
- package/dist/common/webpack/compile.d.ts +2 -0
- package/dist/common/webpack/compile.js +31 -0
- package/dist/common/webpack/config.d.ts +23 -0
- package/dist/common/webpack/config.js +662 -0
- package/dist/common/webpack/progress-plugin.d.ts +11 -0
- package/dist/common/webpack/progress-plugin.js +64 -0
- package/dist/common/webpack/public-path.d.ts +1 -0
- package/dist/common/webpack/public-path.js +2 -0
- package/dist/common/webpack/storybook.d.ts +13 -0
- package/dist/common/webpack/storybook.js +86 -0
- package/dist/common/webpack/utils.d.ts +7 -0
- package/dist/common/webpack/utils.js +71 -0
- package/dist/create-cli.d.ts +54 -0
- package/dist/create-cli.js +221 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +8 -0
- package/package.json +154 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
interface IDebugInfo {
|
|
3
|
+
break?: boolean;
|
|
4
|
+
port?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class ControllableScript {
|
|
7
|
+
isRunning: boolean;
|
|
8
|
+
private process?;
|
|
9
|
+
private script;
|
|
10
|
+
private tmpFileName;
|
|
11
|
+
private debugInfo;
|
|
12
|
+
constructor(script: string, debugInfo: IDebugInfo | null);
|
|
13
|
+
start(): void;
|
|
14
|
+
stop(signal?: NodeJS.Signals | null, code?: number): Promise<void>;
|
|
15
|
+
onMessage(callback: (msg: any) => void): void;
|
|
16
|
+
onExit(callback: (code: number | null, signal: NodeJS.Signals | null) => void): void;
|
|
17
|
+
send(msg: any): void;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.ControllableScript = void 0;
|
|
30
|
+
const utils_1 = require("./utils");
|
|
31
|
+
const path_1 = __importDefault(require("path"));
|
|
32
|
+
const fs = __importStar(require("fs-extra"));
|
|
33
|
+
const execa = __importStar(require("execa"));
|
|
34
|
+
class ControllableScript {
|
|
35
|
+
constructor(script, debugInfo) {
|
|
36
|
+
this.isRunning = false;
|
|
37
|
+
this.script = '';
|
|
38
|
+
this.tmpFileName = '';
|
|
39
|
+
this.script = script;
|
|
40
|
+
this.debugInfo = debugInfo;
|
|
41
|
+
}
|
|
42
|
+
start() {
|
|
43
|
+
const args = [];
|
|
44
|
+
this.tmpFileName = (0, utils_1.tmpNameSync)(path_1.default.join(process.cwd(), 'node_modules'));
|
|
45
|
+
fs.outputFileSync(this.tmpFileName, this.script);
|
|
46
|
+
this.isRunning = true;
|
|
47
|
+
// Passing --inspect isn't necessary for the child process to launch a port, but it allows some editors to automatically attach
|
|
48
|
+
if (this.debugInfo) {
|
|
49
|
+
if (this.debugInfo.break) {
|
|
50
|
+
args.push(`--inspect-brk=${this.debugInfo.port}`);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
args.push(`--inspect=${this.debugInfo.port}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
this.process = execa.node(this.tmpFileName, args, {
|
|
57
|
+
env: Object.assign({}, process.env),
|
|
58
|
+
stdio: [`inherit`, `inherit`, `inherit`, `ipc`],
|
|
59
|
+
nodeOptions: ['--unhandled-rejections=strict'],
|
|
60
|
+
});
|
|
61
|
+
this.process.on('unhandledRejection', () => {
|
|
62
|
+
this.stop('SIGABRT');
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
async stop(signal = null, code) {
|
|
66
|
+
if (!this.process) {
|
|
67
|
+
throw new Error(`Trying to stop the process before starting it`);
|
|
68
|
+
}
|
|
69
|
+
this.isRunning = false;
|
|
70
|
+
try {
|
|
71
|
+
if (signal) {
|
|
72
|
+
this.process.kill(signal);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.process.send({
|
|
76
|
+
type: `COMMAND`,
|
|
77
|
+
action: {
|
|
78
|
+
type: `EXIT`,
|
|
79
|
+
payload: code,
|
|
80
|
+
},
|
|
81
|
+
}, () => {
|
|
82
|
+
// The try/catch won't suffice for this process.send
|
|
83
|
+
// So use the callback to manually catch the Error, otherwise it'll be thrown
|
|
84
|
+
// Ref: https://nodejs.org/api/child_process.html#child_process_subprocess_send_message_sendhandle_options_callback
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
// Ignore error if process has crashed or already quit.
|
|
90
|
+
}
|
|
91
|
+
return new Promise((resolve) => {
|
|
92
|
+
if (!this.process) {
|
|
93
|
+
throw new Error(`Trying to stop the process before starting it`);
|
|
94
|
+
}
|
|
95
|
+
this.process.on(`exit`, () => {
|
|
96
|
+
if (this.process) {
|
|
97
|
+
this.process.removeAllListeners();
|
|
98
|
+
}
|
|
99
|
+
this.process = undefined;
|
|
100
|
+
fs.unlinkSync(this.tmpFileName);
|
|
101
|
+
resolve();
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
onMessage(callback) {
|
|
106
|
+
if (!this.process) {
|
|
107
|
+
throw new Error(`Trying to attach message handler before process started`);
|
|
108
|
+
}
|
|
109
|
+
this.process.on(`message`, callback);
|
|
110
|
+
}
|
|
111
|
+
onExit(callback) {
|
|
112
|
+
if (!this.process) {
|
|
113
|
+
throw new Error(`Trying to attach exit handler before process started`);
|
|
114
|
+
}
|
|
115
|
+
this.process.on(`exit`, callback);
|
|
116
|
+
}
|
|
117
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
118
|
+
send(msg) {
|
|
119
|
+
if (!this.process) {
|
|
120
|
+
throw new Error(`Trying to send a message before process started`);
|
|
121
|
+
}
|
|
122
|
+
this.process.send(msg);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.ControllableScript = ControllableScript;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function tmpNameSync(tmpDir: string, retries?: number): string;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.tmpNameSync = void 0;
|
|
30
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
31
|
+
const path_1 = __importDefault(require("path"));
|
|
32
|
+
const fs = __importStar(require("fs-extra"));
|
|
33
|
+
const RANDOM_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
|
34
|
+
function randomChars(howMany) {
|
|
35
|
+
var _a, _b;
|
|
36
|
+
const value = [];
|
|
37
|
+
let rnd = null;
|
|
38
|
+
// make sure that we do not fail because we ran out of entropy
|
|
39
|
+
try {
|
|
40
|
+
rnd = crypto_1.default.randomBytes(howMany);
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
// eslint-disable-next-line security/detect-pseudoRandomBytes
|
|
44
|
+
rnd = crypto_1.default.pseudoRandomBytes(howMany);
|
|
45
|
+
}
|
|
46
|
+
for (let i = 0; i < howMany; i++) {
|
|
47
|
+
value.push((_b = RANDOM_CHARS[((_a = rnd[i]) !== null && _a !== void 0 ? _a : 0) % RANDOM_CHARS.length]) !== null && _b !== void 0 ? _b : '0');
|
|
48
|
+
}
|
|
49
|
+
return value.join('');
|
|
50
|
+
}
|
|
51
|
+
function generateTmpName(tmpDir) {
|
|
52
|
+
const name = ['tmp', '-', process.pid, '-', randomChars(12)].join('');
|
|
53
|
+
return path_1.default.join(tmpDir, name);
|
|
54
|
+
}
|
|
55
|
+
function tmpNameSync(tmpDir, retries = 3) {
|
|
56
|
+
let tries = retries;
|
|
57
|
+
do {
|
|
58
|
+
const name = generateTmpName(tmpDir);
|
|
59
|
+
try {
|
|
60
|
+
fs.statSync(name);
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
return name;
|
|
64
|
+
}
|
|
65
|
+
} while (tries-- > 0);
|
|
66
|
+
throw new Error('Could not get a unique tmp filename, max tries reached');
|
|
67
|
+
}
|
|
68
|
+
exports.tmpNameSync = tmpNameSync;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { NormalizedServiceConfig, ServiceConfig, LibraryConfig } from './models';
|
|
2
|
+
import type { CliArgs } from '../create-cli';
|
|
3
|
+
export declare function getProjectConfig(command: string, { env, ...argv }: Partial<CliArgs>): Promise<NormalizedServiceConfig>;
|
|
4
|
+
export declare function normalizeConfig(userConfig: ServiceConfig, mode?: 'dev' | 'build' | string): Promise<NormalizedServiceConfig>;
|
|
5
|
+
export declare function normalizeConfig(userConfig: LibraryConfig, mode?: 'dev' | 'build' | string): Promise<LibraryConfig>;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.normalizeConfig = exports.getProjectConfig = void 0;
|
|
18
|
+
const path_1 = __importDefault(require("path"));
|
|
19
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
20
|
+
const cosmiconfig_1 = require("cosmiconfig");
|
|
21
|
+
const cosmiconfig_typescript_loader_1 = require("cosmiconfig-typescript-loader");
|
|
22
|
+
const get_port_1 = __importDefault(require("get-port"));
|
|
23
|
+
const models_1 = require("./models");
|
|
24
|
+
function splitPaths(paths) {
|
|
25
|
+
return (Array.isArray(paths) ? paths : [paths]).flatMap((p) => p.split(','));
|
|
26
|
+
}
|
|
27
|
+
function remapPaths(paths) {
|
|
28
|
+
return splitPaths(paths).map((p) => path_1.default.resolve(process.cwd(), p));
|
|
29
|
+
}
|
|
30
|
+
function omitUndefined(obj) {
|
|
31
|
+
return lodash_1.default.omitBy(obj, lodash_1.default.isUndefined);
|
|
32
|
+
}
|
|
33
|
+
async function getProjectConfig(command, _a) {
|
|
34
|
+
var { env } = _a, argv = __rest(_a, ["env"]);
|
|
35
|
+
function getLoader(loader) {
|
|
36
|
+
return async (pathname, content) => {
|
|
37
|
+
const config = loader(pathname, content);
|
|
38
|
+
if (typeof config === 'function') {
|
|
39
|
+
return await config(command, env);
|
|
40
|
+
}
|
|
41
|
+
return config;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const tsLoader = getLoader((0, cosmiconfig_typescript_loader_1.TypeScriptLoader)());
|
|
45
|
+
const moduleName = 'app-builder';
|
|
46
|
+
const explorer = (0, cosmiconfig_1.cosmiconfigSync)(moduleName, {
|
|
47
|
+
cache: false,
|
|
48
|
+
stopDir: process.cwd(),
|
|
49
|
+
searchPlaces: [
|
|
50
|
+
'package.json',
|
|
51
|
+
`.${moduleName}rc`,
|
|
52
|
+
`.${moduleName}rc.json`,
|
|
53
|
+
`.${moduleName}rc.yaml`,
|
|
54
|
+
`.${moduleName}rc.yml`,
|
|
55
|
+
`.${moduleName}rc.js`,
|
|
56
|
+
`.${moduleName}rc.ts`,
|
|
57
|
+
`.${moduleName}rc.cjs`,
|
|
58
|
+
`${moduleName}.config.js`,
|
|
59
|
+
`${moduleName}.config.ts`,
|
|
60
|
+
`${moduleName}.config.cjs`,
|
|
61
|
+
],
|
|
62
|
+
loaders: {
|
|
63
|
+
'.js': tsLoader,
|
|
64
|
+
'.cjs': tsLoader,
|
|
65
|
+
'.ts': tsLoader,
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
let cfg;
|
|
69
|
+
if (argv.config && typeof argv.config === 'string') {
|
|
70
|
+
cfg = explorer.load(argv.config);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
cfg = explorer.search();
|
|
74
|
+
}
|
|
75
|
+
const client = {
|
|
76
|
+
analyzeBundle: argv.analyzeBundle,
|
|
77
|
+
disableForkTsChecker: argv.disableForkTsChecker,
|
|
78
|
+
disableReactRefresh: argv.disableReactRefresh,
|
|
79
|
+
disableSourceMapGeneration: argv.disableSourceMapGeneration,
|
|
80
|
+
entryFilter: argv.entryFilter,
|
|
81
|
+
lazyCompilation: argv.lazyCompilation,
|
|
82
|
+
reactProfiling: argv.reactProfiling,
|
|
83
|
+
};
|
|
84
|
+
const server = {
|
|
85
|
+
inspect: argv.inspect,
|
|
86
|
+
inspectBrk: argv.inspectBrk,
|
|
87
|
+
};
|
|
88
|
+
const config = Object.assign({}, (await (cfg === null || cfg === void 0 ? void 0 : cfg.config)));
|
|
89
|
+
const projectConfig = Object.assign(Object.assign(Object.assign({}, config), omitUndefined({ target: argv.target, verbose: argv.verbose })), { client: Object.assign(Object.assign(Object.assign({}, config.client), omitUndefined(client)), (argv.cdn === 'false' ? { cdn: undefined } : undefined)), server: Object.assign(Object.assign({}, config.server), omitUndefined(server)) });
|
|
90
|
+
return normalizeConfig(projectConfig, command);
|
|
91
|
+
}
|
|
92
|
+
exports.getProjectConfig = getProjectConfig;
|
|
93
|
+
async function normalizeConfig(userConfig, mode) {
|
|
94
|
+
var _a;
|
|
95
|
+
if ((0, models_1.isServiceConfig)(userConfig)) {
|
|
96
|
+
const config = lodash_1.default.cloneDeep(userConfig);
|
|
97
|
+
const client = typeof config.client === 'object' ? config.client : (config.client = {});
|
|
98
|
+
await normalizeClientConfig(client, mode);
|
|
99
|
+
client.verbose = userConfig.verbose;
|
|
100
|
+
const server = typeof config.server === 'object' ? config.server : (config.server = {});
|
|
101
|
+
server.watch = server.watch && remapPaths(server.watch);
|
|
102
|
+
server.verbose = userConfig.verbose;
|
|
103
|
+
if (mode === 'dev') {
|
|
104
|
+
if (server.port === true) {
|
|
105
|
+
server.port = await (0, get_port_1.default)({ port: 3000 });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return config;
|
|
109
|
+
}
|
|
110
|
+
const config = lodash_1.default.cloneDeep(userConfig);
|
|
111
|
+
config.newJsxTransform = (_a = config.newJsxTransform) !== null && _a !== void 0 ? _a : true;
|
|
112
|
+
return config;
|
|
113
|
+
}
|
|
114
|
+
exports.normalizeConfig = normalizeConfig;
|
|
115
|
+
async function normalizeClientConfig(client, mode) {
|
|
116
|
+
var _a, _b, _c, _d, _e, _f;
|
|
117
|
+
client.newJsxTransform = (_a = client.newJsxTransform) !== null && _a !== void 0 ? _a : true;
|
|
118
|
+
client.publicPathPrefix = client.publicPathPrefix || '';
|
|
119
|
+
client.modules = client.modules && remapPaths(client.modules);
|
|
120
|
+
client.includes = client.includes && remapPaths(client.includes);
|
|
121
|
+
client.images = client.images && remapPaths(client.images);
|
|
122
|
+
client.hiddenSourceMap = (_b = client.hiddenSourceMap) !== null && _b !== void 0 ? _b : true;
|
|
123
|
+
client.svgr = (_c = client.svgr) !== null && _c !== void 0 ? _c : {};
|
|
124
|
+
client.entryFilter = client.entryFilter && splitPaths(client.entryFilter);
|
|
125
|
+
if (mode === 'dev') {
|
|
126
|
+
if (client.lazyCompilation) {
|
|
127
|
+
if (client.lazyCompilation === true) {
|
|
128
|
+
client.lazyCompilation = {
|
|
129
|
+
port: await (0, get_port_1.default)({ port: 6000 }),
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
else if (!client.lazyCompilation.port) {
|
|
133
|
+
client.lazyCompilation.port = await (0, get_port_1.default)({ port: 6000 });
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const devServer = ((_d = client.devServer) === null || _d === void 0 ? void 0 : _d.port)
|
|
137
|
+
? {
|
|
138
|
+
port: client.devServer.port === true
|
|
139
|
+
? await (0, get_port_1.default)({ port: 8000 })
|
|
140
|
+
: client.devServer.port,
|
|
141
|
+
ipc: undefined,
|
|
142
|
+
}
|
|
143
|
+
: { port: undefined, ipc: (_e = client.devServer) === null || _e === void 0 ? void 0 : _e.ipc };
|
|
144
|
+
const _g = (_f = client.devServer) !== null && _f !== void 0 ? _f : {}, { type, options } = _g, other = __rest(_g, ["type", "options"]);
|
|
145
|
+
client.devServer = Object.assign(Object.assign(Object.assign({}, other), devServer), { server: {
|
|
146
|
+
type,
|
|
147
|
+
options,
|
|
148
|
+
} });
|
|
149
|
+
delete client.cdn;
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
delete client.devServer;
|
|
153
|
+
delete client.lazyCompilation;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|