同步操作将从 sxfad/react-admin 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
'use strict';// Do this as the first thing so that any code reading it knows the right env.process.env.BABEL_ENV = 'production';process.env.NODE_ENV = 'production';// Makes the script crash on unhandled rejections instead of silently// ignoring them. In the future, promise rejections that are not handled will// terminate the Node.js process with a non-zero exit code.process.on('unhandledRejection', err => {throw err;});// Ensure environment variables are read.require('../config/env');const path = require('path');const chalk = require('chalk');const fs = require('fs-extra');const webpack = require('webpack');const bfj = require('bfj');const configFactory = require('../config/webpack.config');const paths = require('../config/paths');const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');const printHostingInstructions = require('react-dev-utils/printHostingInstructions');const FileSizeReporter = require('react-dev-utils/FileSizeReporter');const printBuildError = require('react-dev-utils/printBuildError');const measureFileSizesBeforeBuild =FileSizeReporter.measureFileSizesBeforeBuild;const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild;const useYarn = fs.existsSync(paths.yarnLockFile);// These sizes are pretty large. We'll warn for bundles exceeding them.const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;const isInteractive = process.stdout.isTTY;// Warn and crash if required files are missingif (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {process.exit(1);}// Process CLI argumentsconst argv = process.argv.slice(2);const writeStatsJson = argv.indexOf('--stats') !== -1;// Generate configurationconst config = configFactory('production');// We require that you explicitly set browsers and do not fall back to// browserslist defaults.const { checkBrowsers } = require('react-dev-utils/browsersHelper');checkBrowsers(paths.appPath, isInteractive).then(() => {// First, read the current file sizes in build directory.// This lets us display how much they changed later.return measureFileSizesBeforeBuild(paths.appBuild);}).then(previousFileSizes => {// Remove all content but keep the directory so that// if you're in it, you don't end up in Trashfs.emptyDirSync(paths.appBuild);// Merge with the public foldercopyPublicFolder();// Start the webpack buildreturn build(previousFileSizes);}).then(({ stats, previousFileSizes, warnings }) => {if (warnings.length) {console.log(chalk.yellow('Compiled with warnings.\n'));console.log(warnings.join('\n\n'));console.log('\nSearch for the ' +chalk.underline(chalk.yellow('keywords')) +' to learn more about each warning.');console.log('To ignore, add ' +chalk.cyan('// eslint-disable-next-line') +' to the line before.\n');} else {console.log(chalk.green('Compiled successfully.\n'));}console.log('File sizes after gzip:\n');printFileSizesAfterBuild(stats,previousFileSizes,paths.appBuild,WARN_AFTER_BUNDLE_GZIP_SIZE,WARN_AFTER_CHUNK_GZIP_SIZE);console.log();const appPackage = require(paths.appPackageJson);const publicUrl = paths.publicUrl;const publicPath = config.output.publicPath;const buildFolder = path.relative(process.cwd(), paths.appBuild);printHostingInstructions(appPackage,publicUrl,publicPath,buildFolder,useYarn);},err => {console.log(chalk.red('Failed to compile.\n'));printBuildError(err);process.exit(1);}).catch(err => {if (err && err.message) {console.log(err.message);}process.exit(1);});// Create the production build and print the deployment instructions.function build(previousFileSizes) {console.log('Creating an optimized production build...');let compiler = webpack(config);return new Promise((resolve, reject) => {compiler.run((err, stats) => {let messages;if (err) {if (!err.message) {return reject(err);}messages = formatWebpackMessages({errors: [err.message],warnings: [],});} else {messages = formatWebpackMessages(stats.toJson({ all: false, warnings: true, errors: true }));}if (messages.errors.length) {// Only keep the first error. Others are often indicative// of the same problem, but confuse the reader with noise.if (messages.errors.length > 1) {messages.errors.length = 1;}return reject(new Error(messages.errors.join('\n\n')));}if (process.env.CI &&(typeof process.env.CI !== 'string' ||process.env.CI.toLowerCase() !== 'false') &&messages.warnings.length) {console.log(chalk.yellow('\nTreating warnings as errors because process.env.CI = true.\n' +'Most CI servers set it automatically.\n'));return reject(new Error(messages.warnings.join('\n\n')));}const resolveArgs = {stats,previousFileSizes,warnings: messages.warnings,};if (writeStatsJson) {return bfj.write(paths.appBuild + '/bundle-stats.json', stats.toJson()).then(() => resolve(resolveArgs)).catch(error => reject(new Error(error)));}return resolve(resolveArgs);});});}function copyPublicFolder() {fs.copySync(paths.appPublic, paths.appBuild, {dereference: true,filter: file => file !== paths.appHtml,});}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。