| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- const start = Date.now();
- const argv = require('minimist')(process.argv.slice(2));
- // make sure to set debug flag before requiring anything
- if (argv.debug) {
- process.env.DEBUG = `vite:` + (argv.debug === true ? '*' : argv.debug);
- try {
- // this is only present during local development
- require('source-map-support').install();
- }
- catch (e) { }
- }
- const os_1 = __importDefault(require("os"));
- const path_1 = __importDefault(require("path"));
- const chalk_1 = __importDefault(require("chalk"));
- const config_1 = require("./config");
- const command = argv._[0];
- const defaultMode = command === 'build' ? 'production' : 'development';
- function logHelp() {
- console.log(`
- Usage: vite [command] [args] [--options]
- Commands:
- vite Start server in current directory.
- vite serve [root=cwd] Start server in target directory.
- vite build [root=cwd] Build target directory.
- Options:
- --help, -h [boolean] show help
- --version, -v [boolean] show version
- --config, -c [string] use specified config file
- --port [number] port to use for serve
- --open [boolean] open browser on server start
- --entry [string] entry file for build (default: index.html)
- --base [string] public base path for build (default: /)
- --outDir [string] output directory for build (default: dist)
- --assetsDir [string] directory under outDir to place assets in (default: assets)
- --assetsInlineLimit [number] static asset base64 inline threshold in bytes (default: 4096)
- --sourcemap [boolean] output source maps for build (default: false)
- --minify [boolean | 'terser' | 'esbuild'] enable/disable minification, or specify
- minifier to use. (default: 'terser')
- --mode, -m [string] specify env mode (default: 'development' for dev, 'production' for build)
- --ssr [boolean] build for server-side rendering
- --jsx ['vue' | 'preact' | 'react'] choose jsx preset (default: 'vue')
- --jsx-factory [string] (default: React.createElement)
- --jsx-fragment [string] (default: React.Fragment)
- --force [boolean] force the optimizer to ignore the cache and re-bundle
- `);
- }
- console.log(chalk_1.default.cyan(`vite v${require('../../package.json').version}`));
- (async () => {
- const { help, h, mode, m, version, v } = argv;
- if (help || h) {
- logHelp();
- return;
- }
- else if (version || v) {
- // noop, already logged
- return;
- }
- const envMode = mode || m || defaultMode;
- const options = await resolveOptions(envMode);
- process.env.NODE_ENV = process.env.NODE_ENV || envMode;
- if (!options.command || options.command === 'serve') {
- runServe(options);
- }
- else if (options.command === 'build') {
- runBuild(options);
- }
- else if (options.command === 'optimize') {
- runOptimize(options);
- }
- else {
- console.error(chalk_1.default.red(`unknown command: ${options.command}`));
- process.exit(1);
- }
- })();
- async function resolveOptions(mode) {
- // specify env mode
- argv.mode = mode;
- // map jsx args
- if (argv['jsx-factory']) {
- ;
- (argv.jsx || (argv.jsx = {})).factory = argv['jsx-factory'];
- }
- if (argv['jsx-fragment']) {
- ;
- (argv.jsx || (argv.jsx = {})).fragment = argv['jsx-fragment'];
- }
- // cast xxx=true | false into actual booleans
- Object.keys(argv).forEach((key) => {
- if (argv[key] === 'false') {
- argv[key] = false;
- }
- if (argv[key] === 'true') {
- argv[key] = true;
- }
- });
- // command
- if (argv._[0]) {
- argv.command = argv._[0];
- }
- // normalize root
- // assumes all commands are in the form of `vite [command] [root]`
- if (!argv.root && argv._[1]) {
- argv.root = argv._[1];
- }
- if (argv.root) {
- argv.root = path_1.default.isAbsolute(argv.root) ? argv.root : path_1.default.resolve(argv.root);
- }
- const userConfig = await config_1.resolveConfig(mode, argv.config || argv.c);
- if (userConfig) {
- return {
- ...userConfig,
- ...argv // cli options take higher priority
- };
- }
- // deprecation warning
- if (argv.sw || argv.serviceWorker) {
- console.warn(chalk_1.default.yellow(`[vite] service worker mode has been removed due to insufficient performance gains.`));
- }
- return argv;
- }
- function runServe(options) {
- const server = require('./server').createServer(options);
- let port = options.port || 3000;
- let hostname = options.hostname || 'localhost';
- const protocol = options.https ? 'https' : 'http';
- server.on('error', (e) => {
- if (e.code === 'EADDRINUSE') {
- console.log(`Port ${port} is in use, trying another one...`);
- setTimeout(() => {
- server.close();
- server.listen(++port);
- }, 100);
- }
- else {
- console.error(chalk_1.default.red(`[vite] server error:`));
- console.error(e);
- }
- });
- server.listen(port, () => {
- console.log();
- console.log(` Dev server running at:`);
- const interfaces = os_1.default.networkInterfaces();
- Object.keys(interfaces).forEach((key) => {
- ;
- (interfaces[key] || [])
- .filter((details) => details.family === 'IPv4')
- .map((detail) => {
- return {
- type: detail.address.includes('127.0.0.1')
- ? 'Local: '
- : 'Network: ',
- host: detail.address.replace('127.0.0.1', hostname)
- };
- })
- .forEach(({ type, host }) => {
- const url = `${protocol}://${host}:${chalk_1.default.bold(port)}/`;
- console.log(` > ${type} ${chalk_1.default.cyan(url)}`);
- });
- });
- console.log();
- require('debug')('vite:server')(`server ready in ${Date.now() - start}ms.`);
- if (options.open) {
- require('./utils/openBrowser').openBrowser(`${protocol}://${hostname}:${port}`);
- }
- });
- }
- async function runBuild(options) {
- try {
- await require('./build')[options.ssr ? 'ssrBuild' : 'build'](options);
- process.exit(0);
- }
- catch (err) {
- console.error(chalk_1.default.red(`[vite] Build errored out.`));
- console.error(err);
- process.exit(1);
- }
- }
- async function runOptimize(options) {
- try {
- await require('./optimizer').optimizeDeps(options, true /* as cli command */);
- process.exit(0);
- }
- catch (err) {
- console.error(chalk_1.default.red(`[vite] Dep optimization errored out.`));
- console.error(err);
- process.exit(1);
- }
- }
- //# sourceMappingURL=cli.js.map
|