@mikeyt23/node-cli-utils 2.0.14 → 2.0.16

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.
@@ -80,7 +80,7 @@ async function efRemoveLastMigration(projectPath, dbContextName, skipConfirm = f
80
80
  if (returnCode !== 0) {
81
81
  throw new Error(`dotnet ef migrations remove returned non-zero exit code: ${returnCode}`);
82
82
  }
83
- (0, generalUtils_js_1.log)(`Removing migration SQL script files for migration if they're empty`);
83
+ (0, generalUtils_js_1.log)(`Removing migration SQL script files if they're empty`);
84
84
  await deleteScriptFileIfEmpty(getScriptPath(projectPath, lastMigrationName, true));
85
85
  await deleteScriptFileIfEmpty(getScriptPath(projectPath, lastMigrationName, false));
86
86
  }
@@ -145,13 +145,20 @@ async function getCSharpMigrationFilePath(projectDirectory, dbContextName, migra
145
145
  return filePath;
146
146
  }
147
147
  async function addDbMigrationBoilerplate(projectDirectory, dbContextName, migrationName) {
148
- const filePath = await getCSharpMigrationFilePath(projectDirectory, dbContextName, migrationName);
149
- (0, generalUtils_js_1.log)(`Replacing file contents with boilerplate for file 📄${filePath}`);
148
+ var _a;
149
+ const cSharpMigrationFilePath = await getCSharpMigrationFilePath(projectDirectory, dbContextName, migrationName);
150
+ (0, generalUtils_js_1.log)(`Replacing file contents with boilerplate for file 📄${cSharpMigrationFilePath}`);
151
+ const oldFileContents = await promises_1.default.readFile(cSharpMigrationFilePath, { encoding: 'utf8' });
152
+ const namespaceLine = (_a = oldFileContents.split('\n').find(line => line.startsWith('namespace '))) === null || _a === void 0 ? void 0 : _a.trim();
153
+ if (!namespaceLine) {
154
+ throw new Error(`Unable to find namespace line in file: ${cSharpMigrationFilePath}`);
155
+ }
150
156
  const newFileContents = cSharpMigrationFileTemplate
157
+ .replaceAll(namespaceLinePlaceholder, namespaceLine)
151
158
  .replaceAll(contextNamePlaceholder, dbContextName)
152
159
  .replaceAll(migrationNamePlaceholder, migrationName);
153
- await promises_1.default.writeFile(filePath, newFileContents, { encoding: 'utf8' });
154
- (0, generalUtils_js_1.log)(`Updated file with boilerplate - please ensure it is correct: 📄${filePath}`);
160
+ await promises_1.default.writeFile(cSharpMigrationFilePath, newFileContents, { encoding: 'utf8' });
161
+ (0, generalUtils_js_1.log)(`Updated file with boilerplate - please ensure it is correct: 📄${cSharpMigrationFilePath}`);
155
162
  const upScriptPath = node_path_1.default.join(projectDirectory, `Scripts/${migrationName}.sql`);
156
163
  const downScriptPath = node_path_1.default.join(projectDirectory, `Scripts/${migrationName}_Down.sql`);
157
164
  (0, generalUtils_js_1.log)('\nCreating corresponding empty sql files (no action will be taken if they already exist):');
@@ -168,6 +175,7 @@ async function writeEmptySqlFileIfNotExists(scriptPath, scriptType) {
168
175
  (0, generalUtils_js_1.log)(`Skipping ${scriptType} sql script (already exists)`);
169
176
  }
170
177
  }
178
+ const namespaceLinePlaceholder = '{{namespace}}';
171
179
  const contextNamePlaceholder = '{{context_name}}';
172
180
  const migrationNamePlaceholder = '{{migration_name}}';
173
181
  const cSharpMigrationFileTemplate = `using Microsoft.EntityFrameworkCore.Migrations;
@@ -175,7 +183,7 @@ using MikeyT.DbMigrations;
175
183
 
176
184
  #nullable disable
177
185
 
178
- namespace DbMigrator.Migrations.${contextNamePlaceholder}Migrations
186
+ {{namespace}}
179
187
  {
180
188
  public partial class ${migrationNamePlaceholder} : Migration
181
189
  {
@@ -190,6 +198,5 @@ namespace DbMigrator.Migrations.${contextNamePlaceholder}Migrations
190
198
  }
191
199
  }
192
200
  }
193
-
194
201
  `;
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJNaWdyYXRpb25VdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYk1pZ3JhdGlvblV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVEQUE0RztBQUM1RywwREFBNEI7QUFDNUIsc0RBQXdCO0FBQ3hCLGdFQUFrQztBQUVsQzs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxlQUFlLENBQUMsV0FBbUIsRUFBRSxhQUFxQixFQUFFLElBQWMsRUFBRSxPQUFPLEdBQUcsSUFBSTtJQUM5RyxJQUFBLGtDQUFnQixFQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUM1QyxJQUFBLCtCQUFhLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSw0QkFBVSxFQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3BKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQTtBQUNwQixDQUFDO0FBTEQsMENBS0M7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLGdCQUFnQixDQUFDLFdBQW1CLEVBQUUsYUFBcUI7SUFDL0UsTUFBTSxlQUFlLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBRSxDQUFBO0FBQzVFLENBQUM7QUFGRCw0Q0FFQztBQUVEOzs7OztHQUtHO0FBQ0ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLFdBQW1CLEVBQUUsYUFBcUIsRUFBRSxhQUFzQjtJQUN6RyxNQUFNLGVBQWUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDdEgsQ0FBQztBQUZELGdEQUVDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLGNBQWMsQ0FBQyxXQUFtQixFQUFFLGFBQXFCLEVBQUUsYUFBcUIsRUFBRSxlQUFlLEdBQUcsS0FBSztJQUM3SCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFBO0lBQy9ILE1BQU0sbUJBQW1CLEdBQUcsZ0NBQWdDLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDM0UsTUFBTSxlQUFlLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUE7SUFDbEgsSUFBSSxlQUFlLEVBQUU7UUFDbkIsSUFBSTtZQUNGLE1BQU0seUJBQXlCLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1NBQ2hGO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BCLE1BQU0scUJBQXFCLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQTtTQUM5RDtLQUNGO0FBQ0gsQ0FBQztBQVpELHdDQVlDO0FBRUQ7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUscUJBQXFCLENBQUMsV0FBbUIsRUFBRSxhQUFxQixFQUFFLFdBQVcsR0FBRyxLQUFLO0lBQ3pHLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFFaEYsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLE1BQU0sSUFBQSxpQ0FBZSxFQUFDLHlEQUF5RCxpQkFBaUIsR0FBRyxDQUFDLEVBQUU7UUFDekgsT0FBTTtLQUNQO0lBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO0lBQzlGLElBQUksVUFBVSxLQUFLLENBQUMsRUFBRTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxVQUFVLEVBQUUsQ0FBQyxDQUFBO0tBQzFGO0lBRUQsSUFBQSxxQkFBRyxFQUFDLG9FQUFvRSxDQUFDLENBQUE7SUFDekUsTUFBTSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEYsTUFBTSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFDckYsQ0FBQztBQWZELHNEQWVDO0FBRUQsS0FBSyxVQUFVLHVCQUF1QixDQUFDLFVBQWtCO0lBQ3ZELElBQUksaUJBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDN0IsTUFBTSxjQUFjLEdBQUcsaUJBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDeEUsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QyxNQUFNLGtCQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1NBQzdCO2FBQU07WUFDTCxJQUFBLHFCQUFHLEVBQUMsR0FBRyx1QkFBSyxDQUFDLE9BQU8sZ0RBQWdELFVBQVUsRUFBRSxDQUFDLENBQUE7U0FDbEY7S0FDRjtBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsb0JBQW9CLENBQUMsV0FBbUIsRUFBRSxhQUFxQjtJQUM1RSxNQUFNLG1CQUFtQixHQUFHLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUM5RSxNQUFNLFNBQVMsR0FBRyxpQkFBRSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ3JELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7UUFDdkMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyRixNQUFNLDRCQUE0QixHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDdEUsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEQsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFBO0lBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0YsSUFBQSxxQkFBRyxFQUFDLHFCQUFxQiw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNwRixJQUFBLHFCQUFHLEVBQUMscUJBQXFCLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3pGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFHLDRCQUE0QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDckgsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQ3BGLE9BQU8saUJBQWlCLENBQUE7QUFDMUIsQ0FBQztBQUVELFNBQVMsZ0NBQWdDLENBQUMsYUFBcUI7SUFDN0QsT0FBTyxjQUFjLGFBQWEsWUFBWSxDQUFBO0FBQ2hELENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLGdCQUF3QixFQUFFLGFBQXFCO0lBQzdFLE9BQU8sbUJBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxhQUFhLFlBQVksQ0FBQyxDQUFBO0FBQzdFLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxnQkFBd0IsRUFBRSxhQUFxQixFQUFFLElBQWE7SUFDbkYsT0FBTyxtQkFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsQ0FBQTtBQUMxRixDQUFDO0FBRUQsS0FBSyxVQUFVLDBCQUEwQixDQUFDLGdCQUF3QixFQUFFLGFBQXFCLEVBQUUsYUFBcUI7SUFDOUcsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUVuRixJQUFJLENBQUMsaUJBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBRTtRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixtQkFBbUIsRUFBRSxDQUFDLENBQUE7S0FDL0g7SUFFRCxJQUFBLHFCQUFHLEVBQUMseUNBQXlDLGFBQWEsc0JBQXNCLG1CQUFtQixFQUFFLENBQUMsQ0FBQTtJQUV0RyxNQUFNLGVBQWUsR0FBRyxJQUFJLGFBQWEsS0FBSyxDQUFBO0lBQzlDLE1BQU0sU0FBUyxHQUFHLGlCQUFFLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO0lBQzVHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1R0FBdUcsZUFBZSxFQUFFLENBQUMsQ0FBQTtLQUMxSTtJQUVELElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2SEFBNkgsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7S0FDcks7SUFFRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDN0IsTUFBTSxRQUFRLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFFekQsSUFBSSxDQUFDLGlCQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELFFBQVEsRUFBRSxDQUFDLENBQUE7S0FDekY7SUFFRCxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDO0FBRUQsS0FBSyxVQUFVLHlCQUF5QixDQUFDLGdCQUF3QixFQUFFLGFBQXFCLEVBQUUsYUFBcUI7SUFDN0csTUFBTSxRQUFRLEdBQUcsTUFBTSwwQkFBMEIsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFFakcsSUFBQSxxQkFBRyxFQUFDLHVEQUF1RCxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBRXRFLE1BQU0sZUFBZSxHQUFHLDJCQUEyQjtTQUNoRCxVQUFVLENBQUMsc0JBQXNCLEVBQUUsYUFBYSxDQUFDO1NBQ2pELFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUV0RCxNQUFNLGtCQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUVwRSxJQUFBLHFCQUFHLEVBQUMsa0VBQWtFLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFFakYsTUFBTSxZQUFZLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxhQUFhLE1BQU0sQ0FBQyxDQUFBO0lBQ2hGLE1BQU0sY0FBYyxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsYUFBYSxXQUFXLENBQUMsQ0FBQTtJQUV2RixJQUFBLHFCQUFHLEVBQUMsMkZBQTJGLENBQUMsQ0FBQTtJQUNoRyxJQUFBLHFCQUFHLEVBQUMsU0FBUyxZQUFZLEVBQUUsQ0FBQyxDQUFBO0lBQzVCLElBQUEscUJBQUcsRUFBQyxTQUFTLGNBQWMsSUFBSSxDQUFDLENBQUE7SUFFaEMsTUFBTSw0QkFBNEIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDdEQsTUFBTSw0QkFBNEIsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDNUQsQ0FBQztBQUVELEtBQUssVUFBVSw0QkFBNEIsQ0FBQyxVQUFrQixFQUFFLFVBQXlCO0lBQ3ZGLElBQUksQ0FBQyxpQkFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUM5QixNQUFNLGtCQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtLQUMxRDtTQUFNO1FBQ0wsSUFBQSxxQkFBRyxFQUFDLFlBQVksVUFBVSw4QkFBOEIsQ0FBQyxDQUFBO0tBQzFEO0FBQ0gsQ0FBQztBQUVELE1BQU0sc0JBQXNCLEdBQUcsa0JBQWtCLENBQUE7QUFDakQsTUFBTSx3QkFBd0IsR0FBRyxvQkFBb0IsQ0FBQTtBQUNyRCxNQUFNLDJCQUEyQixHQUFHOzs7OztrQ0FLRixzQkFBc0I7OzJCQUU3Qix3QkFBd0I7Ozs7aUVBSWMsd0JBQXdCOzs7OztpRUFLeEIsd0JBQXdCOzs7OztDQUt4RixDQUFBIn0=
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJNaWdyYXRpb25VdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYk1pZ3JhdGlvblV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVEQUE0RztBQUM1RywwREFBNEI7QUFDNUIsc0RBQXdCO0FBQ3hCLGdFQUFrQztBQUVsQzs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxlQUFlLENBQUMsV0FBbUIsRUFBRSxhQUFxQixFQUFFLElBQWMsRUFBRSxPQUFPLEdBQUcsSUFBSTtJQUM5RyxJQUFBLGtDQUFnQixFQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUM1QyxJQUFBLCtCQUFhLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSw0QkFBVSxFQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3BKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQTtBQUNwQixDQUFDO0FBTEQsMENBS0M7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLGdCQUFnQixDQUFDLFdBQW1CLEVBQUUsYUFBcUI7SUFDL0UsTUFBTSxlQUFlLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBRSxDQUFBO0FBQzVFLENBQUM7QUFGRCw0Q0FFQztBQUVEOzs7OztHQUtHO0FBQ0ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLFdBQW1CLEVBQUUsYUFBcUIsRUFBRSxhQUFzQjtJQUN6RyxNQUFNLGVBQWUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDdEgsQ0FBQztBQUZELGdEQUVDO0FBRUQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLGNBQWMsQ0FBQyxXQUFtQixFQUFFLGFBQXFCLEVBQUUsYUFBcUIsRUFBRSxlQUFlLEdBQUcsS0FBSztJQUM3SCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFBO0lBQy9ILE1BQU0sbUJBQW1CLEdBQUcsZ0NBQWdDLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDM0UsTUFBTSxlQUFlLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUE7SUFDbEgsSUFBSSxlQUFlLEVBQUU7UUFDbkIsSUFBSTtZQUNGLE1BQU0seUJBQXlCLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1NBQ2hGO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BCLE1BQU0scUJBQXFCLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQTtTQUM5RDtLQUNGO0FBQ0gsQ0FBQztBQVpELHdDQVlDO0FBRUQ7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUscUJBQXFCLENBQUMsV0FBbUIsRUFBRSxhQUFxQixFQUFFLFdBQVcsR0FBRyxLQUFLO0lBQ3pHLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFFaEYsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLE1BQU0sSUFBQSxpQ0FBZSxFQUFDLHlEQUF5RCxpQkFBaUIsR0FBRyxDQUFDLEVBQUU7UUFDekgsT0FBTTtLQUNQO0lBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFBO0lBQzlGLElBQUksVUFBVSxLQUFLLENBQUMsRUFBRTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxVQUFVLEVBQUUsQ0FBQyxDQUFBO0tBQzFGO0lBRUQsSUFBQSxxQkFBRyxFQUFDLHNEQUFzRCxDQUFDLENBQUE7SUFDM0QsTUFBTSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEYsTUFBTSx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFDckYsQ0FBQztBQWZELHNEQWVDO0FBRUQsS0FBSyxVQUFVLHVCQUF1QixDQUFDLFVBQWtCO0lBQ3ZELElBQUksaUJBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDN0IsTUFBTSxjQUFjLEdBQUcsaUJBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDeEUsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QyxNQUFNLGtCQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1NBQzdCO2FBQU07WUFDTCxJQUFBLHFCQUFHLEVBQUMsR0FBRyx1QkFBSyxDQUFDLE9BQU8sZ0RBQWdELFVBQVUsRUFBRSxDQUFDLENBQUE7U0FDbEY7S0FDRjtBQUNILENBQUM7QUFFRCxLQUFLLFVBQVUsb0JBQW9CLENBQUMsV0FBbUIsRUFBRSxhQUFxQjtJQUM1RSxNQUFNLG1CQUFtQixHQUFHLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUM5RSxNQUFNLFNBQVMsR0FBRyxpQkFBRSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ3JELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7UUFDdkMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyRixNQUFNLDRCQUE0QixHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDdEUsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEQsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFBO0lBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0YsSUFBQSxxQkFBRyxFQUFDLHFCQUFxQiw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNwRixJQUFBLHFCQUFHLEVBQUMscUJBQXFCLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3pGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFHLDRCQUE0QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDckgsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQ3BGLE9BQU8saUJBQWlCLENBQUE7QUFDMUIsQ0FBQztBQUVELFNBQVMsZ0NBQWdDLENBQUMsYUFBcUI7SUFDN0QsT0FBTyxjQUFjLGFBQWEsWUFBWSxDQUFBO0FBQ2hELENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLGdCQUF3QixFQUFFLGFBQXFCO0lBQzdFLE9BQU8sbUJBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxhQUFhLFlBQVksQ0FBQyxDQUFBO0FBQzdFLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxnQkFBd0IsRUFBRSxhQUFxQixFQUFFLElBQWE7SUFDbkYsT0FBTyxtQkFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsQ0FBQTtBQUMxRixDQUFDO0FBRUQsS0FBSyxVQUFVLDBCQUEwQixDQUFDLGdCQUF3QixFQUFFLGFBQXFCLEVBQUUsYUFBcUI7SUFDOUcsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUVuRixJQUFJLENBQUMsaUJBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBRTtRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixtQkFBbUIsRUFBRSxDQUFDLENBQUE7S0FDL0g7SUFFRCxJQUFBLHFCQUFHLEVBQUMseUNBQXlDLGFBQWEsc0JBQXNCLG1CQUFtQixFQUFFLENBQUMsQ0FBQTtJQUV0RyxNQUFNLGVBQWUsR0FBRyxJQUFJLGFBQWEsS0FBSyxDQUFBO0lBQzlDLE1BQU0sU0FBUyxHQUFHLGlCQUFFLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO0lBQzVHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1R0FBdUcsZUFBZSxFQUFFLENBQUMsQ0FBQTtLQUMxSTtJQUVELElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2SEFBNkgsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7S0FDcks7SUFFRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDN0IsTUFBTSxRQUFRLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFFekQsSUFBSSxDQUFDLGlCQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELFFBQVEsRUFBRSxDQUFDLENBQUE7S0FDekY7SUFFRCxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDO0FBRUQsS0FBSyxVQUFVLHlCQUF5QixDQUFDLGdCQUF3QixFQUFFLGFBQXFCLEVBQUUsYUFBcUI7O0lBQzdHLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSwwQkFBMEIsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFFaEgsSUFBQSxxQkFBRyxFQUFDLHVEQUF1RCx1QkFBdUIsRUFBRSxDQUFDLENBQUE7SUFFckYsTUFBTSxlQUFlLEdBQUcsTUFBTSxrQkFBRyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBQ3pGLE1BQU0sYUFBYSxHQUFHLE1BQUEsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLDBDQUFFLElBQUksRUFBRSxDQUFBO0lBQ3JHLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFBO0tBQ3JGO0lBRUQsTUFBTSxlQUFlLEdBQUcsMkJBQTJCO1NBQ2hELFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUM7U0FDbkQsVUFBVSxDQUFDLHNCQUFzQixFQUFFLGFBQWEsQ0FBQztTQUNqRCxVQUFVLENBQUMsd0JBQXdCLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFFdEQsTUFBTSxrQkFBRyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUVuRixJQUFBLHFCQUFHLEVBQUMsa0VBQWtFLHVCQUF1QixFQUFFLENBQUMsQ0FBQTtJQUVoRyxNQUFNLFlBQVksR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLGFBQWEsTUFBTSxDQUFDLENBQUE7SUFDaEYsTUFBTSxjQUFjLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxhQUFhLFdBQVcsQ0FBQyxDQUFBO0lBRXZGLElBQUEscUJBQUcsRUFBQywyRkFBMkYsQ0FBQyxDQUFBO0lBQ2hHLElBQUEscUJBQUcsRUFBQyxTQUFTLFlBQVksRUFBRSxDQUFDLENBQUE7SUFDNUIsSUFBQSxxQkFBRyxFQUFDLFNBQVMsY0FBYyxJQUFJLENBQUMsQ0FBQTtJQUVoQyxNQUFNLDRCQUE0QixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN0RCxNQUFNLDRCQUE0QixDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQTtBQUM1RCxDQUFDO0FBRUQsS0FBSyxVQUFVLDRCQUE0QixDQUFDLFVBQWtCLEVBQUUsVUFBeUI7SUFDdkYsSUFBSSxDQUFDLGlCQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQzlCLE1BQU0sa0JBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0tBQzFEO1NBQU07UUFDTCxJQUFBLHFCQUFHLEVBQUMsWUFBWSxVQUFVLDhCQUE4QixDQUFDLENBQUE7S0FDMUQ7QUFDSCxDQUFDO0FBRUQsTUFBTSx3QkFBd0IsR0FBRyxlQUFlLENBQUE7QUFDaEQsTUFBTSxzQkFBc0IsR0FBRyxrQkFBa0IsQ0FBQTtBQUNqRCxNQUFNLHdCQUF3QixHQUFHLG9CQUFvQixDQUFBO0FBQ3JELE1BQU0sMkJBQTJCLEdBQUc7Ozs7Ozs7MkJBT1Qsd0JBQXdCOzs7O2lFQUljLHdCQUF3Qjs7Ozs7aUVBS3hCLHdCQUF3Qjs7OztDQUl4RixDQUFBIn0=
@@ -12,10 +12,16 @@ export declare function dotnetBuild(projectPath: string): Promise<void>;
12
12
  * @param cwd Optionally run the command from another current working directory
13
13
  */
14
14
  export declare function dotnetPublish(projectPath?: string, configuration?: string, outputDir?: string, cwd?: string): Promise<void>;
15
+ /**
16
+ * Install or update a global dotnet tool.
17
+ * @param toolName The name of the dotnet global tool
18
+ */
19
+ export declare function installOrUpdateDotnetGlobalTool(toolName: string): Promise<void>;
15
20
  /**
16
21
  * Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
17
22
  */
18
23
  export declare function installOrUpdateDotnetEfTool(): Promise<void>;
24
+ export declare function installOrUpdateReportGeneratorTool(): Promise<void>;
19
25
  /**
20
26
  * Spawns a process that runs the following commands to clean and re-install the dotnet dev certs:
21
27
  * - dotnet dev-certs https --clean
@@ -1 +1 @@
1
- {"version":3,"file":"dotnetUtils.d.ts","sourceRoot":"","sources":["../../src/dotnetUtils.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAGpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,WAAW,GAAE,MAAa,EAAE,aAAa,GAAE,MAAkB,EAAE,SAAS,GAAE,MAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,iBAY7I;AAED;;GAEG;AACH,wBAAsB,2BAA2B,kBAShD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,kBAG5C"}
1
+ {"version":3,"file":"dotnetUtils.d.ts","sourceRoot":"","sources":["../../src/dotnetUtils.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAGpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,WAAW,GAAE,MAAa,EAAE,aAAa,GAAE,MAAkB,EAAE,SAAS,GAAE,MAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,iBAY7I;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,iBAYrE;AAED;;GAEG;AACH,wBAAsB,2BAA2B,kBAEhD;AAED,wBAAsB,kCAAkC,kBAEvD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,kBAG5C"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureDotnetDevCerts = exports.installOrUpdateDotnetEfTool = exports.dotnetPublish = exports.dotnetBuild = void 0;
3
+ exports.configureDotnetDevCerts = exports.installOrUpdateReportGeneratorTool = exports.installOrUpdateDotnetEfTool = exports.installOrUpdateDotnetGlobalTool = exports.dotnetPublish = exports.dotnetBuild = void 0;
4
4
  const generalUtils_js_1 = require("./generalUtils.js");
5
5
  /**
6
6
  * Runs dotnet build on the specified project.
@@ -34,20 +34,35 @@ async function dotnetPublish(projectPath = './', configuration = 'Release', outp
34
34
  }
35
35
  exports.dotnetPublish = dotnetPublish;
36
36
  /**
37
- * Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
37
+ * Install or update a global dotnet tool.
38
+ * @param toolName The name of the dotnet global tool
38
39
  */
39
- async function installOrUpdateDotnetEfTool() {
40
- const installed = (0, generalUtils_js_1.whichSync)('dotnet-ef').location;
40
+ async function installOrUpdateDotnetGlobalTool(toolName) {
41
+ if (!(await (0, generalUtils_js_1.which)('dotnet')).location) {
42
+ throw new Error('"dotnet" is not installed');
43
+ }
44
+ const installed = (await (0, generalUtils_js_1.which)(toolName)).location;
41
45
  if (installed) {
42
- (0, generalUtils_js_1.log)('dotnet-ef tool already installed, updating...');
46
+ (0, generalUtils_js_1.log)(`${toolName} tool already installed, updating...`);
43
47
  }
44
48
  else {
45
- (0, generalUtils_js_1.log)('dotnet-ef tool not installed, installing...');
49
+ (0, generalUtils_js_1.log)(`${toolName} tool not installed, installing...`);
46
50
  }
47
- const args = ['tool', installed ? 'update' : 'install', '--global', 'dotnet-ef'];
51
+ const args = ['tool', installed ? 'update' : 'install', '--global', toolName];
48
52
  await (0, generalUtils_js_1.spawnAsync)('dotnet', args);
49
53
  }
54
+ exports.installOrUpdateDotnetGlobalTool = installOrUpdateDotnetGlobalTool;
55
+ /**
56
+ * Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
57
+ */
58
+ async function installOrUpdateDotnetEfTool() {
59
+ await installOrUpdateDotnetGlobalTool('dotnet-ef');
60
+ }
50
61
  exports.installOrUpdateDotnetEfTool = installOrUpdateDotnetEfTool;
62
+ async function installOrUpdateReportGeneratorTool() {
63
+ await installOrUpdateDotnetGlobalTool('dotnet-reportgenerator-globaltool');
64
+ }
65
+ exports.installOrUpdateReportGeneratorTool = installOrUpdateReportGeneratorTool;
51
66
  /**
52
67
  * Spawns a process that runs the following commands to clean and re-install the dotnet dev certs:
53
68
  * - dotnet dev-certs https --clean
@@ -58,4 +73,4 @@ async function configureDotnetDevCerts() {
58
73
  await (0, generalUtils_js_1.spawnAsync)('dotnet', ['dev-certs', 'https', '-t']);
59
74
  }
60
75
  exports.configureDotnetDevCerts = configureDotnetDevCerts;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90bmV0VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG90bmV0VXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXNHO0FBTXRHOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsV0FBVyxDQUFDLFdBQW1CO0lBQ25ELElBQUEsa0NBQWdCLEVBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sSUFBQSw0QkFBVSxFQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQzlFLENBQUM7QUFIRCxrQ0FHQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxhQUFhLENBQUMsY0FBc0IsSUFBSSxFQUFFLGdCQUF3QixTQUFTLEVBQUUsWUFBb0IsU0FBUyxFQUFFLEdBQVk7SUFDNUksSUFBQSxrQ0FBZ0IsRUFBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDNUMsSUFBQSwrQkFBYSxFQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNyQyxJQUFBLCtCQUFhLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzdDLElBQUksR0FBRyxFQUFFO1FBQ1AsSUFBQSxrQ0FBZ0IsRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUE7S0FDN0I7SUFDRCxNQUFNLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDM0UsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQTtJQUN2RCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNuRCxJQUFBLHVCQUFLLEVBQUMsR0FBRyxZQUFZLEdBQUcsZUFBZSxFQUFFLENBQUMsQ0FBQTtJQUMxQyxNQUFNLElBQUEsNEJBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDaEQsQ0FBQztBQVpELHNDQVlDO0FBRUQ7O0dBRUc7QUFDSSxLQUFLLFVBQVUsMkJBQTJCO0lBQy9DLE1BQU0sU0FBUyxHQUFHLElBQUEsMkJBQVMsRUFBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDakQsSUFBSSxTQUFTLEVBQUU7UUFDYixJQUFBLHFCQUFHLEVBQUMsK0NBQStDLENBQUMsQ0FBQTtLQUNyRDtTQUFNO1FBQ0wsSUFBQSxxQkFBRyxFQUFDLDZDQUE2QyxDQUFDLENBQUE7S0FDbkQ7SUFDRCxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUNoRixNQUFNLElBQUEsNEJBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQVRELGtFQVNDO0FBRUQ7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSx1QkFBdUI7SUFDM0MsTUFBTSxJQUFBLDRCQUFVLEVBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBQzdELE1BQU0sSUFBQSw0QkFBVSxFQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBSEQsMERBR0MifQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90bmV0VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG90bmV0VXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQWtHO0FBTWxHOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsV0FBVyxDQUFDLFdBQW1CO0lBQ25ELElBQUEsa0NBQWdCLEVBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sSUFBQSw0QkFBVSxFQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQzlFLENBQUM7QUFIRCxrQ0FHQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxhQUFhLENBQUMsY0FBc0IsSUFBSSxFQUFFLGdCQUF3QixTQUFTLEVBQUUsWUFBb0IsU0FBUyxFQUFFLEdBQVk7SUFDNUksSUFBQSxrQ0FBZ0IsRUFBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDNUMsSUFBQSwrQkFBYSxFQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNyQyxJQUFBLCtCQUFhLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzdDLElBQUksR0FBRyxFQUFFO1FBQ1AsSUFBQSxrQ0FBZ0IsRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUE7S0FDN0I7SUFDRCxNQUFNLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDM0UsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQTtJQUN2RCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNuRCxJQUFBLHVCQUFLLEVBQUMsR0FBRyxZQUFZLEdBQUcsZUFBZSxFQUFFLENBQUMsQ0FBQTtJQUMxQyxNQUFNLElBQUEsNEJBQVUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDaEQsQ0FBQztBQVpELHNDQVlDO0FBRUQ7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLCtCQUErQixDQUFDLFFBQWdCO0lBQ3BFLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBQSx1QkFBSyxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtLQUM3QztJQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxJQUFBLHVCQUFLLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDbEQsSUFBSSxTQUFTLEVBQUU7UUFDYixJQUFBLHFCQUFHLEVBQUMsR0FBRyxRQUFRLHNDQUFzQyxDQUFDLENBQUE7S0FDdkQ7U0FBTTtRQUNMLElBQUEscUJBQUcsRUFBQyxHQUFHLFFBQVEsb0NBQW9DLENBQUMsQ0FBQTtLQUNyRDtJQUNELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzdFLE1BQU0sSUFBQSw0QkFBVSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUNsQyxDQUFDO0FBWkQsMEVBWUM7QUFFRDs7R0FFRztBQUNJLEtBQUssVUFBVSwyQkFBMkI7SUFDL0MsTUFBTSwrQkFBK0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQUNwRCxDQUFDO0FBRkQsa0VBRUM7QUFFTSxLQUFLLFVBQVUsa0NBQWtDO0lBQ3RELE1BQU0sK0JBQStCLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtBQUM1RSxDQUFDO0FBRkQsZ0ZBRUM7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLHVCQUF1QjtJQUMzQyxNQUFNLElBQUEsNEJBQVUsRUFBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDN0QsTUFBTSxJQUFBLDRCQUFVLEVBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQzFELENBQUM7QUFIRCwwREFHQyJ9
@@ -70,7 +70,7 @@ export async function efRemoveLastMigration(projectPath, dbContextName, skipConf
70
70
  if (returnCode !== 0) {
71
71
  throw new Error(`dotnet ef migrations remove returned non-zero exit code: ${returnCode}`);
72
72
  }
73
- log(`Removing migration SQL script files for migration if they're empty`);
73
+ log(`Removing migration SQL script files if they're empty`);
74
74
  await deleteScriptFileIfEmpty(getScriptPath(projectPath, lastMigrationName, true));
75
75
  await deleteScriptFileIfEmpty(getScriptPath(projectPath, lastMigrationName, false));
76
76
  }
@@ -134,13 +134,19 @@ async function getCSharpMigrationFilePath(projectDirectory, dbContextName, migra
134
134
  return filePath;
135
135
  }
136
136
  async function addDbMigrationBoilerplate(projectDirectory, dbContextName, migrationName) {
137
- const filePath = await getCSharpMigrationFilePath(projectDirectory, dbContextName, migrationName);
138
- log(`Replacing file contents with boilerplate for file 📄${filePath}`);
137
+ const cSharpMigrationFilePath = await getCSharpMigrationFilePath(projectDirectory, dbContextName, migrationName);
138
+ log(`Replacing file contents with boilerplate for file 📄${cSharpMigrationFilePath}`);
139
+ const oldFileContents = await fsp.readFile(cSharpMigrationFilePath, { encoding: 'utf8' });
140
+ const namespaceLine = oldFileContents.split('\n').find(line => line.startsWith('namespace '))?.trim();
141
+ if (!namespaceLine) {
142
+ throw new Error(`Unable to find namespace line in file: ${cSharpMigrationFilePath}`);
143
+ }
139
144
  const newFileContents = cSharpMigrationFileTemplate
145
+ .replaceAll(namespaceLinePlaceholder, namespaceLine)
140
146
  .replaceAll(contextNamePlaceholder, dbContextName)
141
147
  .replaceAll(migrationNamePlaceholder, migrationName);
142
- await fsp.writeFile(filePath, newFileContents, { encoding: 'utf8' });
143
- log(`Updated file with boilerplate - please ensure it is correct: 📄${filePath}`);
148
+ await fsp.writeFile(cSharpMigrationFilePath, newFileContents, { encoding: 'utf8' });
149
+ log(`Updated file with boilerplate - please ensure it is correct: 📄${cSharpMigrationFilePath}`);
144
150
  const upScriptPath = path.join(projectDirectory, `Scripts/${migrationName}.sql`);
145
151
  const downScriptPath = path.join(projectDirectory, `Scripts/${migrationName}_Down.sql`);
146
152
  log('\nCreating corresponding empty sql files (no action will be taken if they already exist):');
@@ -157,6 +163,7 @@ async function writeEmptySqlFileIfNotExists(scriptPath, scriptType) {
157
163
  log(`Skipping ${scriptType} sql script (already exists)`);
158
164
  }
159
165
  }
166
+ const namespaceLinePlaceholder = '{{namespace}}';
160
167
  const contextNamePlaceholder = '{{context_name}}';
161
168
  const migrationNamePlaceholder = '{{migration_name}}';
162
169
  const cSharpMigrationFileTemplate = `using Microsoft.EntityFrameworkCore.Migrations;
@@ -164,7 +171,7 @@ using MikeyT.DbMigrations;
164
171
 
165
172
  #nullable disable
166
173
 
167
- namespace DbMigrator.Migrations.${contextNamePlaceholder}Migrations
174
+ {{namespace}}
168
175
  {
169
176
  public partial class ${migrationNamePlaceholder} : Migration
170
177
  {
@@ -179,6 +186,5 @@ namespace DbMigrator.Migrations.${contextNamePlaceholder}Migrations
179
186
  }
180
187
  }
181
188
  }
182
-
183
189
  `;
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJNaWdyYXRpb25VdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYk1pZ3JhdGlvblV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUcsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN4QixPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQTtBQUVsQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLFdBQW1CLEVBQUUsYUFBcUIsRUFBRSxJQUFjLEVBQUUsT0FBTyxHQUFHLElBQUk7SUFDOUcsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzVDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDN0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDcEosT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFBO0FBQ3BCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxXQUFtQixFQUFFLGFBQXFCO0lBQy9FLE1BQU0sZUFBZSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUUsQ0FBQTtBQUM1RSxDQUFDO0FBRUQ7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
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJNaWdyYXRpb25VdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYk1pZ3JhdGlvblV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUcsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN4QixPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQTtBQUVsQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLFdBQW1CLEVBQUUsYUFBcUIsRUFBRSxJQUFjLEVBQUUsT0FBTyxHQUFHLElBQUk7SUFDOUcsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzVDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDN0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDcEosT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFBO0FBQ3BCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxXQUFtQixFQUFFLGFBQXFCO0lBQy9FLE1BQU0sZUFBZSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUUsQ0FBQTtBQUM1RSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGtCQUFrQixDQUFDLFdBQW1CLEVBQUUsYUFBcUIsRUFBRSxhQUFzQjtJQUN6RyxNQUFNLGVBQWUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDdEgsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLFdBQW1CLEVBQUUsYUFBcUIsRUFBRSxhQUFxQixFQUFFLGVBQWUsR0FBRyxLQUFLO0lBQzdILE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUE7SUFDL0gsTUFBTSxtQkFBbUIsR0FBRyxnQ0FBZ0MsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUMzRSxNQUFNLGVBQWUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQTtJQUNsSCxJQUFJLGVBQWUsRUFBRTtRQUNuQixJQUFJO1lBQ0YsTUFBTSx5QkFBeUIsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUE7U0FDaEY7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDcEIsTUFBTSxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFBO1NBQzlEO0tBQ0Y7QUFDSCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHFCQUFxQixDQUFDLFdBQW1CLEVBQUUsYUFBcUIsRUFBRSxXQUFXLEdBQUcsS0FBSztJQUN6RyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sb0JBQW9CLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBRWhGLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxNQUFNLGVBQWUsQ0FBQyx5REFBeUQsaUJBQWlCLEdBQUcsQ0FBQyxFQUFFO1FBQ3pILE9BQU07S0FDUDtJQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sZUFBZSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUM5RixJQUFJLFVBQVUsS0FBSyxDQUFDLEVBQUU7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsVUFBVSxFQUFFLENBQUMsQ0FBQTtLQUMxRjtJQUVELEdBQUcsQ0FBQyxzREFBc0QsQ0FBQyxDQUFBO0lBQzNELE1BQU0sdUJBQXVCLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ2xGLE1BQU0sdUJBQXVCLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQ3JGLENBQUM7QUFFRCxLQUFLLFVBQVUsdUJBQXVCLENBQUMsVUFBa0I7SUFDdkQsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQzdCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDeEUsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7U0FDN0I7YUFBTTtZQUNMLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLGdEQUFnRCxVQUFVLEVBQUUsQ0FBQyxDQUFBO1NBQ2xGO0tBQ0Y7QUFDSCxDQUFDO0FBRUQsS0FBSyxVQUFVLG9CQUFvQixDQUFDLFdBQW1CLEVBQUUsYUFBcUI7SUFDNUUsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDOUUsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ3JELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7UUFDdkMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyRixNQUFNLDRCQUE0QixHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDdEUsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDaEQsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFBO0lBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0YsR0FBRyxDQUFDLHFCQUFxQiw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNwRixHQUFHLENBQUMscUJBQXFCLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3pGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFHLDRCQUE0QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDckgsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBQ3BGLE9BQU8saUJBQWlCLENBQUE7QUFDMUIsQ0FBQztBQUVELFNBQVMsZ0NBQWdDLENBQUMsYUFBcUI7SUFDN0QsT0FBTyxjQUFjLGFBQWEsWUFBWSxDQUFBO0FBQ2hELENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLGdCQUF3QixFQUFFLGFBQXFCO0lBQzdFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLGFBQWEsWUFBWSxDQUFDLENBQUE7QUFDN0UsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLGdCQUF3QixFQUFFLGFBQXFCLEVBQUUsSUFBYTtJQUNuRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxhQUFhLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLENBQUE7QUFDMUYsQ0FBQztBQUVELEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxnQkFBd0IsRUFBRSxhQUFxQixFQUFFLGFBQXFCO0lBQzlHLE1BQU0sbUJBQW1CLEdBQUcsc0JBQXNCLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFFbkYsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBRTtRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixtQkFBbUIsRUFBRSxDQUFDLENBQUE7S0FDL0g7SUFFRCxHQUFHLENBQUMseUNBQXlDLGFBQWEsc0JBQXNCLG1CQUFtQixFQUFFLENBQUMsQ0FBQTtJQUV0RyxNQUFNLGVBQWUsR0FBRyxJQUFJLGFBQWEsS0FBSyxDQUFBO0lBQzlDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUE7SUFDNUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLHVHQUF1RyxlQUFlLEVBQUUsQ0FBQyxDQUFBO0tBQzFJO0lBRUQsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLDZIQUE2SCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtLQUNySztJQUVELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBRXpELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELFFBQVEsRUFBRSxDQUFDLENBQUE7S0FDekY7SUFFRCxPQUFPLFFBQVEsQ0FBQTtBQUNqQixDQUFDO0FBRUQsS0FBSyxVQUFVLHlCQUF5QixDQUFDLGdCQUF3QixFQUFFLGFBQXFCLEVBQUUsYUFBcUI7SUFDN0csTUFBTSx1QkFBdUIsR0FBRyxNQUFNLDBCQUEwQixDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUVoSCxHQUFHLENBQUMsdURBQXVELHVCQUF1QixFQUFFLENBQUMsQ0FBQTtJQUVyRixNQUFNLGVBQWUsR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUN6RixNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQTtJQUNyRyxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLHVCQUF1QixFQUFFLENBQUMsQ0FBQTtLQUNyRjtJQUVELE1BQU0sZUFBZSxHQUFHLDJCQUEyQjtTQUNoRCxVQUFVLENBQUMsd0JBQXdCLEVBQUUsYUFBYSxDQUFDO1NBQ25ELFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLENBQUM7U0FDakQsVUFBVSxDQUFDLHdCQUF3QixFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBRXRELE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUVuRixHQUFHLENBQUMsa0VBQWtFLHVCQUF1QixFQUFFLENBQUMsQ0FBQTtJQUVoRyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsYUFBYSxNQUFNLENBQUMsQ0FBQTtJQUNoRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsYUFBYSxXQUFXLENBQUMsQ0FBQTtJQUV2RixHQUFHLENBQUMsMkZBQTJGLENBQUMsQ0FBQTtJQUNoRyxHQUFHLENBQUMsU0FBUyxZQUFZLEVBQUUsQ0FBQyxDQUFBO0lBQzVCLEdBQUcsQ0FBQyxTQUFTLGNBQWMsSUFBSSxDQUFDLENBQUE7SUFFaEMsTUFBTSw0QkFBNEIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDdEQsTUFBTSw0QkFBNEIsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDNUQsQ0FBQztBQUVELEtBQUssVUFBVSw0QkFBNEIsQ0FBQyxVQUFrQixFQUFFLFVBQXlCO0lBQ3ZGLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQzlCLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7S0FDMUQ7U0FBTTtRQUNMLEdBQUcsQ0FBQyxZQUFZLFVBQVUsOEJBQThCLENBQUMsQ0FBQTtLQUMxRDtBQUNILENBQUM7QUFFRCxNQUFNLHdCQUF3QixHQUFHLGVBQWUsQ0FBQTtBQUNoRCxNQUFNLHNCQUFzQixHQUFHLGtCQUFrQixDQUFBO0FBQ2pELE1BQU0sd0JBQXdCLEdBQUcsb0JBQW9CLENBQUE7QUFDckQsTUFBTSwyQkFBMkIsR0FBRzs7Ozs7OzsyQkFPVCx3QkFBd0I7Ozs7aUVBSWMsd0JBQXdCOzs7OztpRUFLeEIsd0JBQXdCOzs7O0NBSXhGLENBQUEifQ==
@@ -12,10 +12,16 @@ export declare function dotnetBuild(projectPath: string): Promise<void>;
12
12
  * @param cwd Optionally run the command from another current working directory
13
13
  */
14
14
  export declare function dotnetPublish(projectPath?: string, configuration?: string, outputDir?: string, cwd?: string): Promise<void>;
15
+ /**
16
+ * Install or update a global dotnet tool.
17
+ * @param toolName The name of the dotnet global tool
18
+ */
19
+ export declare function installOrUpdateDotnetGlobalTool(toolName: string): Promise<void>;
15
20
  /**
16
21
  * Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
17
22
  */
18
23
  export declare function installOrUpdateDotnetEfTool(): Promise<void>;
24
+ export declare function installOrUpdateReportGeneratorTool(): Promise<void>;
19
25
  /**
20
26
  * Spawns a process that runs the following commands to clean and re-install the dotnet dev certs:
21
27
  * - dotnet dev-certs https --clean
@@ -1 +1 @@
1
- {"version":3,"file":"dotnetUtils.d.ts","sourceRoot":"","sources":["../../src/dotnetUtils.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAGpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,WAAW,GAAE,MAAa,EAAE,aAAa,GAAE,MAAkB,EAAE,SAAS,GAAE,MAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,iBAY7I;AAED;;GAEG;AACH,wBAAsB,2BAA2B,kBAShD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,kBAG5C"}
1
+ {"version":3,"file":"dotnetUtils.d.ts","sourceRoot":"","sources":["../../src/dotnetUtils.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,iBAGpD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,WAAW,GAAE,MAAa,EAAE,aAAa,GAAE,MAAkB,EAAE,SAAS,GAAE,MAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,iBAY7I;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,iBAYrE;AAED;;GAEG;AACH,wBAAsB,2BAA2B,kBAEhD;AAED,wBAAsB,kCAAkC,kBAEvD;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,kBAG5C"}
@@ -1,4 +1,4 @@
1
- import { log, requireString, requireValidPath, spawnAsync, trace, whichSync } from './generalUtils.js';
1
+ import { log, requireString, requireValidPath, spawnAsync, trace, which } from './generalUtils.js';
2
2
  /**
3
3
  * Runs dotnet build on the specified project.
4
4
  * @param projectPath Path to project file (like .csproj) or directory of project to build
@@ -29,19 +29,32 @@ export async function dotnetPublish(projectPath = './', configuration = 'Release
29
29
  await spawnAsync('dotnet', args, { cwd: cwd });
30
30
  }
31
31
  /**
32
- * Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
32
+ * Install or update a global dotnet tool.
33
+ * @param toolName The name of the dotnet global tool
33
34
  */
34
- export async function installOrUpdateDotnetEfTool() {
35
- const installed = whichSync('dotnet-ef').location;
35
+ export async function installOrUpdateDotnetGlobalTool(toolName) {
36
+ if (!(await which('dotnet')).location) {
37
+ throw new Error('"dotnet" is not installed');
38
+ }
39
+ const installed = (await which(toolName)).location;
36
40
  if (installed) {
37
- log('dotnet-ef tool already installed, updating...');
41
+ log(`${toolName} tool already installed, updating...`);
38
42
  }
39
43
  else {
40
- log('dotnet-ef tool not installed, installing...');
44
+ log(`${toolName} tool not installed, installing...`);
41
45
  }
42
- const args = ['tool', installed ? 'update' : 'install', '--global', 'dotnet-ef'];
46
+ const args = ['tool', installed ? 'update' : 'install', '--global', toolName];
43
47
  await spawnAsync('dotnet', args);
44
48
  }
49
+ /**
50
+ * Spawns a process that runs the necessary commands to install or update the dotnet-ef tool globally on the system.
51
+ */
52
+ export async function installOrUpdateDotnetEfTool() {
53
+ await installOrUpdateDotnetGlobalTool('dotnet-ef');
54
+ }
55
+ export async function installOrUpdateReportGeneratorTool() {
56
+ await installOrUpdateDotnetGlobalTool('dotnet-reportgenerator-globaltool');
57
+ }
45
58
  /**
46
59
  * Spawns a process that runs the following commands to clean and re-install the dotnet dev certs:
47
60
  * - dotnet dev-certs https --clean
@@ -51,4 +64,4 @@ export async function configureDotnetDevCerts() {
51
64
  await spawnAsync('dotnet', ['dev-certs', 'https', '--clean']);
52
65
  await spawnAsync('dotnet', ['dev-certs', 'https', '-t']);
53
66
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90bmV0VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG90bmV0VXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQU10Rzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQUMsV0FBbUI7SUFDbkQsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQzlFLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxjQUFzQixJQUFJLEVBQUUsZ0JBQXdCLFNBQVMsRUFBRSxZQUFvQixTQUFTLEVBQUUsR0FBWTtJQUM1SSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDNUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNyQyxhQUFhLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzdDLElBQUksR0FBRyxFQUFFO1FBQ1AsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0tBQzdCO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQzNFLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUE7SUFDdkQsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDbkQsS0FBSyxDQUFDLEdBQUcsWUFBWSxHQUFHLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDMUMsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ2hELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsMkJBQTJCO0lBQy9DLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDakQsSUFBSSxTQUFTLEVBQUU7UUFDYixHQUFHLENBQUMsK0NBQStDLENBQUMsQ0FBQTtLQUNyRDtTQUFNO1FBQ0wsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7S0FDbkQ7SUFDRCxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUNoRixNQUFNLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QjtJQUMzQyxNQUFNLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDN0QsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQzFELENBQUMifQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90bmV0VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG90bmV0VXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQU1sRzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQUMsV0FBbUI7SUFDbkQsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQzlFLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxjQUFzQixJQUFJLEVBQUUsZ0JBQXdCLFNBQVMsRUFBRSxZQUFvQixTQUFTLEVBQUUsR0FBWTtJQUM1SSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDNUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNyQyxhQUFhLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzdDLElBQUksR0FBRyxFQUFFO1FBQ1AsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0tBQzdCO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQzNFLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUE7SUFDdkQsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDbkQsS0FBSyxDQUFDLEdBQUcsWUFBWSxHQUFHLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDMUMsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ2hELENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQixDQUFDLFFBQWdCO0lBQ3BFLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtLQUM3QztJQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDbEQsSUFBSSxTQUFTLEVBQUU7UUFDYixHQUFHLENBQUMsR0FBRyxRQUFRLHNDQUFzQyxDQUFDLENBQUE7S0FDdkQ7U0FBTTtRQUNMLEdBQUcsQ0FBQyxHQUFHLFFBQVEsb0NBQW9DLENBQUMsQ0FBQTtLQUNyRDtJQUNELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzdFLE1BQU0sVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUNsQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQjtJQUMvQyxNQUFNLCtCQUErQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQ3BELENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGtDQUFrQztJQUN0RCxNQUFNLCtCQUErQixDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDNUUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QjtJQUMzQyxNQUFNLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDN0QsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQzFELENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikeyt23/node-cli-utils",
3
- "version": "2.0.14",
3
+ "version": "2.0.16",
4
4
  "description": "Some node cli utility functions",
5
5
  "author": "Mike Thompson",
6
6
  "license": "MIT",