UNPKG

1.69 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', {
4 value: true
5});
6exports.default = getSelectProjectsMessage;
7
8function _chalk() {
9 const data = _interopRequireDefault(require('chalk'));
10
11 _chalk = function () {
12 return data;
13 };
14
15 return data;
16}
17
18var _getProjectDisplayName = _interopRequireDefault(
19 require('./getProjectDisplayName')
20);
21
22function _interopRequireDefault(obj) {
23 return obj && obj.__esModule ? obj : {default: obj};
24}
25
26/**
27 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
28 *
29 * This source code is licensed under the MIT license found in the
30 * LICENSE file in the root directory of this source tree.
31 */
32function getSelectProjectsMessage(projectConfigs) {
33 if (projectConfigs.length === 0) {
34 return getNoSelectionWarning();
35 }
36
37 return getProjectsRunningMessage(projectConfigs);
38}
39
40function getNoSelectionWarning() {
41 return _chalk().default.yellow(
42 'You provided values for --selectProjects but no projects were found matching the selection.\n'
43 );
44}
45
46function getProjectsRunningMessage(projectConfigs) {
47 if (projectConfigs.length === 1) {
48 const name = (0, _getProjectDisplayName.default)(projectConfigs[0]);
49 return `Running one project: ${_chalk().default.bold(name)}\n`;
50 }
51
52 const projectsList = projectConfigs
53 .map(getProjectNameListElement)
54 .sort()
55 .join('\n');
56 return `Running ${projectConfigs.length} projects:\n${projectsList}\n`;
57}
58
59function getProjectNameListElement(projectConfig) {
60 const name = (0, _getProjectDisplayName.default)(projectConfig);
61 const elementContent = name
62 ? _chalk().default.bold(name)
63 : '<unnamed project>';
64 return `- ${elementContent}`;
65}