@grafana/create-plugin 2.11.2 → 2.12.0-canary.658.dabaee1.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.
Files changed (62) hide show
  1. package/dist/bin/run.js +13 -18
  2. package/dist/commands/generate/prettify-files.js +15 -70
  3. package/dist/commands/generate/print-success-message.js +28 -31
  4. package/dist/commands/generate/prompt-user.js +23 -91
  5. package/dist/commands/generate/update-go-sdk-and-packages.js +36 -105
  6. package/dist/commands/generate.command.js +122 -240
  7. package/dist/commands/index.js +5 -21
  8. package/dist/commands/migrate.command.js +71 -134
  9. package/dist/commands/provisioning.command.js +30 -85
  10. package/dist/commands/types.js +1 -2
  11. package/dist/commands/update.command.js +44 -97
  12. package/dist/commands/version.command.js +16 -57
  13. package/dist/constants.js +37 -32
  14. package/dist/utils/tests/utils.files.test.js +21 -23
  15. package/dist/utils/tests/utils.handlebars.test.js +24 -26
  16. package/dist/utils/tests/utils.npm.test.js +103 -95
  17. package/dist/utils/tests/utils.plugin.test.js +11 -13
  18. package/dist/utils/tests/utils.templates.test.js +16 -18
  19. package/dist/utils/utils.config.js +30 -32
  20. package/dist/utils/utils.console.js +25 -31
  21. package/dist/utils/utils.files.js +38 -104
  22. package/dist/utils/utils.handlebars.js +30 -65
  23. package/dist/utils/utils.npm.js +75 -118
  24. package/dist/utils/utils.os.js +3 -7
  25. package/dist/utils/utils.packageManager.js +31 -37
  26. package/dist/utils/utils.packagejson.js +13 -22
  27. package/dist/utils/utils.path.js +7 -14
  28. package/dist/utils/utils.plugin.js +6 -13
  29. package/dist/utils/utils.templates.js +58 -80
  30. package/dist/utils/utils.version.js +9 -11
  31. package/package.json +20 -6
  32. package/src/bin/run.ts +2 -2
  33. package/src/commands/generate/prettify-files.ts +1 -1
  34. package/src/commands/generate/print-success-message.ts +4 -4
  35. package/src/commands/generate/prompt-user.ts +2 -2
  36. package/src/commands/generate/update-go-sdk-and-packages.ts +2 -2
  37. package/src/commands/generate.command.ts +15 -15
  38. package/src/commands/index.ts +5 -5
  39. package/src/commands/migrate.command.ts +6 -6
  40. package/src/commands/provisioning.command.ts +6 -6
  41. package/src/commands/types.ts +1 -1
  42. package/src/commands/update.command.ts +5 -5
  43. package/src/commands/version.command.ts +5 -2
  44. package/src/constants.ts +4 -1
  45. package/src/utils/tests/utils.files.test.ts +2 -2
  46. package/src/utils/tests/utils.handlebars.test.ts +2 -2
  47. package/src/utils/tests/utils.npm.test.ts +43 -34
  48. package/src/utils/tests/utils.plugin.test.ts +2 -2
  49. package/src/utils/tests/utils.templates.test.ts +2 -2
  50. package/src/utils/utils.config.ts +3 -3
  51. package/src/utils/utils.console.ts +16 -11
  52. package/src/utils/utils.files.ts +3 -3
  53. package/src/utils/utils.handlebars.ts +3 -3
  54. package/src/utils/utils.npm.ts +3 -3
  55. package/src/utils/utils.packageManager.ts +3 -3
  56. package/src/utils/utils.packagejson.ts +5 -5
  57. package/src/utils/utils.path.ts +3 -3
  58. package/src/utils/utils.plugin.ts +2 -3
  59. package/src/utils/utils.templates.ts +10 -10
  60. package/src/utils/utils.version.ts +5 -2
  61. package/tsconfig.json +5 -0
  62. package/vitest.config.ts +10 -0
@@ -1,272 +1,154 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
1
+ import glob from 'glob';
2
+ import chalk from 'chalk';
3
+ import { mkdir, readdir, writeFile } from 'node:fs/promises';
4
+ import path from 'node:path';
5
+ import { EXTRA_TEMPLATE_VARIABLES, IS_DEV, PLUGIN_TYPES, TEMPLATE_PATHS } from '../constants.js';
6
+ import { getConfig } from '../utils/utils.config.js';
7
+ import { printError } from '../utils/utils.console.js';
8
+ import { directoryExists, getExportFileName, isFile } from '../utils/utils.files.js';
9
+ import { normalizeId } from '../utils/utils.handlebars.js';
10
+ import { getPackageManagerFromUserAgent, getPackageManagerInstallCmd } from '../utils/utils.packageManager.js';
11
+ import { getExportPath } from '../utils/utils.path.js';
12
+ import { renderTemplateFromFile } from '../utils/utils.templates.js';
13
+ import { getVersion } from '../utils/utils.version.js';
14
+ import { prettifyFiles } from './generate/prettify-files.js';
15
+ import { printGenerateSuccessMessage } from './generate/print-success-message.js';
16
+ import { promptUser } from './generate/prompt-user.js';
17
+ import { updateGoSdkAndModules } from './generate/update-go-sdk-and-packages.js';
18
+ export const generate = async (argv) => {
19
+ const answers = await promptUser(argv);
20
+ const templateData = getTemplateData(answers);
21
+ const exportPath = getExportPath(answers.pluginName, answers.orgName, answers.pluginType);
22
+ const exportPathExists = await directoryExists(exportPath);
23
+ const exportPathIsPopulated = exportPathExists ? (await readdir(exportPath)).length > 0 : false;
24
+ if (exportPathIsPopulated && !IS_DEV) {
25
+ printError(`**Aborting plugin scaffold. '${exportPath}' exists and contains files.**`);
26
+ process.exit(1);
47
27
  }
48
- };
49
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
- if (ar || !(i in from)) {
52
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
- ar[i] = from[i];
54
- }
28
+ const actions = getTemplateActions({ templateData, exportPath });
29
+ const { changes, failures } = await generateFiles({ actions });
30
+ changes.forEach((change) => {
31
+ console.log(`${chalk.green('✔︎ ++')} ${change.path}`);
32
+ });
33
+ failures.forEach((failure) => {
34
+ printError(`${failure.error}`);
35
+ });
36
+ if (answers.hasBackend) {
37
+ await execPostScaffoldFunction(updateGoSdkAndModules, exportPath);
55
38
  }
56
- return to.concat(ar || Array.prototype.slice.call(from));
57
- };
58
- var __importDefault = (this && this.__importDefault) || function (mod) {
59
- return (mod && mod.__esModule) ? mod : { "default": mod };
39
+ await execPostScaffoldFunction(prettifyFiles, exportPath);
40
+ printGenerateSuccessMessage(answers);
60
41
  };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.generate = void 0;
63
- var glob_1 = __importDefault(require("glob"));
64
- var chalk_1 = __importDefault(require("chalk"));
65
- var promises_1 = require("node:fs/promises");
66
- var path_1 = __importDefault(require("path"));
67
- var constants_1 = require("../constants");
68
- var utils_config_1 = require("../utils/utils.config");
69
- var utils_console_1 = require("../utils/utils.console");
70
- var utils_files_1 = require("../utils/utils.files");
71
- var utils_handlebars_1 = require("../utils/utils.handlebars");
72
- var utils_packageManager_1 = require("../utils/utils.packageManager");
73
- var utils_path_1 = require("../utils/utils.path");
74
- var utils_templates_1 = require("../utils/utils.templates");
75
- var utils_version_1 = require("../utils/utils.version");
76
- var prettify_files_1 = require("./generate/prettify-files");
77
- var print_success_message_1 = require("./generate/print-success-message");
78
- var prompt_user_1 = require("./generate/prompt-user");
79
- var update_go_sdk_and_packages_1 = require("./generate/update-go-sdk-and-packages");
80
- var generate = function (argv) { return __awaiter(void 0, void 0, void 0, function () {
81
- var answers, templateData, exportPath, exportPathExists, exportPathIsPopulated, _a, actions, _b, changes, failures;
82
- return __generator(this, function (_c) {
83
- switch (_c.label) {
84
- case 0: return [4, (0, prompt_user_1.promptUser)(argv)];
85
- case 1:
86
- answers = _c.sent();
87
- templateData = getTemplateData(answers);
88
- exportPath = (0, utils_path_1.getExportPath)(answers.pluginName, answers.orgName, answers.pluginType);
89
- return [4, (0, utils_files_1.directoryExists)(exportPath)];
90
- case 2:
91
- exportPathExists = _c.sent();
92
- if (!exportPathExists) return [3, 4];
93
- return [4, (0, promises_1.readdir)(exportPath)];
94
- case 3:
95
- _a = (_c.sent()).length > 0;
96
- return [3, 5];
97
- case 4:
98
- _a = false;
99
- _c.label = 5;
100
- case 5:
101
- exportPathIsPopulated = _a;
102
- if (exportPathIsPopulated && !constants_1.IS_DEV) {
103
- (0, utils_console_1.printError)("**Aborting plugin scaffold. '".concat(exportPath, "' exists and contains files.**"));
104
- process.exit(1);
105
- }
106
- actions = getTemplateActions({ templateData: templateData, exportPath: exportPath });
107
- return [4, generateFiles({ actions: actions })];
108
- case 6:
109
- _b = _c.sent(), changes = _b.changes, failures = _b.failures;
110
- changes.forEach(function (change) {
111
- console.log("".concat(chalk_1.default.green('✔︎ ++'), " ").concat(change.path));
112
- });
113
- failures.forEach(function (failure) {
114
- (0, utils_console_1.printError)("".concat(failure.error));
115
- });
116
- if (!answers.hasBackend) return [3, 8];
117
- return [4, execPostScaffoldFunction(update_go_sdk_and_packages_1.updateGoSdkAndModules, exportPath)];
118
- case 7:
119
- _c.sent();
120
- _c.label = 8;
121
- case 8: return [4, execPostScaffoldFunction(prettify_files_1.prettifyFiles, exportPath)];
122
- case 9:
123
- _c.sent();
124
- (0, print_success_message_1.printGenerateSuccessMessage)(answers);
125
- return [2];
126
- }
127
- });
128
- }); };
129
- exports.generate = generate;
130
42
  function getTemplateData(answers) {
131
- var pluginName = answers.pluginName, orgName = answers.orgName, pluginType = answers.pluginType;
132
- var features = (0, utils_config_1.getConfig)().features;
133
- var currentVersion = (0, utils_version_1.getVersion)();
134
- var pluginId = (0, utils_handlebars_1.normalizeId)(pluginName, orgName, pluginType);
135
- var _a = (0, utils_packageManager_1.getPackageManagerFromUserAgent)(), packageManagerName = _a.packageManagerName, packageManagerVersion = _a.packageManagerVersion;
136
- var packageManagerInstallCmd = (0, utils_packageManager_1.getPackageManagerInstallCmd)(packageManagerName);
137
- var isAppType = pluginType === constants_1.PLUGIN_TYPES.app || pluginType === constants_1.PLUGIN_TYPES.scenes;
138
- var templateData = __assign(__assign({}, answers), { pluginId: pluginId, packageManagerName: packageManagerName, packageManagerInstallCmd: packageManagerInstallCmd, packageManagerVersion: packageManagerVersion, isAppType: isAppType, isNPM: packageManagerName === 'npm', version: currentVersion, bundleGrafanaUI: features.bundleGrafanaUI });
43
+ const { pluginName, orgName, pluginType } = answers;
44
+ const { features } = getConfig();
45
+ const currentVersion = getVersion();
46
+ const pluginId = normalizeId(pluginName, orgName, pluginType);
47
+ const { packageManagerName, packageManagerVersion } = getPackageManagerFromUserAgent();
48
+ const packageManagerInstallCmd = getPackageManagerInstallCmd(packageManagerName);
49
+ const isAppType = pluginType === PLUGIN_TYPES.app || pluginType === PLUGIN_TYPES.scenes;
50
+ const templateData = {
51
+ ...answers,
52
+ pluginId,
53
+ packageManagerName,
54
+ packageManagerInstallCmd,
55
+ packageManagerVersion,
56
+ isAppType,
57
+ isNPM: packageManagerName === 'npm',
58
+ version: currentVersion,
59
+ bundleGrafanaUI: features.bundleGrafanaUI,
60
+ };
139
61
  return templateData;
140
62
  }
141
- function getTemplateActions(_a) {
142
- var exportPath = _a.exportPath, templateData = _a.templateData;
143
- var commonActions = getActionsForTemplateFolder({
144
- folderPath: constants_1.TEMPLATE_PATHS.common,
145
- exportPath: exportPath,
146
- templateData: templateData,
63
+ function getTemplateActions({ exportPath, templateData }) {
64
+ const commonActions = getActionsForTemplateFolder({
65
+ folderPath: TEMPLATE_PATHS.common,
66
+ exportPath,
67
+ templateData,
147
68
  });
148
- var pluginTypeSpecificActions = getActionsForTemplateFolder({
149
- folderPath: constants_1.TEMPLATE_PATHS[templateData.pluginType],
150
- exportPath: exportPath,
151
- templateData: templateData,
69
+ const pluginTypeSpecificActions = getActionsForTemplateFolder({
70
+ folderPath: TEMPLATE_PATHS[templateData.pluginType],
71
+ exportPath,
72
+ templateData,
152
73
  });
153
- var backendFolderPath = templateData.isAppType ? constants_1.TEMPLATE_PATHS.backendApp : constants_1.TEMPLATE_PATHS.backend;
154
- var backendActions = templateData.hasBackend
155
- ? getActionsForTemplateFolder({ folderPath: backendFolderPath, exportPath: exportPath, templateData: templateData })
74
+ const backendFolderPath = templateData.isAppType ? TEMPLATE_PATHS.backendApp : TEMPLATE_PATHS.backend;
75
+ const backendActions = templateData.hasBackend
76
+ ? getActionsForTemplateFolder({ folderPath: backendFolderPath, exportPath, templateData })
156
77
  : [];
157
- var pluginActions = __spreadArray(__spreadArray(__spreadArray([], backendActions, true), pluginTypeSpecificActions, true), commonActions, true).reduce(function (acc, file) {
158
- var actionExists = acc.find(function (f) { return f.path === file.path; });
78
+ const pluginActions = [...backendActions, ...pluginTypeSpecificActions, ...commonActions].reduce((acc, file) => {
79
+ const actionExists = acc.find((f) => f.path === file.path);
159
80
  if (actionExists) {
160
81
  return acc;
161
82
  }
162
83
  acc.push(file);
163
84
  return acc;
164
85
  }, []);
165
- var ciWorkflowActions = templateData.hasGithubWorkflows
86
+ const ciWorkflowActions = templateData.hasGithubWorkflows
166
87
  ? getActionsForTemplateFolder({
167
- folderPath: constants_1.TEMPLATE_PATHS.ciWorkflows,
168
- exportPath: exportPath,
169
- templateData: templateData,
88
+ folderPath: TEMPLATE_PATHS.ciWorkflows,
89
+ exportPath,
90
+ templateData,
170
91
  })
171
92
  : [];
172
- var isCompatibleWorkflowActions = templateData.hasGithubLevitateWorkflow
93
+ const isCompatibleWorkflowActions = templateData.hasGithubLevitateWorkflow
173
94
  ? getActionsForTemplateFolder({
174
- folderPath: constants_1.TEMPLATE_PATHS.isCompatibleWorkflow,
175
- exportPath: exportPath,
176
- templateData: templateData,
95
+ folderPath: TEMPLATE_PATHS.isCompatibleWorkflow,
96
+ exportPath,
97
+ templateData,
177
98
  })
178
99
  : [];
179
- return __spreadArray(__spreadArray(__spreadArray([], pluginActions, true), ciWorkflowActions, true), isCompatibleWorkflowActions, true);
100
+ return [...pluginActions, ...ciWorkflowActions, ...isCompatibleWorkflowActions];
180
101
  }
181
- function getActionsForTemplateFolder(_a) {
182
- var folderPath = _a.folderPath, exportPath = _a.exportPath, templateData = _a.templateData;
183
- var files = glob_1.default.sync("".concat(folderPath, "/**"), { dot: true });
102
+ function getActionsForTemplateFolder({ folderPath, exportPath, templateData, }) {
103
+ let files = glob.sync(`${folderPath}/**`, { dot: true });
184
104
  if (templateData.packageManagerName !== 'pnpm') {
185
- files = files.filter(function (file) { return path_1.default.basename(file) !== 'npmrc'; });
105
+ files = files.filter((file) => path.basename(file) !== 'npmrc');
186
106
  }
187
107
  function getFileExportPath(f) {
188
- return path_1.default.relative(folderPath, path_1.default.dirname(f));
108
+ return path.relative(folderPath, path.dirname(f));
189
109
  }
190
- return files.filter(utils_files_1.isFile).map(function (f) { return ({
110
+ return files.filter(isFile).map((f) => ({
191
111
  templateFile: f,
192
- path: path_1.default.join(exportPath, getFileExportPath(f), (0, utils_files_1.getExportFileName)(f)),
193
- data: __assign(__assign({}, constants_1.EXTRA_TEMPLATE_VARIABLES), templateData),
194
- }); });
112
+ path: path.join(exportPath, getFileExportPath(f), getExportFileName(f)),
113
+ data: {
114
+ ...EXTRA_TEMPLATE_VARIABLES,
115
+ ...templateData,
116
+ },
117
+ }));
195
118
  }
196
- function generateFiles(_a) {
197
- var actions = _a.actions;
198
- return __awaiter(this, void 0, void 0, function () {
199
- var failures, changes, _i, actions_1, action, rootDir, pathExists, rendered, error_1;
200
- return __generator(this, function (_b) {
201
- switch (_b.label) {
202
- case 0:
203
- failures = [];
204
- changes = [];
205
- _i = 0, actions_1 = actions;
206
- _b.label = 1;
207
- case 1:
208
- if (!(_i < actions_1.length)) return [3, 9];
209
- action = actions_1[_i];
210
- _b.label = 2;
211
- case 2:
212
- _b.trys.push([2, 7, , 8]);
213
- rootDir = path_1.default.dirname(action.path);
214
- return [4, (0, utils_files_1.directoryExists)(rootDir)];
215
- case 3:
216
- pathExists = _b.sent();
217
- if (!!pathExists) return [3, 5];
218
- return [4, (0, promises_1.mkdir)(rootDir, { recursive: true })];
219
- case 4:
220
- _b.sent();
221
- _b.label = 5;
222
- case 5:
223
- rendered = (0, utils_templates_1.renderTemplateFromFile)(action.templateFile, action.data);
224
- return [4, (0, promises_1.writeFile)(action.path, rendered)];
225
- case 6:
226
- _b.sent();
227
- changes.push({
228
- path: action.path,
229
- });
230
- return [3, 8];
231
- case 7:
232
- error_1 = _b.sent();
233
- failures.push({
234
- path: action.path,
235
- error: error_1.message || error_1.toString(),
236
- });
237
- return [3, 8];
238
- case 8:
239
- _i++;
240
- return [3, 1];
241
- case 9: return [2, { failures: failures, changes: changes }];
119
+ async function generateFiles({ actions }) {
120
+ const failures = [];
121
+ const changes = [];
122
+ for (const action of actions) {
123
+ try {
124
+ const rootDir = path.dirname(action.path);
125
+ const pathExists = await directoryExists(rootDir);
126
+ if (!pathExists) {
127
+ await mkdir(rootDir, { recursive: true });
242
128
  }
243
- });
244
- });
129
+ const rendered = renderTemplateFromFile(action.templateFile, action.data);
130
+ await writeFile(action.path, rendered);
131
+ changes.push({
132
+ path: action.path,
133
+ });
134
+ }
135
+ catch (error) {
136
+ failures.push({
137
+ path: action.path,
138
+ error: error.message || error.toString(),
139
+ });
140
+ }
141
+ }
142
+ return { failures, changes };
245
143
  }
246
- function execPostScaffoldFunction(fn) {
247
- var args = [];
248
- for (var _i = 1; _i < arguments.length; _i++) {
249
- args[_i - 1] = arguments[_i];
144
+ async function execPostScaffoldFunction(fn, ...args) {
145
+ try {
146
+ const resultMsg = await fn.apply(undefined, args);
147
+ if (resultMsg) {
148
+ console.log(`${chalk.green('✔︎')} ${resultMsg}`);
149
+ }
150
+ }
151
+ catch (error) {
152
+ printError(`${error}`);
250
153
  }
251
- return __awaiter(this, void 0, void 0, function () {
252
- var resultMsg, error_2;
253
- return __generator(this, function (_a) {
254
- switch (_a.label) {
255
- case 0:
256
- _a.trys.push([0, 2, , 3]);
257
- return [4, fn.apply(undefined, args)];
258
- case 1:
259
- resultMsg = _a.sent();
260
- if (resultMsg) {
261
- console.log("".concat(chalk_1.default.green('✔︎'), " ").concat(resultMsg));
262
- }
263
- return [3, 3];
264
- case 2:
265
- error_2 = _a.sent();
266
- (0, utils_console_1.printError)("".concat(error_2));
267
- return [3, 3];
268
- case 3: return [2];
269
- }
270
- });
271
- });
272
154
  }
@@ -1,21 +1,5 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./generate.command"), exports);
18
- __exportStar(require("./update.command"), exports);
19
- __exportStar(require("./migrate.command"), exports);
20
- __exportStar(require("./version.command"), exports);
21
- __exportStar(require("./provisioning.command"), exports);
1
+ export * from './generate.command.js';
2
+ export * from './update.command.js';
3
+ export * from './migrate.command.js';
4
+ export * from './version.command.js';
5
+ export * from './provisioning.command.js';
@@ -1,137 +1,74 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
1
+ import { TEXT, MIGRATION_CONFIG } from '../constants.js';
2
+ import { displayArrayAsList, printMessage, printSuccessMessage, confirmPrompt } from '../utils/utils.console.js';
3
+ import { compileTemplateFiles, getTemplateData } from '../utils/utils.templates.js';
4
+ import { getExportTemplateName, getOnlyExistingInCwd, getOnlyNotExistingInCwd, removeFilesInCwd, } from '../utils/utils.files.js';
5
+ import { getPackageJsonUpdatesAsText, updatePackageJson, hasNpmDependenciesToUpdate, getRemovableNpmDependencies, removeNpmDependencies, updateNpmScripts, cleanUpPackageJson, writePackageManagerInPackageJson, } from '../utils/utils.npm.js';
6
+ import { getPackageManagerWithFallback } from '../utils/utils.packageManager.js';
7
+ export const migrate = async () => {
8
+ try {
9
+ printMessage(TEXT.migrationCommandWarning);
10
+ if (await confirmPrompt(TEXT.overrideFilesPrompt + '\n' + displayArrayAsList(MIGRATION_CONFIG.filesToOverride))) {
11
+ compileTemplateFiles(MIGRATION_CONFIG.filesToOverride.map(getExportTemplateName), getTemplateData());
12
+ printSuccessMessage(TEXT.overrideFilesSuccess);
13
+ }
14
+ else {
15
+ printMessage(TEXT.overrideFilesAborted);
16
+ process.exit(0);
17
+ }
18
+ const filesToExist = getOnlyNotExistingInCwd(MIGRATION_CONFIG.filesToExist);
19
+ if (filesToExist.length) {
20
+ if (await confirmPrompt(TEXT.filesToExistPrompt + '\n' + displayArrayAsList(filesToExist))) {
21
+ compileTemplateFiles(filesToExist, getTemplateData());
22
+ printSuccessMessage(TEXT.filesToExistSuccess);
23
+ }
24
+ else {
25
+ printMessage(TEXT.filesToExistAborted);
26
+ }
27
+ }
28
+ const filesToRemove = getOnlyExistingInCwd(MIGRATION_CONFIG.filesToRemove);
29
+ if (filesToRemove.length) {
30
+ if (await confirmPrompt(TEXT.removeFilesPrompt + '\n' + displayArrayAsList(filesToRemove))) {
31
+ removeFilesInCwd(filesToRemove);
32
+ printSuccessMessage(TEXT.removeFilesSuccess);
33
+ }
34
+ else {
35
+ printMessage(TEXT.removeFilesAborted);
36
+ }
37
+ }
38
+ if (hasNpmDependenciesToUpdate()) {
39
+ if (await confirmPrompt(TEXT.updateNpmDependenciesPrompt + getPackageJsonUpdatesAsText({ ignoreGrafanaDependencies: true }))) {
40
+ updatePackageJson({ ignoreGrafanaDependencies: true });
41
+ printSuccessMessage(TEXT.updateNpmDependenciesSuccess);
32
42
  }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
43
+ else {
44
+ printMessage(TEXT.updateNpmDependenciesAborted);
45
+ }
46
+ }
47
+ const dependenciesToRemove = getRemovableNpmDependencies(MIGRATION_CONFIG.npmDependenciesToRemove);
48
+ const devDependenciesToRemove = getRemovableNpmDependencies(MIGRATION_CONFIG.devNpmDependenciesToRemove);
49
+ if (dependenciesToRemove.length) {
50
+ if (await confirmPrompt(TEXT.removeNpmDependenciesPrompt + '\n' + displayArrayAsList(dependenciesToRemove))) {
51
+ removeNpmDependencies(dependenciesToRemove);
52
+ removeNpmDependencies(devDependenciesToRemove, { devOnly: true });
53
+ printSuccessMessage(TEXT.removeNpmDependenciesSuccess);
54
+ }
55
+ else {
56
+ printMessage(TEXT.removeNpmDependenciesAborted);
57
+ }
58
+ }
59
+ if (await confirmPrompt(TEXT.updateNpmScriptsPrompt)) {
60
+ updateNpmScripts();
61
+ printSuccessMessage(TEXT.updateNpmScriptsSuccess);
62
+ }
63
+ else {
64
+ printMessage(TEXT.updateNpmScriptsAborted);
65
+ }
66
+ const packageManager = getPackageManagerWithFallback();
67
+ writePackageManagerInPackageJson(packageManager);
68
+ cleanUpPackageJson();
69
+ printSuccessMessage(TEXT.migrationCommandSuccess);
70
+ }
71
+ catch (error) {
72
+ console.error(error);
36
73
  }
37
74
  };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.migrate = void 0;
40
- var constants_1 = require("../constants");
41
- var utils_console_1 = require("../utils/utils.console");
42
- var utils_templates_1 = require("../utils/utils.templates");
43
- var utils_files_1 = require("../utils/utils.files");
44
- var utils_npm_1 = require("../utils/utils.npm");
45
- var utils_packageManager_1 = require("../utils/utils.packageManager");
46
- var migrate = function () { return __awaiter(void 0, void 0, void 0, function () {
47
- var filesToExist, filesToRemove, dependenciesToRemove, devDependenciesToRemove, packageManager, error_1;
48
- return __generator(this, function (_a) {
49
- switch (_a.label) {
50
- case 0:
51
- _a.trys.push([0, 11, , 12]);
52
- (0, utils_console_1.printMessage)(constants_1.TEXT.migrationCommandWarning);
53
- return [4, (0, utils_console_1.confirmPrompt)(constants_1.TEXT.overrideFilesPrompt + '\n' + (0, utils_console_1.displayArrayAsList)(constants_1.MIGRATION_CONFIG.filesToOverride))];
54
- case 1:
55
- if (_a.sent()) {
56
- (0, utils_templates_1.compileTemplateFiles)(constants_1.MIGRATION_CONFIG.filesToOverride.map(utils_files_1.getExportTemplateName), (0, utils_templates_1.getTemplateData)());
57
- (0, utils_console_1.printSuccessMessage)(constants_1.TEXT.overrideFilesSuccess);
58
- }
59
- else {
60
- (0, utils_console_1.printMessage)(constants_1.TEXT.overrideFilesAborted);
61
- process.exit(0);
62
- }
63
- filesToExist = (0, utils_files_1.getOnlyNotExistingInCwd)(constants_1.MIGRATION_CONFIG.filesToExist);
64
- if (!filesToExist.length) return [3, 3];
65
- return [4, (0, utils_console_1.confirmPrompt)(constants_1.TEXT.filesToExistPrompt + '\n' + (0, utils_console_1.displayArrayAsList)(filesToExist))];
66
- case 2:
67
- if (_a.sent()) {
68
- (0, utils_templates_1.compileTemplateFiles)(filesToExist, (0, utils_templates_1.getTemplateData)());
69
- (0, utils_console_1.printSuccessMessage)(constants_1.TEXT.filesToExistSuccess);
70
- }
71
- else {
72
- (0, utils_console_1.printMessage)(constants_1.TEXT.filesToExistAborted);
73
- }
74
- _a.label = 3;
75
- case 3:
76
- filesToRemove = (0, utils_files_1.getOnlyExistingInCwd)(constants_1.MIGRATION_CONFIG.filesToRemove);
77
- if (!filesToRemove.length) return [3, 5];
78
- return [4, (0, utils_console_1.confirmPrompt)(constants_1.TEXT.removeFilesPrompt + '\n' + (0, utils_console_1.displayArrayAsList)(filesToRemove))];
79
- case 4:
80
- if (_a.sent()) {
81
- (0, utils_files_1.removeFilesInCwd)(filesToRemove);
82
- (0, utils_console_1.printSuccessMessage)(constants_1.TEXT.removeFilesSuccess);
83
- }
84
- else {
85
- (0, utils_console_1.printMessage)(constants_1.TEXT.removeFilesAborted);
86
- }
87
- _a.label = 5;
88
- case 5:
89
- if (!(0, utils_npm_1.hasNpmDependenciesToUpdate)()) return [3, 7];
90
- return [4, (0, utils_console_1.confirmPrompt)(constants_1.TEXT.updateNpmDependenciesPrompt + (0, utils_npm_1.getPackageJsonUpdatesAsText)({ ignoreGrafanaDependencies: true }))];
91
- case 6:
92
- if (_a.sent()) {
93
- (0, utils_npm_1.updatePackageJson)({ ignoreGrafanaDependencies: true });
94
- (0, utils_console_1.printSuccessMessage)(constants_1.TEXT.updateNpmDependenciesSuccess);
95
- }
96
- else {
97
- (0, utils_console_1.printMessage)(constants_1.TEXT.updateNpmDependenciesAborted);
98
- }
99
- _a.label = 7;
100
- case 7:
101
- dependenciesToRemove = (0, utils_npm_1.getRemovableNpmDependencies)(constants_1.MIGRATION_CONFIG.npmDependenciesToRemove);
102
- devDependenciesToRemove = (0, utils_npm_1.getRemovableNpmDependencies)(constants_1.MIGRATION_CONFIG.devNpmDependenciesToRemove);
103
- if (!dependenciesToRemove.length) return [3, 9];
104
- return [4, (0, utils_console_1.confirmPrompt)(constants_1.TEXT.removeNpmDependenciesPrompt + '\n' + (0, utils_console_1.displayArrayAsList)(dependenciesToRemove))];
105
- case 8:
106
- if (_a.sent()) {
107
- (0, utils_npm_1.removeNpmDependencies)(dependenciesToRemove);
108
- (0, utils_npm_1.removeNpmDependencies)(devDependenciesToRemove, { devOnly: true });
109
- (0, utils_console_1.printSuccessMessage)(constants_1.TEXT.removeNpmDependenciesSuccess);
110
- }
111
- else {
112
- (0, utils_console_1.printMessage)(constants_1.TEXT.removeNpmDependenciesAborted);
113
- }
114
- _a.label = 9;
115
- case 9: return [4, (0, utils_console_1.confirmPrompt)(constants_1.TEXT.updateNpmScriptsPrompt)];
116
- case 10:
117
- if (_a.sent()) {
118
- (0, utils_npm_1.updateNpmScripts)();
119
- (0, utils_console_1.printSuccessMessage)(constants_1.TEXT.updateNpmScriptsSuccess);
120
- }
121
- else {
122
- (0, utils_console_1.printMessage)(constants_1.TEXT.updateNpmScriptsAborted);
123
- }
124
- packageManager = (0, utils_packageManager_1.getPackageManagerWithFallback)();
125
- (0, utils_npm_1.writePackageManagerInPackageJson)(packageManager);
126
- (0, utils_npm_1.cleanUpPackageJson)();
127
- (0, utils_console_1.printSuccessMessage)(constants_1.TEXT.migrationCommandSuccess);
128
- return [3, 12];
129
- case 11:
130
- error_1 = _a.sent();
131
- console.error(error_1);
132
- return [3, 12];
133
- case 12: return [2];
134
- }
135
- });
136
- }); };
137
- exports.migrate = migrate;