"...include/git@developer.sourcefind.cn:gaoqiong/migraphx.git" did not exist on "6812d12c9a1d88af13858aae2cb3a2a0a86a86ca"
developmentBuild.js 2 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
'use strict';

process.env.BABEL_ENV = 'development';
process.env.NODE_ENV = 'development';

process.on('unhandledRejection', err => { throw err; });

require('./config/env');


const fsPromises = require('fs/promises');
const fsExtra = require('fs-extra');
const chalk = require('react-dev-utils/chalk');
const printBuildError = require('react-dev-utils/printBuildError');
const webpack = require('webpack');

const configFactory = require('./config/webpack.config.dev');
const paths = require('./config/paths');
const formatWebpackMessages = require('./formatWebpackMessages');


async function main() {
    await fsPromises.rm(paths.appBuild, { force: true, recursive: true });
    await fsExtra.copy(paths.appPublic, paths.appBuild, {  // fs.cp() seems not work
        dereference: true,
        filter: file => (file !== paths.appHtml)
    });

    console.log('Creating an development build...');

    const config = configFactory('production');
    const compiler = webpack(config);
    const result = await asyncRun(compiler);

    const { errors, warnings } = formatWebpackMessages(result);

    if (errors.length) {
        console.log(chalk.red('Failed to compile.\n'));
        printBuildError(new Error(errors[0]));
        process.exit(1);
    }

    if (warnings.length) {
        console.log(chalk.yellow('Compiled with warnings.\n'));
        console.log(warnings.join('\n\n'));

        if (isCi()) {
            process.exit(1);
        }

    } else {
        console.log(chalk.green('Compiled successfully.\n'));
    }
}

function asyncRun(compiler) {
    return new Promise((resolve, reject) => {
        compiler.run((err, stats) => {
            resolve({ err, stats });
        });
    });
}

function isCi() {
    if (!process.env.CI) {
        return false;
    }
    if (typeof process.env.CI !== 'string') {
        return true;
    }
    return process.env.CI.toLowerCase() !== 'false';
}

main().catch(err => {
    console.log(chalk.red('Failed to compile.\n'));
    printBuildError(err);
    process.exit(1);
});