| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- "use strict";
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- var desc = Object.getOwnPropertyDescriptor(m, k);
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
- desc = { enumerable: true, get: function() { return m[k]; } };
- }
- Object.defineProperty(o, k2, desc);
- }) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
- }));
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
- }) : function(o, v) {
- o["default"] = v;
- });
- var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.VueViteServeCLI = exports.VueServeRunner = void 0;
- const cli_framework_1 = require("@ionic/cli-framework");
- const cli_framework_output_1 = require("@ionic/cli-framework-output");
- const utils_network_1 = require("@ionic/utils-network");
- const color_1 = require("../../color");
- const serve_1 = require("../../serve");
- class VueServeRunner extends serve_1.ServeRunner {
- constructor(e) {
- super();
- this.e = e;
- }
- async getCommandMetadata() {
- return {};
- }
- modifyOpenUrl(url, _options) {
- return url;
- }
- async serveProject(options) {
- const [externalIP, availableInterfaces] = await this.selectExternalIP(options);
- const port = (options.port = await (0, utils_network_1.findClosestOpenPort)(options.port));
- const vueScripts = new VueViteServeCLI(this.e);
- await vueScripts.serve(options);
- return {
- custom: vueScripts.resolvedProgram !== vueScripts.program,
- protocol: options.https ? 'https' : 'http',
- localAddress: 'localhost',
- externalAddress: externalIP,
- externalNetworkInterfaces: availableInterfaces,
- port,
- externallyAccessible: ![serve_1.BIND_ALL_ADDRESS, ...serve_1.LOCAL_ADDRESSES].includes(externalIP),
- };
- }
- }
- exports.VueServeRunner = VueServeRunner;
- class VueViteServeCLI extends serve_1.ServeCLI {
- constructor() {
- super(...arguments);
- this.name = 'Vite CLI Service';
- this.pkg = 'vite';
- this.program = 'vite';
- this.prefix = 'vite';
- this.script = serve_1.SERVE_SCRIPT;
- this.chunks = 0;
- }
- async serve(options) {
- this.on('compile', (chunks) => {
- if (chunks > 0) {
- this.e.log.info(`... and ${(0, color_1.strong)(chunks.toString())} additional chunks`);
- }
- });
- return super.serve(options);
- }
- stdoutFilter(line) {
- if (this.resolvedProgram !== this.program) {
- return super.stdoutFilter(line);
- }
- const strippedLine = (0, cli_framework_output_1.stripAnsi)(line);
- const compileMsgs = [
- 'Compiled successfully',
- 'Compiled with warnings',
- 'Failed to compile',
- "ready in"
- ];
- if (compileMsgs.some((msg) => strippedLine.includes(msg))) {
- this.emit('ready');
- return false;
- }
- if (strippedLine.match(/.*chunk\s{\d+}.+/)) {
- this.chunks++;
- return false;
- }
- if (strippedLine.includes('Compiled successfully')) {
- this.emit('compile', this.chunks);
- this.chunks = 0;
- }
- return true;
- }
- stderrFilter(line) {
- if (this.resolvedProgram !== this.program) {
- return super.stderrFilter(line);
- }
- const strippedLine = (0, cli_framework_output_1.stripAnsi)(line);
- if (strippedLine.includes('webpack.Progress')) {
- return false;
- }
- return true;
- }
- async buildArgs(options) {
- const args = {
- _: [],
- host: options.host,
- port: options.port ? options.port.toString() : undefined,
- };
- const { pkgManagerArgs } = await Promise.resolve().then(() => __importStar(require('../../utils/npm')));
- const separatedArgs = options['--'];
- if (this.resolvedProgram === this.program) {
- return [...(0, cli_framework_1.unparseArgs)(args), ...separatedArgs];
- }
- else {
- const [, ...pkgArgs] = await pkgManagerArgs(this.e.config.get('npmClient'), {
- command: 'run',
- script: this.script,
- scriptArgs: [...(0, cli_framework_1.unparseArgs)(args), ...separatedArgs],
- });
- return pkgArgs;
- }
- }
- async buildEnvVars(options) {
- const env = {};
- // // Vue CLI binds to `localhost` by default, but if specified it prints a
- // // warning, so don't set `HOST` if the host is set to `localhost`.
- if (options.host !== serve_1.DEFAULT_ADDRESS) {
- env.HOST = options.host;
- }
- env.PORT = String(options.port);
- env.HTTPS = options.https ? 'true' : 'false';
- return { ...(await super.buildEnvVars(options)), ...env };
- }
- }
- exports.VueViteServeCLI = VueViteServeCLI;
|