vite 2.6.10 → 2.7.0-beta.0

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.

Potentially problematic release.


This version of vite might be problematic. Click here for more details.

package/dist/node/cli.js CHANGED
@@ -1,30 +1,30 @@
1
1
  'use strict';
2
2
 
3
3
  var require$$0 = require('events');
4
- var build = require('./chunks/dep-be032392.js');
4
+ var build = require('./chunks/dep-f2dce443.js');
5
5
  var perf_hooks = require('perf_hooks');
6
- require('fs');
7
6
  require('path');
7
+ require('fs');
8
+ require('querystring');
9
+ require('tty');
8
10
  require('util');
9
- require('stream');
10
- require('os');
11
+ require('net');
11
12
  require('url');
12
- require('crypto');
13
+ require('http');
14
+ require('buffer');
15
+ require('zlib');
16
+ require('os');
17
+ require('resolve');
13
18
  require('module');
19
+ require('readline');
20
+ require('crypto');
21
+ require('stream');
14
22
  require('esbuild');
15
23
  require('worker_threads');
16
24
  require('assert');
17
- require('child_process');
18
- require('readline');
19
- require('zlib');
20
- require('resolve');
21
- require('querystring');
22
- require('tty');
23
- require('net');
24
- require('http');
25
- require('buffer');
26
25
  require('https');
27
26
  require('tls');
27
+ require('child_process');
28
28
 
29
29
  function toArr(any) {
30
30
  return any == null ? [] : Array.isArray(any) ? any : [any];
@@ -671,7 +671,8 @@ cli
671
671
  // dev
672
672
  cli
673
673
  .command('[root]') // default command
674
- .alias('serve')
674
+ .alias('serve') // the command is called 'serve' in Vite's API
675
+ .alias('dev') // alias to align with the script name
675
676
  .option('--host [host]', `[string] specify hostname`)
676
677
  .option('--port <port>', `[number] specify port`)
677
678
  .option('--https', `[boolean] use TLS + HTTP/2`)
@@ -682,7 +683,7 @@ cli
682
683
  .action(async (root, options) => {
683
684
  // output structure is preserved even after bundling so require()
684
685
  // is ok here
685
- const { createServer } = await Promise.resolve().then(function () { return require('./chunks/dep-be032392.js'); }).then(function (n) { return n.index$1; });
686
+ const { createServer } = await Promise.resolve().then(function () { return require('./chunks/dep-f2dce443.js'); }).then(function (n) { return n.index$1; });
686
687
  try {
687
688
  const server = await createServer({
688
689
  root,
@@ -731,7 +732,7 @@ cli
731
732
  .option('--emptyOutDir', `[boolean] force empty outDir when it's outside of root`)
732
733
  .option('-w, --watch', `[boolean] rebuilds when modules have changed on disk`)
733
734
  .action(async (root, options) => {
734
- const { build: build$1 } = await Promise.resolve().then(function () { return require('./chunks/dep-be032392.js'); }).then(function (n) { return n.build$1; });
735
+ const { build: build$1 } = await Promise.resolve().then(function () { return require('./chunks/dep-f2dce443.js'); }).then(function (n) { return n.build$1; });
735
736
  const buildOptions = cleanOptions(options);
736
737
  try {
737
738
  await build$1({
@@ -754,7 +755,7 @@ cli
754
755
  .command('optimize [root]')
755
756
  .option('--force', `[boolean] force the optimizer to ignore the cache and re-bundle`)
756
757
  .action(async (root, options) => {
757
- const { optimizeDeps } = await Promise.resolve().then(function () { return require('./chunks/dep-be032392.js'); }).then(function (n) { return n.index; });
758
+ const { optimizeDeps } = await Promise.resolve().then(function () { return require('./chunks/dep-f2dce443.js'); }).then(function (n) { return n.index; });
758
759
  try {
759
760
  const config = await build.resolveConfig({
760
761
  root,
@@ -773,24 +774,26 @@ cli
773
774
  .command('preview [root]')
774
775
  .option('--host [host]', `[string] specify hostname`)
775
776
  .option('--port <port>', `[number] specify port`)
777
+ .option('--strictPort', `[boolean] exit if specified port is already in use`)
776
778
  .option('--https', `[boolean] use TLS + HTTP/2`)
777
779
  .option('--open [path]', `[boolean | string] open browser on startup`)
778
- .option('--strictPort', `[boolean] exit if specified port is already in use`)
779
780
  .action(async (root, options) => {
781
+ var _a;
780
782
  try {
781
- const config = await build.resolveConfig({
783
+ const server = await build.preview({
782
784
  root,
783
785
  base: options.base,
784
786
  configFile: options.config,
785
787
  logLevel: options.logLevel,
786
788
  server: {
787
- open: options.open,
789
+ host: options.host,
790
+ port: (_a = options.port) !== null && _a !== void 0 ? _a : 5000,
788
791
  strictPort: options.strictPort,
789
- https: options.https
792
+ https: options.https,
793
+ open: options.open
790
794
  }
791
- }, 'serve', 'production');
792
- const server = await build.preview(config, cleanOptions(options));
793
- build.printHttpServerUrls(server, config);
795
+ });
796
+ server.printUrls();
794
797
  }
795
798
  catch (e) {
796
799
  build.createLogger(options.logLevel).error(build.source.red(`error when starting preview server:\n${e.stack}`), { error: e });
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sources":["../../../../node_modules/.pnpm/cac@6.7.3/node_modules/cac/dist/index.mjs","../../src/node/cli.ts"],"sourcesContent":["import { EventEmitter } from 'events';\n\nfunction toArr(any) {\n\treturn any == null ? [] : Array.isArray(any) ? any : [any];\n}\n\nfunction toVal(out, key, val, opts) {\n\tvar x, old=out[key], nxt=(\n\t\t!!~opts.string.indexOf(key) ? (val == null || val === true ? '' : String(val))\n\t\t: typeof val === 'boolean' ? val\n\t\t: !!~opts.boolean.indexOf(key) ? (val === 'false' ? false : val === 'true' || (out._.push((x = +val,x * 0 === 0) ? x : val),!!val))\n\t\t: (x = +val,x * 0 === 0) ? x : val\n\t);\n\tout[key] = old == null ? nxt : (Array.isArray(old) ? old.concat(nxt) : [old, nxt]);\n}\n\nfunction mri2 (args, opts) {\n\targs = args || [];\n\topts = opts || {};\n\n\tvar k, arr, arg, name, val, out={ _:[] };\n\tvar i=0, j=0, idx=0, len=args.length;\n\n\tconst alibi = opts.alias !== void 0;\n\tconst strict = opts.unknown !== void 0;\n\tconst defaults = opts.default !== void 0;\n\n\topts.alias = opts.alias || {};\n\topts.string = toArr(opts.string);\n\topts.boolean = toArr(opts.boolean);\n\n\tif (alibi) {\n\t\tfor (k in opts.alias) {\n\t\t\tarr = opts.alias[k] = toArr(opts.alias[k]);\n\t\t\tfor (i=0; i < arr.length; i++) {\n\t\t\t\t(opts.alias[arr[i]] = arr.concat(k)).splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i=opts.boolean.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.boolean[i]] || [];\n\t\tfor (j=arr.length; j-- > 0;) opts.boolean.push(arr[j]);\n\t}\n\n\tfor (i=opts.string.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.string[i]] || [];\n\t\tfor (j=arr.length; j-- > 0;) opts.string.push(arr[j]);\n\t}\n\n\tif (defaults) {\n\t\tfor (k in opts.default) {\n\t\t\tname = typeof opts.default[k];\n\t\t\tarr = opts.alias[k] = opts.alias[k] || [];\n\t\t\tif (opts[name] !== void 0) {\n\t\t\t\topts[name].push(k);\n\t\t\t\tfor (i=0; i < arr.length; i++) {\n\t\t\t\t\topts[name].push(arr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst keys = strict ? Object.keys(opts.alias) : [];\n\n\tfor (i=0; i < len; i++) {\n\t\targ = args[i];\n\n\t\tif (arg === '--') {\n\t\t\tout._ = out._.concat(args.slice(++i));\n\t\t\tbreak;\n\t\t}\n\n\t\tfor (j=0; j < arg.length; j++) {\n\t\t\tif (arg.charCodeAt(j) !== 45) break; // \"-\"\n\t\t}\n\n\t\tif (j === 0) {\n\t\t\tout._.push(arg);\n\t\t} else if (arg.substring(j, j + 3) === 'no-') {\n\t\t\tname = arg.substring(j + 3);\n\t\t\tif (strict && !~keys.indexOf(name)) {\n\t\t\t\treturn opts.unknown(arg);\n\t\t\t}\n\t\t\tout[name] = false;\n\t\t} else {\n\t\t\tfor (idx=j+1; idx < arg.length; idx++) {\n\t\t\t\tif (arg.charCodeAt(idx) === 61) break; // \"=\"\n\t\t\t}\n\n\t\t\tname = arg.substring(j, idx);\n\t\t\tval = arg.substring(++idx) || (i+1 === len || (''+args[i+1]).charCodeAt(0) === 45 || args[++i]);\n\t\t\tarr = (j === 2 ? [name] : name);\n\n\t\t\tfor (idx=0; idx < arr.length; idx++) {\n\t\t\t\tname = arr[idx];\n\t\t\t\tif (strict && !~keys.indexOf(name)) return opts.unknown('-'.repeat(j) + name);\n\t\t\t\ttoVal(out, name, (idx + 1 < arr.length) || val, opts);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (defaults) {\n\t\tfor (k in opts.default) {\n\t\t\tif (out[k] === void 0) {\n\t\t\t\tout[k] = opts.default[k];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (alibi) {\n\t\tfor (k in out) {\n\t\t\tarr = opts.alias[k] || [];\n\t\t\twhile (arr.length > 0) {\n\t\t\t\tout[arr.shift()] = out[k];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out;\n}\n\nconst removeBrackets = (v) => v.replace(/[<[].+/, \"\").trim();\nconst findAllBrackets = (v) => {\n const ANGLED_BRACKET_RE_GLOBAL = /<([^>]+)>/g;\n const SQUARE_BRACKET_RE_GLOBAL = /\\[([^\\]]+)\\]/g;\n const res = [];\n const parse = (match) => {\n let variadic = false;\n let value = match[1];\n if (value.startsWith(\"...\")) {\n value = value.slice(3);\n variadic = true;\n }\n return {\n required: match[0].startsWith(\"<\"),\n value,\n variadic\n };\n };\n let angledMatch;\n while (angledMatch = ANGLED_BRACKET_RE_GLOBAL.exec(v)) {\n res.push(parse(angledMatch));\n }\n let squareMatch;\n while (squareMatch = SQUARE_BRACKET_RE_GLOBAL.exec(v)) {\n res.push(parse(squareMatch));\n }\n return res;\n};\nconst getMriOptions = (options) => {\n const result = {alias: {}, boolean: []};\n for (const [index, option] of options.entries()) {\n if (option.names.length > 1) {\n result.alias[option.names[0]] = option.names.slice(1);\n }\n if (option.isBoolean) {\n if (option.negated) {\n const hasStringTypeOption = options.some((o, i) => {\n return i !== index && o.names.some((name) => option.names.includes(name)) && typeof o.required === \"boolean\";\n });\n if (!hasStringTypeOption) {\n result.boolean.push(option.names[0]);\n }\n } else {\n result.boolean.push(option.names[0]);\n }\n }\n }\n return result;\n};\nconst findLongest = (arr) => {\n return arr.sort((a, b) => {\n return a.length > b.length ? -1 : 1;\n })[0];\n};\nconst padRight = (str, length) => {\n return str.length >= length ? str : `${str}${\" \".repeat(length - str.length)}`;\n};\nconst camelcase = (input) => {\n return input.replace(/([a-z])-([a-z])/g, (_, p1, p2) => {\n return p1 + p2.toUpperCase();\n });\n};\nconst setDotProp = (obj, keys, val) => {\n let i = 0;\n let length = keys.length;\n let t = obj;\n let x;\n for (; i < length; ++i) {\n x = t[keys[i]];\n t = t[keys[i]] = i === length - 1 ? val : x != null ? x : !!~keys[i + 1].indexOf(\".\") || !(+keys[i + 1] > -1) ? {} : [];\n }\n};\nconst setByType = (obj, transforms) => {\n for (const key of Object.keys(transforms)) {\n const transform = transforms[key];\n if (transform.shouldTransform) {\n obj[key] = Array.prototype.concat.call([], obj[key]);\n if (typeof transform.transformFunction === \"function\") {\n obj[key] = obj[key].map(transform.transformFunction);\n }\n }\n }\n};\nconst getFileName = (input) => {\n const m = /([^\\\\\\/]+)$/.exec(input);\n return m ? m[1] : \"\";\n};\nconst camelcaseOptionName = (name) => {\n return name.split(\".\").map((v, i) => {\n return i === 0 ? camelcase(v) : v;\n }).join(\".\");\n};\nclass CACError extends Error {\n constructor(message) {\n super(message);\n this.name = this.constructor.name;\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error(message).stack;\n }\n }\n}\n\nclass Option {\n constructor(rawName, description, config) {\n this.rawName = rawName;\n this.description = description;\n this.config = Object.assign({}, config);\n rawName = rawName.replace(/\\.\\*/g, \"\");\n this.negated = false;\n this.names = removeBrackets(rawName).split(\",\").map((v) => {\n let name = v.trim().replace(/^-{1,2}/, \"\");\n if (name.startsWith(\"no-\")) {\n this.negated = true;\n name = name.replace(/^no-/, \"\");\n }\n return camelcaseOptionName(name);\n }).sort((a, b) => a.length > b.length ? 1 : -1);\n this.name = this.names[this.names.length - 1];\n if (this.negated && this.config.default == null) {\n this.config.default = true;\n }\n if (rawName.includes(\"<\")) {\n this.required = true;\n } else if (rawName.includes(\"[\")) {\n this.required = false;\n } else {\n this.isBoolean = true;\n }\n }\n}\n\nconst processArgs = process.argv;\nconst platformInfo = `${process.platform}-${process.arch} node-${process.version}`;\n\nclass Command {\n constructor(rawName, description, config = {}, cli) {\n this.rawName = rawName;\n this.description = description;\n this.config = config;\n this.cli = cli;\n this.options = [];\n this.aliasNames = [];\n this.name = removeBrackets(rawName);\n this.args = findAllBrackets(rawName);\n this.examples = [];\n }\n usage(text) {\n this.usageText = text;\n return this;\n }\n allowUnknownOptions() {\n this.config.allowUnknownOptions = true;\n return this;\n }\n ignoreOptionDefaultValue() {\n this.config.ignoreOptionDefaultValue = true;\n return this;\n }\n version(version, customFlags = \"-v, --version\") {\n this.versionNumber = version;\n this.option(customFlags, \"Display version number\");\n return this;\n }\n example(example) {\n this.examples.push(example);\n return this;\n }\n option(rawName, description, config) {\n const option = new Option(rawName, description, config);\n this.options.push(option);\n return this;\n }\n alias(name) {\n this.aliasNames.push(name);\n return this;\n }\n action(callback) {\n this.commandAction = callback;\n return this;\n }\n isMatched(name) {\n return this.name === name || this.aliasNames.includes(name);\n }\n get isDefaultCommand() {\n return this.name === \"\" || this.aliasNames.includes(\"!\");\n }\n get isGlobalCommand() {\n return this instanceof GlobalCommand;\n }\n hasOption(name) {\n name = name.split(\".\")[0];\n return this.options.find((option) => {\n return option.names.includes(name);\n });\n }\n outputHelp() {\n const {name, commands} = this.cli;\n const {\n versionNumber,\n options: globalOptions,\n helpCallback\n } = this.cli.globalCommand;\n let sections = [\n {\n body: `${name}${versionNumber ? `/${versionNumber}` : \"\"}`\n }\n ];\n sections.push({\n title: \"Usage\",\n body: ` $ ${name} ${this.usageText || this.rawName}`\n });\n const showCommands = (this.isGlobalCommand || this.isDefaultCommand) && commands.length > 0;\n if (showCommands) {\n const longestCommandName = findLongest(commands.map((command) => command.rawName));\n sections.push({\n title: \"Commands\",\n body: commands.map((command) => {\n return ` ${padRight(command.rawName, longestCommandName.length)} ${command.description}`;\n }).join(\"\\n\")\n });\n sections.push({\n title: `For more info, run any command with the \\`--help\\` flag`,\n body: commands.map((command) => ` $ ${name}${command.name === \"\" ? \"\" : ` ${command.name}`} --help`).join(\"\\n\")\n });\n }\n const options = this.isGlobalCommand ? globalOptions : [...this.options, ...globalOptions || []];\n if (options.length > 0) {\n const longestOptionName = findLongest(options.map((option) => option.rawName));\n sections.push({\n title: \"Options\",\n body: options.map((option) => {\n return ` ${padRight(option.rawName, longestOptionName.length)} ${option.description} ${option.config.default === void 0 ? \"\" : `(default: ${option.config.default})`}`;\n }).join(\"\\n\")\n });\n }\n if (this.examples.length > 0) {\n sections.push({\n title: \"Examples\",\n body: this.examples.map((example) => {\n if (typeof example === \"function\") {\n return example(name);\n }\n return example;\n }).join(\"\\n\")\n });\n }\n if (helpCallback) {\n sections = helpCallback(sections) || sections;\n }\n console.log(sections.map((section) => {\n return section.title ? `${section.title}:\n${section.body}` : section.body;\n }).join(\"\\n\\n\"));\n }\n outputVersion() {\n const {name} = this.cli;\n const {versionNumber} = this.cli.globalCommand;\n if (versionNumber) {\n console.log(`${name}/${versionNumber} ${platformInfo}`);\n }\n }\n checkRequiredArgs() {\n const minimalArgsCount = this.args.filter((arg) => arg.required).length;\n if (this.cli.args.length < minimalArgsCount) {\n throw new CACError(`missing required args for command \\`${this.rawName}\\``);\n }\n }\n checkUnknownOptions() {\n const {options, globalCommand} = this.cli;\n if (!this.config.allowUnknownOptions) {\n for (const name of Object.keys(options)) {\n if (name !== \"--\" && !this.hasOption(name) && !globalCommand.hasOption(name)) {\n throw new CACError(`Unknown option \\`${name.length > 1 ? `--${name}` : `-${name}`}\\``);\n }\n }\n }\n }\n checkOptionValue() {\n const {options: parsedOptions, globalCommand} = this.cli;\n const options = [...globalCommand.options, ...this.options];\n for (const option of options) {\n const value = parsedOptions[option.name.split(\".\")[0]];\n if (option.required) {\n const hasNegated = options.some((o) => o.negated && o.names.includes(option.name));\n if (value === true || value === false && !hasNegated) {\n throw new CACError(`option \\`${option.rawName}\\` value is missing`);\n }\n }\n }\n }\n}\nclass GlobalCommand extends Command {\n constructor(cli) {\n super(\"@@global@@\", \"\", {}, cli);\n }\n}\n\nvar __assign = Object.assign;\nclass CAC extends EventEmitter {\n constructor(name = \"\") {\n super();\n this.name = name;\n this.commands = [];\n this.rawArgs = [];\n this.args = [];\n this.options = {};\n this.globalCommand = new GlobalCommand(this);\n this.globalCommand.usage(\"<command> [options]\");\n }\n usage(text) {\n this.globalCommand.usage(text);\n return this;\n }\n command(rawName, description, config) {\n const command = new Command(rawName, description || \"\", config, this);\n command.globalCommand = this.globalCommand;\n this.commands.push(command);\n return command;\n }\n option(rawName, description, config) {\n this.globalCommand.option(rawName, description, config);\n return this;\n }\n help(callback) {\n this.globalCommand.option(\"-h, --help\", \"Display this message\");\n this.globalCommand.helpCallback = callback;\n this.showHelpOnExit = true;\n return this;\n }\n version(version, customFlags = \"-v, --version\") {\n this.globalCommand.version(version, customFlags);\n this.showVersionOnExit = true;\n return this;\n }\n example(example) {\n this.globalCommand.example(example);\n return this;\n }\n outputHelp() {\n if (this.matchedCommand) {\n this.matchedCommand.outputHelp();\n } else {\n this.globalCommand.outputHelp();\n }\n }\n outputVersion() {\n this.globalCommand.outputVersion();\n }\n setParsedInfo({args, options}, matchedCommand, matchedCommandName) {\n this.args = args;\n this.options = options;\n if (matchedCommand) {\n this.matchedCommand = matchedCommand;\n }\n if (matchedCommandName) {\n this.matchedCommandName = matchedCommandName;\n }\n return this;\n }\n unsetMatchedCommand() {\n this.matchedCommand = void 0;\n this.matchedCommandName = void 0;\n }\n parse(argv = processArgs, {\n run = true\n } = {}) {\n this.rawArgs = argv;\n if (!this.name) {\n this.name = argv[1] ? getFileName(argv[1]) : \"cli\";\n }\n let shouldParse = true;\n for (const command of this.commands) {\n const parsed = this.mri(argv.slice(2), command);\n const commandName = parsed.args[0];\n if (command.isMatched(commandName)) {\n shouldParse = false;\n const parsedInfo = __assign(__assign({}, parsed), {\n args: parsed.args.slice(1)\n });\n this.setParsedInfo(parsedInfo, command, commandName);\n this.emit(`command:${commandName}`, command);\n }\n }\n if (shouldParse) {\n for (const command of this.commands) {\n if (command.name === \"\") {\n shouldParse = false;\n const parsed = this.mri(argv.slice(2), command);\n this.setParsedInfo(parsed, command);\n this.emit(`command:!`, command);\n }\n }\n }\n if (shouldParse) {\n const parsed = this.mri(argv.slice(2));\n this.setParsedInfo(parsed);\n }\n if (this.options.help && this.showHelpOnExit) {\n this.outputHelp();\n run = false;\n this.unsetMatchedCommand();\n }\n if (this.options.version && this.showVersionOnExit) {\n this.outputVersion();\n run = false;\n this.unsetMatchedCommand();\n }\n const parsedArgv = {args: this.args, options: this.options};\n if (run) {\n this.runMatchedCommand();\n }\n if (!this.matchedCommand && this.args[0]) {\n this.emit(\"command:*\");\n }\n return parsedArgv;\n }\n mri(argv, command) {\n const cliOptions = [\n ...this.globalCommand.options,\n ...command ? command.options : []\n ];\n const mriOptions = getMriOptions(cliOptions);\n let argsAfterDoubleDashes = [];\n const doubleDashesIndex = argv.indexOf(\"--\");\n if (doubleDashesIndex > -1) {\n argsAfterDoubleDashes = argv.slice(doubleDashesIndex + 1);\n argv = argv.slice(0, doubleDashesIndex);\n }\n let parsed = mri2(argv, mriOptions);\n parsed = Object.keys(parsed).reduce((res, name) => {\n return __assign(__assign({}, res), {\n [camelcaseOptionName(name)]: parsed[name]\n });\n }, {_: []});\n const args = parsed._;\n const options = {\n \"--\": argsAfterDoubleDashes\n };\n const ignoreDefault = command && command.config.ignoreOptionDefaultValue ? command.config.ignoreOptionDefaultValue : this.globalCommand.config.ignoreOptionDefaultValue;\n let transforms = Object.create(null);\n for (const cliOption of cliOptions) {\n if (!ignoreDefault && cliOption.config.default !== void 0) {\n for (const name of cliOption.names) {\n options[name] = cliOption.config.default;\n }\n }\n if (Array.isArray(cliOption.config.type)) {\n if (transforms[cliOption.name] === void 0) {\n transforms[cliOption.name] = Object.create(null);\n transforms[cliOption.name][\"shouldTransform\"] = true;\n transforms[cliOption.name][\"transformFunction\"] = cliOption.config.type[0];\n }\n }\n }\n for (const key of Object.keys(parsed)) {\n if (key !== \"_\") {\n const keys = key.split(\".\");\n setDotProp(options, keys, parsed[key]);\n setByType(options, transforms);\n }\n }\n return {\n args,\n options\n };\n }\n runMatchedCommand() {\n const {args, options, matchedCommand: command} = this;\n if (!command || !command.commandAction)\n return;\n command.checkUnknownOptions();\n command.checkOptionValue();\n command.checkRequiredArgs();\n const actionArgs = [];\n command.args.forEach((arg, index) => {\n if (arg.variadic) {\n actionArgs.push(args.slice(index));\n } else {\n actionArgs.push(args[index]);\n }\n });\n actionArgs.push(options);\n return command.commandAction.apply(this, actionArgs);\n }\n}\n\nconst cac = (name = \"\") => new CAC(name);\nif (typeof module !== \"undefined\") {\n module.exports = cac;\n Object.assign(module.exports, {\n default: cac,\n cac,\n CAC: CAC,\n Command: Command\n });\n}\n\nexport default cac;\nexport { CAC, Command, cac };\n","import { cac } from 'cac'\nimport chalk from 'chalk'\nimport { performance } from 'perf_hooks'\nimport { BuildOptions } from './build'\nimport { ServerOptions } from './server'\nimport { createLogger, LogLevel, printHttpServerUrls } from './logger'\nimport { resolveConfig } from '.'\nimport { preview } from './preview'\n\nconst cli = cac('vite')\n\n// global options\ninterface GlobalCLIOptions {\n '--'?: string[]\n c?: boolean | string\n config?: string\n r?: string\n root?: string\n base?: string\n l?: LogLevel\n logLevel?: LogLevel\n clearScreen?: boolean\n d?: boolean | string\n debug?: boolean | string\n f?: string\n filter?: string\n m?: string\n mode?: string\n}\n\n/**\n * removing global flags before passing as command specific sub-configs\n */\nfunction cleanOptions<Options extends GlobalCLIOptions>(\n options: Options\n): Omit<Options, keyof GlobalCLIOptions> {\n const ret = { ...options }\n delete ret['--']\n delete ret.c\n delete ret.config\n delete ret.r\n delete ret.root\n delete ret.base\n delete ret.l\n delete ret.logLevel\n delete ret.clearScreen\n delete ret.d\n delete ret.debug\n delete ret.f\n delete ret.filter\n delete ret.m\n delete ret.mode\n return ret\n}\n\ncli\n .option('-c, --config <file>', `[string] use specified config file`)\n .option('-r, --root <path>', `[string] use specified root directory`)\n .option('--base <path>', `[string] public base path (default: /)`)\n .option('-l, --logLevel <level>', `[string] info | warn | error | silent`)\n .option('--clearScreen', `[boolean] allow/disable clear screen when logging`)\n .option('-d, --debug [feat]', `[string | boolean] show debug logs`)\n .option('-f, --filter <filter>', `[string] filter debug logs`)\n .option('-m, --mode <mode>', `[string] set env mode`)\n\n// dev\ncli\n .command('[root]') // default command\n .alias('serve')\n .option('--host [host]', `[string] specify hostname`)\n .option('--port <port>', `[number] specify port`)\n .option('--https', `[boolean] use TLS + HTTP/2`)\n .option('--open [path]', `[boolean | string] open browser on startup`)\n .option('--cors', `[boolean] enable CORS`)\n .option('--strictPort', `[boolean] exit if specified port is already in use`)\n .option(\n '--force',\n `[boolean] force the optimizer to ignore the cache and re-bundle`\n )\n .action(async (root: string, options: ServerOptions & GlobalCLIOptions) => {\n // output structure is preserved even after bundling so require()\n // is ok here\n const { createServer } = await import('./server')\n try {\n const server = await createServer({\n root,\n base: options.base,\n mode: options.mode,\n configFile: options.config,\n logLevel: options.logLevel,\n clearScreen: options.clearScreen,\n server: cleanOptions(options)\n })\n\n if (!server.httpServer) {\n throw new Error('HTTP server not available')\n }\n\n await server.listen()\n\n const info = server.config.logger.info\n\n info(\n chalk.cyan(`\\n vite v${require('vite/package.json').version}`) +\n chalk.green(` dev server running at:\\n`),\n {\n clear: !server.config.logger.hasWarned\n }\n )\n\n server.printUrls()\n\n // @ts-ignore\n if (global.__vite_start_time) {\n // @ts-ignore\n const startupDuration = performance.now() - global.__vite_start_time\n info(`\\n ${chalk.cyan(`ready in ${Math.ceil(startupDuration)}ms.`)}\\n`)\n }\n } catch (e) {\n createLogger(options.logLevel).error(\n chalk.red(`error when starting dev server:\\n${e.stack}`),\n { error: e }\n )\n process.exit(1)\n }\n })\n\n// build\ncli\n .command('build [root]')\n .option('--target <target>', `[string] transpile target (default: 'modules')`)\n .option('--outDir <dir>', `[string] output directory (default: dist)`)\n .option(\n '--assetsDir <dir>',\n `[string] directory under outDir to place assets in (default: _assets)`\n )\n .option(\n '--assetsInlineLimit <number>',\n `[number] static asset base64 inline threshold in bytes (default: 4096)`\n )\n .option(\n '--ssr [entry]',\n `[string] build specified entry for server-side rendering`\n )\n .option(\n '--sourcemap',\n `[boolean] output source maps for build (default: false)`\n )\n .option(\n '--minify [minifier]',\n `[boolean | \"terser\" | \"esbuild\"] enable/disable minification, ` +\n `or specify minifier to use (default: esbuild)`\n )\n .option('--manifest', `[boolean] emit build manifest json`)\n .option('--ssrManifest', `[boolean] emit ssr manifest json`)\n .option(\n '--emptyOutDir',\n `[boolean] force empty outDir when it's outside of root`\n )\n .option('-w, --watch', `[boolean] rebuilds when modules have changed on disk`)\n .action(async (root: string, options: BuildOptions & GlobalCLIOptions) => {\n const { build } = await import('./build')\n const buildOptions: BuildOptions = cleanOptions(options)\n\n try {\n await build({\n root,\n base: options.base,\n mode: options.mode,\n configFile: options.config,\n logLevel: options.logLevel,\n clearScreen: options.clearScreen,\n build: buildOptions\n })\n } catch (e) {\n createLogger(options.logLevel).error(\n chalk.red(`error during build:\\n${e.stack}`),\n { error: e }\n )\n process.exit(1)\n }\n })\n\n// optimize\ncli\n .command('optimize [root]')\n .option(\n '--force',\n `[boolean] force the optimizer to ignore the cache and re-bundle`\n )\n .action(\n async (root: string, options: { force?: boolean } & GlobalCLIOptions) => {\n const { optimizeDeps } = await import('./optimizer')\n try {\n const config = await resolveConfig(\n {\n root,\n base: options.base,\n configFile: options.config,\n logLevel: options.logLevel\n },\n 'build',\n 'development'\n )\n await optimizeDeps(config, options.force, true)\n } catch (e) {\n createLogger(options.logLevel).error(\n chalk.red(`error when optimizing deps:\\n${e.stack}`),\n { error: e }\n )\n process.exit(1)\n }\n }\n )\n\ncli\n .command('preview [root]')\n .option('--host [host]', `[string] specify hostname`)\n .option('--port <port>', `[number] specify port`)\n .option('--https', `[boolean] use TLS + HTTP/2`)\n .option('--open [path]', `[boolean | string] open browser on startup`)\n .option('--strictPort', `[boolean] exit if specified port is already in use`)\n .action(\n async (\n root: string,\n options: {\n host?: string | boolean\n port?: number\n https?: boolean\n open?: boolean | string\n strictPort?: boolean\n } & GlobalCLIOptions\n ) => {\n try {\n const config = await resolveConfig(\n {\n root,\n base: options.base,\n configFile: options.config,\n logLevel: options.logLevel,\n server: {\n open: options.open,\n strictPort: options.strictPort,\n https: options.https\n }\n },\n 'serve',\n 'production'\n )\n const server = await preview(config, cleanOptions(options))\n\n printHttpServerUrls(server, config)\n } catch (e) {\n createLogger(options.logLevel).error(\n chalk.red(`error when starting preview server:\\n${e.stack}`),\n { error: e }\n )\n process.exit(1)\n }\n }\n )\n\ncli.help()\ncli.version(require('../../package.json').version)\n\ncli.parse()\n"],"names":["EventEmitter","chalk","performance","createLogger","build","resolveConfig","preview","printHttpServerUrls"],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sources":["../../../../node_modules/.pnpm/cac@6.7.3/node_modules/cac/dist/index.mjs","../../src/node/cli.ts"],"sourcesContent":["import { EventEmitter } from 'events';\n\nfunction toArr(any) {\n\treturn any == null ? [] : Array.isArray(any) ? any : [any];\n}\n\nfunction toVal(out, key, val, opts) {\n\tvar x, old=out[key], nxt=(\n\t\t!!~opts.string.indexOf(key) ? (val == null || val === true ? '' : String(val))\n\t\t: typeof val === 'boolean' ? val\n\t\t: !!~opts.boolean.indexOf(key) ? (val === 'false' ? false : val === 'true' || (out._.push((x = +val,x * 0 === 0) ? x : val),!!val))\n\t\t: (x = +val,x * 0 === 0) ? x : val\n\t);\n\tout[key] = old == null ? nxt : (Array.isArray(old) ? old.concat(nxt) : [old, nxt]);\n}\n\nfunction mri2 (args, opts) {\n\targs = args || [];\n\topts = opts || {};\n\n\tvar k, arr, arg, name, val, out={ _:[] };\n\tvar i=0, j=0, idx=0, len=args.length;\n\n\tconst alibi = opts.alias !== void 0;\n\tconst strict = opts.unknown !== void 0;\n\tconst defaults = opts.default !== void 0;\n\n\topts.alias = opts.alias || {};\n\topts.string = toArr(opts.string);\n\topts.boolean = toArr(opts.boolean);\n\n\tif (alibi) {\n\t\tfor (k in opts.alias) {\n\t\t\tarr = opts.alias[k] = toArr(opts.alias[k]);\n\t\t\tfor (i=0; i < arr.length; i++) {\n\t\t\t\t(opts.alias[arr[i]] = arr.concat(k)).splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i=opts.boolean.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.boolean[i]] || [];\n\t\tfor (j=arr.length; j-- > 0;) opts.boolean.push(arr[j]);\n\t}\n\n\tfor (i=opts.string.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.string[i]] || [];\n\t\tfor (j=arr.length; j-- > 0;) opts.string.push(arr[j]);\n\t}\n\n\tif (defaults) {\n\t\tfor (k in opts.default) {\n\t\t\tname = typeof opts.default[k];\n\t\t\tarr = opts.alias[k] = opts.alias[k] || [];\n\t\t\tif (opts[name] !== void 0) {\n\t\t\t\topts[name].push(k);\n\t\t\t\tfor (i=0; i < arr.length; i++) {\n\t\t\t\t\topts[name].push(arr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst keys = strict ? Object.keys(opts.alias) : [];\n\n\tfor (i=0; i < len; i++) {\n\t\targ = args[i];\n\n\t\tif (arg === '--') {\n\t\t\tout._ = out._.concat(args.slice(++i));\n\t\t\tbreak;\n\t\t}\n\n\t\tfor (j=0; j < arg.length; j++) {\n\t\t\tif (arg.charCodeAt(j) !== 45) break; // \"-\"\n\t\t}\n\n\t\tif (j === 0) {\n\t\t\tout._.push(arg);\n\t\t} else if (arg.substring(j, j + 3) === 'no-') {\n\t\t\tname = arg.substring(j + 3);\n\t\t\tif (strict && !~keys.indexOf(name)) {\n\t\t\t\treturn opts.unknown(arg);\n\t\t\t}\n\t\t\tout[name] = false;\n\t\t} else {\n\t\t\tfor (idx=j+1; idx < arg.length; idx++) {\n\t\t\t\tif (arg.charCodeAt(idx) === 61) break; // \"=\"\n\t\t\t}\n\n\t\t\tname = arg.substring(j, idx);\n\t\t\tval = arg.substring(++idx) || (i+1 === len || (''+args[i+1]).charCodeAt(0) === 45 || args[++i]);\n\t\t\tarr = (j === 2 ? [name] : name);\n\n\t\t\tfor (idx=0; idx < arr.length; idx++) {\n\t\t\t\tname = arr[idx];\n\t\t\t\tif (strict && !~keys.indexOf(name)) return opts.unknown('-'.repeat(j) + name);\n\t\t\t\ttoVal(out, name, (idx + 1 < arr.length) || val, opts);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (defaults) {\n\t\tfor (k in opts.default) {\n\t\t\tif (out[k] === void 0) {\n\t\t\t\tout[k] = opts.default[k];\n\t\t\t}\n\t\t}\n\t}\n\n\tif (alibi) {\n\t\tfor (k in out) {\n\t\t\tarr = opts.alias[k] || [];\n\t\t\twhile (arr.length > 0) {\n\t\t\t\tout[arr.shift()] = out[k];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn out;\n}\n\nconst removeBrackets = (v) => v.replace(/[<[].+/, \"\").trim();\nconst findAllBrackets = (v) => {\n const ANGLED_BRACKET_RE_GLOBAL = /<([^>]+)>/g;\n const SQUARE_BRACKET_RE_GLOBAL = /\\[([^\\]]+)\\]/g;\n const res = [];\n const parse = (match) => {\n let variadic = false;\n let value = match[1];\n if (value.startsWith(\"...\")) {\n value = value.slice(3);\n variadic = true;\n }\n return {\n required: match[0].startsWith(\"<\"),\n value,\n variadic\n };\n };\n let angledMatch;\n while (angledMatch = ANGLED_BRACKET_RE_GLOBAL.exec(v)) {\n res.push(parse(angledMatch));\n }\n let squareMatch;\n while (squareMatch = SQUARE_BRACKET_RE_GLOBAL.exec(v)) {\n res.push(parse(squareMatch));\n }\n return res;\n};\nconst getMriOptions = (options) => {\n const result = {alias: {}, boolean: []};\n for (const [index, option] of options.entries()) {\n if (option.names.length > 1) {\n result.alias[option.names[0]] = option.names.slice(1);\n }\n if (option.isBoolean) {\n if (option.negated) {\n const hasStringTypeOption = options.some((o, i) => {\n return i !== index && o.names.some((name) => option.names.includes(name)) && typeof o.required === \"boolean\";\n });\n if (!hasStringTypeOption) {\n result.boolean.push(option.names[0]);\n }\n } else {\n result.boolean.push(option.names[0]);\n }\n }\n }\n return result;\n};\nconst findLongest = (arr) => {\n return arr.sort((a, b) => {\n return a.length > b.length ? -1 : 1;\n })[0];\n};\nconst padRight = (str, length) => {\n return str.length >= length ? str : `${str}${\" \".repeat(length - str.length)}`;\n};\nconst camelcase = (input) => {\n return input.replace(/([a-z])-([a-z])/g, (_, p1, p2) => {\n return p1 + p2.toUpperCase();\n });\n};\nconst setDotProp = (obj, keys, val) => {\n let i = 0;\n let length = keys.length;\n let t = obj;\n let x;\n for (; i < length; ++i) {\n x = t[keys[i]];\n t = t[keys[i]] = i === length - 1 ? val : x != null ? x : !!~keys[i + 1].indexOf(\".\") || !(+keys[i + 1] > -1) ? {} : [];\n }\n};\nconst setByType = (obj, transforms) => {\n for (const key of Object.keys(transforms)) {\n const transform = transforms[key];\n if (transform.shouldTransform) {\n obj[key] = Array.prototype.concat.call([], obj[key]);\n if (typeof transform.transformFunction === \"function\") {\n obj[key] = obj[key].map(transform.transformFunction);\n }\n }\n }\n};\nconst getFileName = (input) => {\n const m = /([^\\\\\\/]+)$/.exec(input);\n return m ? m[1] : \"\";\n};\nconst camelcaseOptionName = (name) => {\n return name.split(\".\").map((v, i) => {\n return i === 0 ? camelcase(v) : v;\n }).join(\".\");\n};\nclass CACError extends Error {\n constructor(message) {\n super(message);\n this.name = this.constructor.name;\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error(message).stack;\n }\n }\n}\n\nclass Option {\n constructor(rawName, description, config) {\n this.rawName = rawName;\n this.description = description;\n this.config = Object.assign({}, config);\n rawName = rawName.replace(/\\.\\*/g, \"\");\n this.negated = false;\n this.names = removeBrackets(rawName).split(\",\").map((v) => {\n let name = v.trim().replace(/^-{1,2}/, \"\");\n if (name.startsWith(\"no-\")) {\n this.negated = true;\n name = name.replace(/^no-/, \"\");\n }\n return camelcaseOptionName(name);\n }).sort((a, b) => a.length > b.length ? 1 : -1);\n this.name = this.names[this.names.length - 1];\n if (this.negated && this.config.default == null) {\n this.config.default = true;\n }\n if (rawName.includes(\"<\")) {\n this.required = true;\n } else if (rawName.includes(\"[\")) {\n this.required = false;\n } else {\n this.isBoolean = true;\n }\n }\n}\n\nconst processArgs = process.argv;\nconst platformInfo = `${process.platform}-${process.arch} node-${process.version}`;\n\nclass Command {\n constructor(rawName, description, config = {}, cli) {\n this.rawName = rawName;\n this.description = description;\n this.config = config;\n this.cli = cli;\n this.options = [];\n this.aliasNames = [];\n this.name = removeBrackets(rawName);\n this.args = findAllBrackets(rawName);\n this.examples = [];\n }\n usage(text) {\n this.usageText = text;\n return this;\n }\n allowUnknownOptions() {\n this.config.allowUnknownOptions = true;\n return this;\n }\n ignoreOptionDefaultValue() {\n this.config.ignoreOptionDefaultValue = true;\n return this;\n }\n version(version, customFlags = \"-v, --version\") {\n this.versionNumber = version;\n this.option(customFlags, \"Display version number\");\n return this;\n }\n example(example) {\n this.examples.push(example);\n return this;\n }\n option(rawName, description, config) {\n const option = new Option(rawName, description, config);\n this.options.push(option);\n return this;\n }\n alias(name) {\n this.aliasNames.push(name);\n return this;\n }\n action(callback) {\n this.commandAction = callback;\n return this;\n }\n isMatched(name) {\n return this.name === name || this.aliasNames.includes(name);\n }\n get isDefaultCommand() {\n return this.name === \"\" || this.aliasNames.includes(\"!\");\n }\n get isGlobalCommand() {\n return this instanceof GlobalCommand;\n }\n hasOption(name) {\n name = name.split(\".\")[0];\n return this.options.find((option) => {\n return option.names.includes(name);\n });\n }\n outputHelp() {\n const {name, commands} = this.cli;\n const {\n versionNumber,\n options: globalOptions,\n helpCallback\n } = this.cli.globalCommand;\n let sections = [\n {\n body: `${name}${versionNumber ? `/${versionNumber}` : \"\"}`\n }\n ];\n sections.push({\n title: \"Usage\",\n body: ` $ ${name} ${this.usageText || this.rawName}`\n });\n const showCommands = (this.isGlobalCommand || this.isDefaultCommand) && commands.length > 0;\n if (showCommands) {\n const longestCommandName = findLongest(commands.map((command) => command.rawName));\n sections.push({\n title: \"Commands\",\n body: commands.map((command) => {\n return ` ${padRight(command.rawName, longestCommandName.length)} ${command.description}`;\n }).join(\"\\n\")\n });\n sections.push({\n title: `For more info, run any command with the \\`--help\\` flag`,\n body: commands.map((command) => ` $ ${name}${command.name === \"\" ? \"\" : ` ${command.name}`} --help`).join(\"\\n\")\n });\n }\n const options = this.isGlobalCommand ? globalOptions : [...this.options, ...globalOptions || []];\n if (options.length > 0) {\n const longestOptionName = findLongest(options.map((option) => option.rawName));\n sections.push({\n title: \"Options\",\n body: options.map((option) => {\n return ` ${padRight(option.rawName, longestOptionName.length)} ${option.description} ${option.config.default === void 0 ? \"\" : `(default: ${option.config.default})`}`;\n }).join(\"\\n\")\n });\n }\n if (this.examples.length > 0) {\n sections.push({\n title: \"Examples\",\n body: this.examples.map((example) => {\n if (typeof example === \"function\") {\n return example(name);\n }\n return example;\n }).join(\"\\n\")\n });\n }\n if (helpCallback) {\n sections = helpCallback(sections) || sections;\n }\n console.log(sections.map((section) => {\n return section.title ? `${section.title}:\n${section.body}` : section.body;\n }).join(\"\\n\\n\"));\n }\n outputVersion() {\n const {name} = this.cli;\n const {versionNumber} = this.cli.globalCommand;\n if (versionNumber) {\n console.log(`${name}/${versionNumber} ${platformInfo}`);\n }\n }\n checkRequiredArgs() {\n const minimalArgsCount = this.args.filter((arg) => arg.required).length;\n if (this.cli.args.length < minimalArgsCount) {\n throw new CACError(`missing required args for command \\`${this.rawName}\\``);\n }\n }\n checkUnknownOptions() {\n const {options, globalCommand} = this.cli;\n if (!this.config.allowUnknownOptions) {\n for (const name of Object.keys(options)) {\n if (name !== \"--\" && !this.hasOption(name) && !globalCommand.hasOption(name)) {\n throw new CACError(`Unknown option \\`${name.length > 1 ? `--${name}` : `-${name}`}\\``);\n }\n }\n }\n }\n checkOptionValue() {\n const {options: parsedOptions, globalCommand} = this.cli;\n const options = [...globalCommand.options, ...this.options];\n for (const option of options) {\n const value = parsedOptions[option.name.split(\".\")[0]];\n if (option.required) {\n const hasNegated = options.some((o) => o.negated && o.names.includes(option.name));\n if (value === true || value === false && !hasNegated) {\n throw new CACError(`option \\`${option.rawName}\\` value is missing`);\n }\n }\n }\n }\n}\nclass GlobalCommand extends Command {\n constructor(cli) {\n super(\"@@global@@\", \"\", {}, cli);\n }\n}\n\nvar __assign = Object.assign;\nclass CAC extends EventEmitter {\n constructor(name = \"\") {\n super();\n this.name = name;\n this.commands = [];\n this.rawArgs = [];\n this.args = [];\n this.options = {};\n this.globalCommand = new GlobalCommand(this);\n this.globalCommand.usage(\"<command> [options]\");\n }\n usage(text) {\n this.globalCommand.usage(text);\n return this;\n }\n command(rawName, description, config) {\n const command = new Command(rawName, description || \"\", config, this);\n command.globalCommand = this.globalCommand;\n this.commands.push(command);\n return command;\n }\n option(rawName, description, config) {\n this.globalCommand.option(rawName, description, config);\n return this;\n }\n help(callback) {\n this.globalCommand.option(\"-h, --help\", \"Display this message\");\n this.globalCommand.helpCallback = callback;\n this.showHelpOnExit = true;\n return this;\n }\n version(version, customFlags = \"-v, --version\") {\n this.globalCommand.version(version, customFlags);\n this.showVersionOnExit = true;\n return this;\n }\n example(example) {\n this.globalCommand.example(example);\n return this;\n }\n outputHelp() {\n if (this.matchedCommand) {\n this.matchedCommand.outputHelp();\n } else {\n this.globalCommand.outputHelp();\n }\n }\n outputVersion() {\n this.globalCommand.outputVersion();\n }\n setParsedInfo({args, options}, matchedCommand, matchedCommandName) {\n this.args = args;\n this.options = options;\n if (matchedCommand) {\n this.matchedCommand = matchedCommand;\n }\n if (matchedCommandName) {\n this.matchedCommandName = matchedCommandName;\n }\n return this;\n }\n unsetMatchedCommand() {\n this.matchedCommand = void 0;\n this.matchedCommandName = void 0;\n }\n parse(argv = processArgs, {\n run = true\n } = {}) {\n this.rawArgs = argv;\n if (!this.name) {\n this.name = argv[1] ? getFileName(argv[1]) : \"cli\";\n }\n let shouldParse = true;\n for (const command of this.commands) {\n const parsed = this.mri(argv.slice(2), command);\n const commandName = parsed.args[0];\n if (command.isMatched(commandName)) {\n shouldParse = false;\n const parsedInfo = __assign(__assign({}, parsed), {\n args: parsed.args.slice(1)\n });\n this.setParsedInfo(parsedInfo, command, commandName);\n this.emit(`command:${commandName}`, command);\n }\n }\n if (shouldParse) {\n for (const command of this.commands) {\n if (command.name === \"\") {\n shouldParse = false;\n const parsed = this.mri(argv.slice(2), command);\n this.setParsedInfo(parsed, command);\n this.emit(`command:!`, command);\n }\n }\n }\n if (shouldParse) {\n const parsed = this.mri(argv.slice(2));\n this.setParsedInfo(parsed);\n }\n if (this.options.help && this.showHelpOnExit) {\n this.outputHelp();\n run = false;\n this.unsetMatchedCommand();\n }\n if (this.options.version && this.showVersionOnExit) {\n this.outputVersion();\n run = false;\n this.unsetMatchedCommand();\n }\n const parsedArgv = {args: this.args, options: this.options};\n if (run) {\n this.runMatchedCommand();\n }\n if (!this.matchedCommand && this.args[0]) {\n this.emit(\"command:*\");\n }\n return parsedArgv;\n }\n mri(argv, command) {\n const cliOptions = [\n ...this.globalCommand.options,\n ...command ? command.options : []\n ];\n const mriOptions = getMriOptions(cliOptions);\n let argsAfterDoubleDashes = [];\n const doubleDashesIndex = argv.indexOf(\"--\");\n if (doubleDashesIndex > -1) {\n argsAfterDoubleDashes = argv.slice(doubleDashesIndex + 1);\n argv = argv.slice(0, doubleDashesIndex);\n }\n let parsed = mri2(argv, mriOptions);\n parsed = Object.keys(parsed).reduce((res, name) => {\n return __assign(__assign({}, res), {\n [camelcaseOptionName(name)]: parsed[name]\n });\n }, {_: []});\n const args = parsed._;\n const options = {\n \"--\": argsAfterDoubleDashes\n };\n const ignoreDefault = command && command.config.ignoreOptionDefaultValue ? command.config.ignoreOptionDefaultValue : this.globalCommand.config.ignoreOptionDefaultValue;\n let transforms = Object.create(null);\n for (const cliOption of cliOptions) {\n if (!ignoreDefault && cliOption.config.default !== void 0) {\n for (const name of cliOption.names) {\n options[name] = cliOption.config.default;\n }\n }\n if (Array.isArray(cliOption.config.type)) {\n if (transforms[cliOption.name] === void 0) {\n transforms[cliOption.name] = Object.create(null);\n transforms[cliOption.name][\"shouldTransform\"] = true;\n transforms[cliOption.name][\"transformFunction\"] = cliOption.config.type[0];\n }\n }\n }\n for (const key of Object.keys(parsed)) {\n if (key !== \"_\") {\n const keys = key.split(\".\");\n setDotProp(options, keys, parsed[key]);\n setByType(options, transforms);\n }\n }\n return {\n args,\n options\n };\n }\n runMatchedCommand() {\n const {args, options, matchedCommand: command} = this;\n if (!command || !command.commandAction)\n return;\n command.checkUnknownOptions();\n command.checkOptionValue();\n command.checkRequiredArgs();\n const actionArgs = [];\n command.args.forEach((arg, index) => {\n if (arg.variadic) {\n actionArgs.push(args.slice(index));\n } else {\n actionArgs.push(args[index]);\n }\n });\n actionArgs.push(options);\n return command.commandAction.apply(this, actionArgs);\n }\n}\n\nconst cac = (name = \"\") => new CAC(name);\nif (typeof module !== \"undefined\") {\n module.exports = cac;\n Object.assign(module.exports, {\n default: cac,\n cac,\n CAC: CAC,\n Command: Command\n });\n}\n\nexport default cac;\nexport { CAC, Command, cac };\n","import { cac } from 'cac'\nimport chalk from 'chalk'\nimport { performance } from 'perf_hooks'\nimport { BuildOptions } from './build'\nimport { ServerOptions } from './server'\nimport { createLogger, LogLevel } from './logger'\nimport { resolveConfig } from '.'\nimport { preview } from './preview'\n\nconst cli = cac('vite')\n\n// global options\ninterface GlobalCLIOptions {\n '--'?: string[]\n c?: boolean | string\n config?: string\n r?: string\n root?: string\n base?: string\n l?: LogLevel\n logLevel?: LogLevel\n clearScreen?: boolean\n d?: boolean | string\n debug?: boolean | string\n f?: string\n filter?: string\n m?: string\n mode?: string\n}\n\n/**\n * removing global flags before passing as command specific sub-configs\n */\nfunction cleanOptions<Options extends GlobalCLIOptions>(\n options: Options\n): Omit<Options, keyof GlobalCLIOptions> {\n const ret = { ...options }\n delete ret['--']\n delete ret.c\n delete ret.config\n delete ret.r\n delete ret.root\n delete ret.base\n delete ret.l\n delete ret.logLevel\n delete ret.clearScreen\n delete ret.d\n delete ret.debug\n delete ret.f\n delete ret.filter\n delete ret.m\n delete ret.mode\n return ret\n}\n\ncli\n .option('-c, --config <file>', `[string] use specified config file`)\n .option('-r, --root <path>', `[string] use specified root directory`)\n .option('--base <path>', `[string] public base path (default: /)`)\n .option('-l, --logLevel <level>', `[string] info | warn | error | silent`)\n .option('--clearScreen', `[boolean] allow/disable clear screen when logging`)\n .option('-d, --debug [feat]', `[string | boolean] show debug logs`)\n .option('-f, --filter <filter>', `[string] filter debug logs`)\n .option('-m, --mode <mode>', `[string] set env mode`)\n\n// dev\ncli\n .command('[root]') // default command\n .alias('serve') // the command is called 'serve' in Vite's API\n .alias('dev') // alias to align with the script name\n .option('--host [host]', `[string] specify hostname`)\n .option('--port <port>', `[number] specify port`)\n .option('--https', `[boolean] use TLS + HTTP/2`)\n .option('--open [path]', `[boolean | string] open browser on startup`)\n .option('--cors', `[boolean] enable CORS`)\n .option('--strictPort', `[boolean] exit if specified port is already in use`)\n .option(\n '--force',\n `[boolean] force the optimizer to ignore the cache and re-bundle`\n )\n .action(async (root: string, options: ServerOptions & GlobalCLIOptions) => {\n // output structure is preserved even after bundling so require()\n // is ok here\n const { createServer } = await import('./server')\n try {\n const server = await createServer({\n root,\n base: options.base,\n mode: options.mode,\n configFile: options.config,\n logLevel: options.logLevel,\n clearScreen: options.clearScreen,\n server: cleanOptions(options)\n })\n\n if (!server.httpServer) {\n throw new Error('HTTP server not available')\n }\n\n await server.listen()\n\n const info = server.config.logger.info\n\n info(\n chalk.cyan(`\\n vite v${require('vite/package.json').version}`) +\n chalk.green(` dev server running at:\\n`),\n {\n clear: !server.config.logger.hasWarned\n }\n )\n\n server.printUrls()\n\n // @ts-ignore\n if (global.__vite_start_time) {\n // @ts-ignore\n const startupDuration = performance.now() - global.__vite_start_time\n info(`\\n ${chalk.cyan(`ready in ${Math.ceil(startupDuration)}ms.`)}\\n`)\n }\n } catch (e) {\n createLogger(options.logLevel).error(\n chalk.red(`error when starting dev server:\\n${e.stack}`),\n { error: e }\n )\n process.exit(1)\n }\n })\n\n// build\ncli\n .command('build [root]')\n .option('--target <target>', `[string] transpile target (default: 'modules')`)\n .option('--outDir <dir>', `[string] output directory (default: dist)`)\n .option(\n '--assetsDir <dir>',\n `[string] directory under outDir to place assets in (default: _assets)`\n )\n .option(\n '--assetsInlineLimit <number>',\n `[number] static asset base64 inline threshold in bytes (default: 4096)`\n )\n .option(\n '--ssr [entry]',\n `[string] build specified entry for server-side rendering`\n )\n .option(\n '--sourcemap',\n `[boolean] output source maps for build (default: false)`\n )\n .option(\n '--minify [minifier]',\n `[boolean | \"terser\" | \"esbuild\"] enable/disable minification, ` +\n `or specify minifier to use (default: esbuild)`\n )\n .option('--manifest', `[boolean] emit build manifest json`)\n .option('--ssrManifest', `[boolean] emit ssr manifest json`)\n .option(\n '--emptyOutDir',\n `[boolean] force empty outDir when it's outside of root`\n )\n .option('-w, --watch', `[boolean] rebuilds when modules have changed on disk`)\n .action(async (root: string, options: BuildOptions & GlobalCLIOptions) => {\n const { build } = await import('./build')\n const buildOptions: BuildOptions = cleanOptions(options)\n\n try {\n await build({\n root,\n base: options.base,\n mode: options.mode,\n configFile: options.config,\n logLevel: options.logLevel,\n clearScreen: options.clearScreen,\n build: buildOptions\n })\n } catch (e) {\n createLogger(options.logLevel).error(\n chalk.red(`error during build:\\n${e.stack}`),\n { error: e }\n )\n process.exit(1)\n }\n })\n\n// optimize\ncli\n .command('optimize [root]')\n .option(\n '--force',\n `[boolean] force the optimizer to ignore the cache and re-bundle`\n )\n .action(\n async (root: string, options: { force?: boolean } & GlobalCLIOptions) => {\n const { optimizeDeps } = await import('./optimizer')\n try {\n const config = await resolveConfig(\n {\n root,\n base: options.base,\n configFile: options.config,\n logLevel: options.logLevel\n },\n 'build',\n 'development'\n )\n await optimizeDeps(config, options.force, true)\n } catch (e) {\n createLogger(options.logLevel).error(\n chalk.red(`error when optimizing deps:\\n${e.stack}`),\n { error: e }\n )\n process.exit(1)\n }\n }\n )\n\ncli\n .command('preview [root]')\n .option('--host [host]', `[string] specify hostname`)\n .option('--port <port>', `[number] specify port`)\n .option('--strictPort', `[boolean] exit if specified port is already in use`)\n .option('--https', `[boolean] use TLS + HTTP/2`)\n .option('--open [path]', `[boolean | string] open browser on startup`)\n .action(\n async (\n root: string,\n options: {\n host?: string | boolean\n port?: number\n https?: boolean\n open?: boolean | string\n strictPort?: boolean\n } & GlobalCLIOptions\n ) => {\n try {\n const server = await preview({\n root,\n base: options.base,\n configFile: options.config,\n logLevel: options.logLevel,\n server: {\n host: options.host,\n port: options.port ?? 5000,\n strictPort: options.strictPort,\n https: options.https,\n open: options.open\n }\n })\n server.printUrls()\n } catch (e) {\n createLogger(options.logLevel).error(\n chalk.red(`error when starting preview server:\\n${e.stack}`),\n { error: e }\n )\n process.exit(1)\n }\n }\n )\n\ncli.help()\ncli.version(require('../../package.json').version)\n\ncli.parse()\n"],"names":["EventEmitter","chalk","performance","createLogger","build","resolveConfig","preview"],"mappings":"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"}
@@ -518,19 +518,27 @@ export declare interface FileSystemServeOptions {
518
518
  * Set to `false` to disable the warning
519
519
  * Default to false at this moment, will enabled by default in the future versions.
520
520
  *
521
- * @experimental
522
- * @default undefined
521
+ * @default true
523
522
  */
524
- strict?: boolean | undefined;
523
+ strict?: boolean;
525
524
  /**
526
525
  * Restrict accessing files outside the allowed directories.
527
526
  *
528
527
  * Accepts absolute path or a path relative to project root.
529
528
  * Will try to search up for workspace root by default.
529
+ */
530
+ allow?: string[];
531
+ /**
532
+ * Restrict accessing files that matches the patterns.
533
+ *
534
+ * This will have higher priority than `allow`.
535
+ * Glob patterns are supported.
536
+ *
537
+ * @default ['.env', '.env.*', '*.crt', '*.pem']
530
538
  *
531
539
  * @experimental
532
540
  */
533
- allow?: string[];
541
+ deny?: string[];
534
542
  }
535
543
 
536
544
  export declare interface FSWatcher extends fs.FSWatcher {
@@ -1164,17 +1172,30 @@ export declare interface Plugin extends Plugin_2 {
1164
1172
  */
1165
1173
  resolveId?(this: PluginContext, source: string, importer: string | undefined, options: {
1166
1174
  custom?: CustomPluginOptions;
1167
- }, ssr?: boolean): Promise<ResolveIdResult> | ResolveIdResult;
1168
- load?(this: PluginContext, id: string, ssr?: boolean): Promise<LoadResult> | LoadResult;
1169
- transform?(this: TransformPluginContext, code: string, id: string, ssr?: boolean): Promise<TransformResult_3> | TransformResult_3;
1175
+ ssr?: boolean;
1176
+ }): Promise<ResolveIdResult> | ResolveIdResult;
1177
+ load?(this: PluginContext, id: string, options?: {
1178
+ ssr?: boolean;
1179
+ }): Promise<LoadResult> | LoadResult;
1180
+ transform?(this: TransformPluginContext, code: string, id: string, options?: {
1181
+ ssr?: boolean;
1182
+ }): Promise<TransformResult_3> | TransformResult_3;
1170
1183
  }
1171
1184
 
1172
1185
  export declare interface PluginContainer {
1173
1186
  options: InputOptions;
1174
1187
  buildStart(options: InputOptions): Promise<void>;
1175
- resolveId(id: string, importer?: string, skip?: Set<Plugin>, ssr?: boolean): Promise<PartialResolvedId | null>;
1176
- transform(code: string, id: string, inMap?: SourceDescription['map'], ssr?: boolean): Promise<SourceDescription | null>;
1177
- load(id: string, ssr?: boolean): Promise<LoadResult | null>;
1188
+ resolveId(id: string, importer?: string, options?: {
1189
+ skip?: Set<Plugin>;
1190
+ ssr?: boolean;
1191
+ }): Promise<PartialResolvedId | null>;
1192
+ transform(code: string, id: string, options?: {
1193
+ inMap?: SourceDescription['map'];
1194
+ ssr?: boolean;
1195
+ }): Promise<SourceDescription | null>;
1196
+ load(id: string, options?: {
1197
+ ssr?: boolean;
1198
+ }): Promise<LoadResult | null>;
1178
1199
  close(): Promise<void>;
1179
1200
  }
1180
1201
 
@@ -1186,7 +1207,22 @@ export declare type PluginOption = Plugin | false | null | undefined;
1186
1207
  * @param serverOptions - what host and port to use
1187
1208
  * @experimental
1188
1209
  */
1189
- export declare function preview(config: ResolvedConfig, serverOptions: Pick<ServerOptions, 'port' | 'host'>): Promise<Server>;
1210
+ export declare function preview(inlineConfig: InlineConfig): Promise<PreviewServer>;
1211
+
1212
+ export declare interface PreviewServer {
1213
+ /**
1214
+ * The resolved vite config object
1215
+ */
1216
+ config: ResolvedConfig;
1217
+ /**
1218
+ * native Node http server instance
1219
+ */
1220
+ httpServer: Server;
1221
+ /**
1222
+ * Print server urls
1223
+ */
1224
+ printUrls: () => void;
1225
+ }
1190
1226
 
1191
1227
  export declare function printHttpServerUrls(server: Server_3, config: ResolvedConfig): void;
1192
1228
 
@@ -1457,6 +1493,10 @@ export declare type ServerHook = (server: ViteDevServer) => (() => void) | void
1457
1493
  export declare interface ServerOptions {
1458
1494
  host?: string | boolean;
1459
1495
  port?: number;
1496
+ /**
1497
+ * If enabled, vite will exit if specified port is already in use
1498
+ */
1499
+ strictPort?: boolean;
1460
1500
  /**
1461
1501
  * Enable TLS + HTTP/2.
1462
1502
  * Note: this downgrades to TLS only when the proxy option is also used.
@@ -1466,19 +1506,6 @@ export declare interface ServerOptions {
1466
1506
  * Open browser window on startup
1467
1507
  */
1468
1508
  open?: boolean | string;
1469
- /**
1470
- * Force dep pre-optimization regardless of whether deps have changed.
1471
- */
1472
- force?: boolean;
1473
- /**
1474
- * Configure HMR-specific options (port, host, path & protocol)
1475
- */
1476
- hmr?: HmrOptions | boolean;
1477
- /**
1478
- * chokidar watch options
1479
- * https://github.com/paulmillr/chokidar#api
1480
- */
1481
- watch?: WatchOptions;
1482
1509
  /**
1483
1510
  * Configure custom proxy rules for the dev server. Expects an object
1484
1511
  * of `{ key: options }` pairs.
@@ -1510,9 +1537,18 @@ export declare interface ServerOptions {
1510
1537
  */
1511
1538
  cors?: CorsOptions | boolean;
1512
1539
  /**
1513
- * If enabled, vite will exit if specified port is already in use
1540
+ * Force dep pre-optimization regardless of whether deps have changed.
1514
1541
  */
1515
- strictPort?: boolean;
1542
+ force?: boolean;
1543
+ /**
1544
+ * Configure HMR-specific options (port, host, path & protocol)
1545
+ */
1546
+ hmr?: HmrOptions | boolean;
1547
+ /**
1548
+ * chokidar watch options
1549
+ * https://github.com/paulmillr/chokidar#api
1550
+ */
1551
+ watch?: WatchOptions;
1516
1552
  /**
1517
1553
  * Create Vite dev server to be used as a middleware in an existing server
1518
1554
  */
@@ -2,31 +2,31 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var build = require('./chunks/dep-be032392.js');
6
- require('fs');
5
+ var build = require('./chunks/dep-f2dce443.js');
7
6
  require('path');
8
- require('events');
7
+ require('fs');
8
+ require('querystring');
9
+ require('tty');
9
10
  require('util');
10
- require('stream');
11
+ require('net');
12
+ require('events');
13
+ require('url');
14
+ require('http');
15
+ require('buffer');
16
+ require('zlib');
11
17
  require('os');
18
+ require('resolve');
19
+ require('module');
12
20
  require('perf_hooks');
13
- require('url');
21
+ require('readline');
14
22
  require('crypto');
15
- require('module');
23
+ require('stream');
16
24
  require('esbuild');
17
25
  require('worker_threads');
18
26
  require('assert');
19
- require('child_process');
20
- require('readline');
21
- require('zlib');
22
- require('resolve');
23
- require('querystring');
24
- require('tty');
25
- require('net');
26
- require('http');
27
- require('buffer');
28
27
  require('https');
29
28
  require('tls');
29
+ require('child_process');
30
30
 
31
31
 
32
32
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite",
3
- "version": "2.6.10",
3
+ "version": "2.7.0-beta.0",
4
4
  "license": "MIT",
5
5
  "author": "Evan You",
6
6
  "description": "Native-ESM powered web dev build tool",
@@ -106,8 +106,8 @@ code {
106
106
  <pre class="stack"></pre>
107
107
  <div class="tip">
108
108
  Click outside or fix the code to dismiss.<br>
109
- You can also disable this overlay with
110
- <code>hmr: { overlay: false }</code> in <code>vite.config.js.</code>
109
+ You can also disable this overlay by setting
110
+ <code>server.hmr.overlay</code> to <code>false</code> in <code>vite.config.js.</code>
111
111
  </div>
112
112
  </div>
113
113
  `
package/types/shims.d.ts CHANGED
@@ -96,7 +96,11 @@ declare module 'rollup-plugin-web-worker-loader' {
96
96
  }
97
97
 
98
98
  declare module 'minimatch' {
99
- function match(path: string, pattern: string): boolean
99
+ function match(
100
+ path: string,
101
+ pattern: string,
102
+ options?: { matchBase?: boolean }
103
+ ): boolean
100
104
  export default match
101
105
  }
102
106