@microsoft/windows-admin-center-sdk 4.123.0 → 4.167.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 (103) hide show
  1. package/angular/assets/strings/cs-CZ/strings.json +1 -1
  2. package/angular/assets/strings/de-DE/strings.json +1 -1
  3. package/angular/assets/strings/es-ES/strings.json +1 -1
  4. package/angular/assets/strings/fr-FR/strings.json +1 -1
  5. package/angular/assets/strings/hu-HU/strings.json +1 -1
  6. package/angular/assets/strings/id-ID/strings.json +1 -1
  7. package/angular/assets/strings/it-IT/strings.json +1 -1
  8. package/angular/assets/strings/ja-JP/strings.json +1 -1
  9. package/angular/assets/strings/ko-KR/strings.json +1 -1
  10. package/angular/assets/strings/nl-NL/strings.json +1 -1
  11. package/angular/assets/strings/pl-PL/strings.json +1 -1
  12. package/angular/assets/strings/pt-BR/strings.json +1 -1
  13. package/angular/assets/strings/pt-PT/strings.json +1 -1
  14. package/angular/assets/strings/ru-RU/strings.json +1 -1
  15. package/angular/assets/strings/strings.json +1 -1
  16. package/angular/assets/strings/sv-SE/strings.json +1 -1
  17. package/angular/assets/strings/tr-TR/strings.json +1 -1
  18. package/angular/assets/strings/zh-CN/strings.json +1 -1
  19. package/angular/assets/strings/zh-TW/strings.json +1 -1
  20. package/angular/esm2020/src/controls/actions/containers/action-container.component.mjs +2 -3
  21. package/angular/esm2020/src/controls/alert-bar/alert-bar.component.mjs +2 -2
  22. package/angular/esm2020/src/controls/breadcrumb-header/breadcrumb-header.component.mjs +1 -1
  23. package/angular/esm2020/src/controls/common/base.component.mjs +1 -1
  24. package/angular/esm2020/src/controls/common/spacer-base.component.mjs +25 -1
  25. package/angular/esm2020/src/controls/context-menu/context-menu.component.mjs +2 -3
  26. package/angular/esm2020/src/controls/data-table/data-table.component.mjs +7 -7
  27. package/angular/esm2020/src/controls/dialog/base-dialog.component.mjs +2 -4
  28. package/angular/esm2020/src/controls/dialog/confirmation-list-dialog/confirmation-list-dialog.component.mjs +2 -2
  29. package/angular/esm2020/src/controls/dropdown/dropdown.component.mjs +1 -4
  30. package/angular/esm2020/src/controls/form/form-field/clock/clock-form-field.component.mjs +10 -7
  31. package/angular/esm2020/src/controls/form/form-field/form-field.component.mjs +1 -1
  32. package/angular/esm2020/src/controls/form/form-field/number/number-form-field.component.mjs +22 -4
  33. package/angular/esm2020/src/controls/form/form-field/radio-group/classic/radio-group-form-field.component.mjs +5 -5
  34. package/angular/esm2020/src/controls/icon/icon-text/icon-text.component.mjs +6 -6
  35. package/angular/esm2020/src/controls/icon/layered-icon/status/status-icon.component.mjs +1 -1
  36. package/angular/esm2020/src/controls/layout/editable-layout.component.mjs +2 -3
  37. package/angular/esm2020/src/controls/node-credentials-form/node-credentials-form.component.mjs +2 -2
  38. package/angular/esm2020/src/controls/property-grid/property-grid.component.mjs +33 -13
  39. package/angular/esm2020/src/controls/schema/tabbed-form-loader.component.mjs +2 -2
  40. package/angular/esm2020/src/controls/settings/common-settings/common-settings.component.mjs +5 -5
  41. package/angular/esm2020/src/controls/settings/settings-form.directive.mjs +3 -7
  42. package/angular/esm2020/src/controls/settings/settings-form.service.mjs +2 -4
  43. package/angular/esm2020/src/controls/snap-in-extension/snap-in-extension.component.mjs +1 -1
  44. package/angular/esm2020/src/controls/split-view/split-view.component.mjs +2 -2
  45. package/angular/esm2020/src/directives/router/router-link.directive.mjs +2 -2
  46. package/angular/esm2020/src/directives/svg/svg.directive.mjs +2 -3
  47. package/angular/esm2020/src/generated/strings.mjs +1 -1
  48. package/angular/esm2020/src/service/navigation.service.mjs +3 -8
  49. package/angular/esm2020/src/service/user-alive.service.mjs +2 -4
  50. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs +126 -72
  51. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
  52. package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs +115 -70
  53. package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
  54. package/angular/package.json +1 -1
  55. package/angular/src/controls/common/spacer-base.component.d.ts +11 -2
  56. package/angular/src/controls/form/form-field/number/number-form-field.component.d.ts +8 -0
  57. package/angular/src/controls/icon/icon-text/icon-text.component.d.ts +1 -1
  58. package/angular/src/controls/property-grid/property-grid.component.d.ts +2 -0
  59. package/angular/src/directives/svg/svg.directive.d.ts +1 -2
  60. package/angular/src/generated/strings.d.ts +12 -0
  61. package/core/azure/azure-constants.d.ts +2 -2
  62. package/core/azure/azure-constants.d.ts.map +1 -1
  63. package/core/azure/azure-constants.js +10 -3
  64. package/core/azure/azure-constants.js.map +1 -1
  65. package/core/data/gateway-url-translator.d.ts +1 -0
  66. package/core/data/gateway-url-translator.d.ts.map +1 -1
  67. package/core/data/gateway-url-translator.js +21 -6
  68. package/core/data/gateway-url-translator.js.map +1 -1
  69. package/core/data/node-connection.d.ts.map +1 -1
  70. package/core/data/node-connection.js +0 -2
  71. package/core/data/node-connection.js.map +1 -1
  72. package/core/generated/powershell-scripts.d.ts.map +1 -1
  73. package/core/generated/powershell-scripts.js +1 -1
  74. package/core/generated/powershell-scripts.js.map +1 -1
  75. package/core/resources/scripts/public/inventory/Get-ServerInventory.ps1 +30 -8
  76. package/{microsoft-windows-admin-center-sdk-4.123.0.tgz → microsoft-windows-admin-center-sdk-4.167.0.tgz} +0 -0
  77. package/package.json +9 -7
  78. package/styles/css/main-v2.css +1 -1
  79. package/tools/code-formatter/.eslintrc.base.json +1 -0
  80. package/tools/code-formatter/lint.d.ts.map +1 -1
  81. package/tools/code-formatter/lint.js +7 -1
  82. package/tools/code-formatter/lint.js.map +1 -1
  83. package/tools/code-formatter/utilities.d.ts +7 -0
  84. package/tools/code-formatter/utilities.d.ts.map +1 -0
  85. package/tools/code-formatter/utilities.js +79 -0
  86. package/tools/code-formatter/utilities.js.map +1 -0
  87. package/tools/gulp-update-notes-resource/index.d.ts.map +1 -1
  88. package/tools/gulp-update-notes-resource/index.js +4 -4
  89. package/tools/gulp-update-notes-resource/index.js.map +1 -1
  90. package/tools/module-template/.eslintrc.json +3 -0
  91. package/tools/module-template/gulpfile.ts/common/utilities.ts +1 -0
  92. package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.d.ts +9 -0
  93. package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.d.ts.map +1 -0
  94. package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.js +16 -0
  95. package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.js.map +1 -0
  96. package/tools/wac-cli/src/angular15/main.d.ts +19 -3
  97. package/tools/wac-cli/src/angular15/main.d.ts.map +1 -1
  98. package/tools/wac-cli/src/angular15/main.js +41 -7
  99. package/tools/wac-cli/src/angular15/main.js.map +1 -1
  100. package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.d.ts +18 -0
  101. package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.d.ts.map +1 -0
  102. package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.js +49 -0
  103. package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.js.map +1 -0
@@ -20,6 +20,7 @@ const jasmine_test_upgrader_1 = require("./upgrader/jasmine-test-upgrader");
20
20
  const update_shell_references_1 = require("./utils/update-shell-references");
21
21
  const main_1 = require("../eslint/main");
22
22
  const ui_test_automation_legacy_upgrader_1 = require("./upgrader/ui-test-automation-legacy-upgrader");
23
+ const eslint_auto_fix_upgrader_1 = require("./upgrader/eslint-auto-fix-upgrader");
23
24
  /**
24
25
  * Represents the type of upgrade that needs to be performed.
25
26
  */
@@ -38,8 +39,13 @@ var Angular15UpgraderMessages;
38
39
  Angular15UpgraderMessages["UpdateBasicPaths"] = "Updating basic paths for the upgrade...";
39
40
  Angular15UpgraderMessages["Initialization"] = "Initializing upgraders...";
40
41
  Angular15UpgraderMessages["FinalizeInfoLintFix"] = "There are eslint violations that needs fix... After fixing the violations, please run the following commands:\n\n npx eslint . --fix \n\n gulp lintApp \n\n gulp build \n\n ";
41
- Angular15UpgraderMessages["CannotRunStageThreeExternal"] = "The ui-test-automation_legacy is for internal extension upgrade only.";
42
+ Angular15UpgraderMessages["InternalCommandOnly"] = "This command is only available for internal extension.";
42
43
  Angular15UpgraderMessages["Completed"] = "Upgrade completed!";
44
+ Angular15UpgraderMessages["StartMessageStage0"] = "Starting stage 0: the default Angular 15 upgrade stage";
45
+ Angular15UpgraderMessages["StartMessageStage1"] = "Starting stage 1: the Angular core stage";
46
+ Angular15UpgraderMessages["StartMessageStage2"] = "Starting stage 2: the Angular 15 unit test stage";
47
+ Angular15UpgraderMessages["StartMessageStage3"] = "Starting stage 3: the legacy ui-test-automation stage";
48
+ Angular15UpgraderMessages["StartMessageStage4"] = "Starting stage 4: the eslint to support gulp lintApp --fix command stage";
43
49
  })(Angular15UpgraderMessages = exports.Angular15UpgraderMessages || (exports.Angular15UpgraderMessages = {}));
44
50
  /**
45
51
  * This is the main class of the EslintUpgrader tool.
@@ -91,6 +97,7 @@ class Angular15Upgrader {
91
97
  uiTestAutomationLegacyFilePath;
92
98
  uiTestAutomationLegacyFolderPath;
93
99
  logFilePath;
100
+ eslintrcFilePath;
94
101
  /**
95
102
  * The upgrader for each configuration file.
96
103
  */
@@ -110,6 +117,10 @@ class Angular15Upgrader {
110
117
  logParser;
111
118
  jasmineTestUpgrader;
112
119
  uITestAutomationLegacyUpgrader;
120
+ /**
121
+ * The eslint fix upgrader to support linter fix command for stage 4.
122
+ */
123
+ eslintAutoFixUpgrader;
113
124
  /**
114
125
  * The file names for each configuration file.
115
126
  */
@@ -130,6 +141,7 @@ class Angular15Upgrader {
130
141
  gulpCompileTsFileName = 'compile.ts';
131
142
  gulpIndexTsFileName = 'index.ts';
132
143
  logFileName = 'log.txt';
144
+ eslintrcFileName = '.eslintrc.json';
133
145
  constructor() {
134
146
  logger_1.Logger.log(Angular15UpgraderMessages.StartingUpgrade);
135
147
  common_1.Common.rootPath = process.cwd();
@@ -142,7 +154,11 @@ class Angular15Upgrader {
142
154
  * @param pipeline It determines whether to run this command on the pipeline.
143
155
  * @param debug It determines whether to run the debug mode.
144
156
  * @param internal It determines whether to run angualr 15 upgrade for the internal extension or external sdk.
145
- * @param stage '0' - the default Angular 15 stage, '1' - the Angular core stage, '2' - the Angular 15 unit test stage, '3' - the legacy ui-test-automation stage.
157
+ * @param stage '0' - the default Angular 15 upgrade stage,
158
+ * '1' - the Angular core stage,
159
+ * '2' - the Angular 15 unit test stage,
160
+ * '3' - the legacy ui-test-automation stage.
161
+ * '4' - the eslint to support gulp lintApp --fix command.
146
162
  */
147
163
  async upgrade(pipeline = false, stage = 0, internal = false, debug = false) {
148
164
  this.debug = !!debug;
@@ -158,7 +174,7 @@ class Angular15Upgrader {
158
174
  this.initialization();
159
175
  switch (stage) {
160
176
  case 0:
161
- logger_1.Logger.log('0');
177
+ logger_1.Logger.log(Angular15UpgraderMessages.StartMessageStage0);
162
178
  await this.criticalConfigurationFilesUpdates();
163
179
  await this.installDependenciesPreparation();
164
180
  await this.installLKGElectronToChromium();
@@ -176,7 +192,7 @@ class Angular15Upgrader {
176
192
  await this.jasmineTestUpgrader.run();
177
193
  break;
178
194
  case 1:
179
- logger_1.Logger.log('1');
195
+ logger_1.Logger.log(Angular15UpgraderMessages.StartMessageStage1);
180
196
  await this.criticalConfigurationFilesUpdates();
181
197
  await this.installDependenciesPreparation();
182
198
  await this.installLKGElectronToChromium();
@@ -193,15 +209,15 @@ class Angular15Upgrader {
193
209
  await this.fixEslintErrors(this.pipeline);
194
210
  break;
195
211
  case 2:
196
- logger_1.Logger.log('2');
212
+ logger_1.Logger.log(Angular15UpgraderMessages.StartMessageStage2);
197
213
  await this.gulpIndexTsUpgrader.run();
198
214
  await this.testTsUpgrader.run();
199
215
  await this.jasmineTestUpgrader.run();
200
216
  break;
201
217
  case 3:
202
- logger_1.Logger.log('3');
218
+ logger_1.Logger.log(Angular15UpgraderMessages.StartMessageStage3);
203
219
  if (!this.internal) {
204
- logger_1.Logger.log(Angular15UpgraderMessages.CannotRunStageThreeExternal);
220
+ logger_1.Logger.log(Angular15UpgraderMessages.InternalCommandOnly);
205
221
  }
206
222
  else {
207
223
  await this.packageJsonUpgrader.run(this.pipeline),
@@ -209,6 +225,15 @@ class Angular15Upgrader {
209
225
  await this.uITestAutomationLegacyUpgrader.run();
210
226
  await this.installDependenciesForUITestAutomation();
211
227
  }
228
+ case 4:
229
+ logger_1.Logger.log(Angular15UpgraderMessages.StartMessageStage4);
230
+ if (!this.internal) {
231
+ logger_1.Logger.log(Angular15UpgraderMessages.InternalCommandOnly);
232
+ }
233
+ else {
234
+ await this.eslintAutoFixUpgrader.run();
235
+ await this.gulpLintFix();
236
+ }
212
237
  default:
213
238
  logger_1.Logger.log('default');
214
239
  break;
@@ -257,6 +282,7 @@ class Angular15Upgrader {
257
282
  this.gulpIndexTsUpgrader = new file_replacement_upgrader_1.FileReplacementUpgrader(this.gulpIndexTsTemplatePath, this.gulpIndexTsFilePath);
258
283
  this.jasmineTestUpgrader = new jasmine_test_upgrader_1.JasmineTestUpgrader(this.testTsFilePath, this.debug);
259
284
  this.uITestAutomationLegacyUpgrader = new ui_test_automation_legacy_upgrader_1.UITestAutomationLegacyUpgrader(this.uiTestAutomationLegacyFilePath, this.packageJsonFileName);
285
+ this.eslintAutoFixUpgrader = new eslint_auto_fix_upgrader_1.EslintAutoFixUpgrader(this.eslintrcFilePath);
260
286
  this.logParser = new log_parser_1.LogParser(this.logFilePath, this.logFileName);
261
287
  }
262
288
  updateBasicPaths() {
@@ -269,6 +295,7 @@ class Angular15Upgrader {
269
295
  this.nodeModulesFolderPath = common_1.Common.rootPath + '\\' + this.nodeModulesFolderName;
270
296
  this.e2eFolderPath = common_1.Common.rootPath + '\\' + this.e2eFolderName;
271
297
  this.gitIgnoreFilePath = common_1.Common.rootPath + '\\' + this.gitIgnoreFileName;
298
+ this.eslintrcFilePath = common_1.Common.rootPath + '\\' + this.eslintrcFileName;
272
299
  this.srcTsConfigLibProdFilePath = common_1.Common.rootPath + '\\src\\' + this.srcTsConfigLibProdFileName;
273
300
  this.srcTsConfigSpecFilePath = common_1.Common.rootPath + '\\src\\' + this.srcTsConfigSpecFileName;
274
301
  this.cIBuildYmlFilePath = common_1.Common.rootPath + '\\build\\pipelines\\' + this.cIBuildYmlFileName;
@@ -289,6 +316,13 @@ class Angular15Upgrader {
289
316
  async gulpBuildPostAudit() {
290
317
  return this.logParser.run();
291
318
  }
319
+ gulpLintFix() {
320
+ const gulpLintFixCmd = 'gulp lintApp --fix';
321
+ logger_1.Logger.log(gulpLintFixCmd);
322
+ return (0, command_runner_1.runCommand)(gulpLintFixCmd, this.debug, true, Angular15UpgraderMessages.Completed, this.logFileName).then((response) => {
323
+ console.log(response);
324
+ });
325
+ }
292
326
  gulpQuick() {
293
327
  const gulpQuick = 'gulp quick';
294
328
  logger_1.Logger.log(gulpQuick);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/tools/wac-cli/src/angular15/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Common } from '../common';\r\nimport { PackageJsonUpgrader } from './upgrader/package-json-upgrader';\r\nimport { TSConfigUpgrader } from './upgrader/tsconfig-upgrader';\r\nimport { Logger } from './utils/logger';\r\nimport { GitIgnoreUpgrader } from './upgrader/git-ignore-upgrader';\r\nimport { AngularJsonUpgrader } from './upgrader/angular-json-upgrader';\r\nimport { FileReplacementUpgrader } from './upgrader/file-replacement-upgrader';\r\nimport { CIBuildYmlUpgrader } from './upgrader/ci-build-yml-upgrader';\r\nimport { ReplaceUpgrader } from './upgrader/replace-upgrader';\r\nimport { srcTsConfigLibProdReplaces, srcTsConfigSpecRemoves } from './configs/config';\r\nimport { RemoveUpgrader } from './upgrader/remove-upgrader';\r\nimport { MainDebugger } from './utils/main-debugger';\r\nimport { runCommand } from './utils/command-runner';\r\nimport { LogParser } from './upgrader/audit/log-parser';\r\nimport { VersionJsonUpgrader } from './upgrader/version-json-upgrader';\r\nimport { JasmineTestUpgrader } from './upgrader/jasmine-test-upgrader';\r\nimport { updateShellReferences } from './utils/update-shell-references';\r\nimport { EslintUpgrader } from '../eslint/main';\r\nimport { UITestAutomationLegacyUpgrader } from './upgrader/ui-test-automation-legacy-upgrader';\r\n\r\n/**\r\n * Represents the type of upgrade that needs to be performed.\r\n */\r\nexport enum UpgradeType {\r\n WithBaseConfig = 'WithBaseConfig',\r\n WithoutBaseConfig = 'WithoutBaseConfig',\r\n NoOperation = 'NoOperation'\r\n}\r\n\r\n/**\r\n * Represents the messages that are displayed during the upgrade process.\r\n */\r\nexport enum Angular15UpgraderMessages {\r\n StartingUpgrade = 'Starting Angular 15 upgrade process...',\r\n UpdateBasicPaths = 'Updating basic paths for the upgrade...',\r\n Initialization = 'Initializing upgraders...',\r\n FinalizeInfoLintFix = `There are eslint violations that needs fix... After fixing the violations, please run the following commands:\\n\r\n npx eslint . --fix \\n\r\n gulp lintApp \\n\r\n gulp build \\n\r\n `,\r\n CannotRunStageThreeExternal = 'The ui-test-automation_legacy is for internal extension upgrade only.',\r\n Completed = 'Upgrade completed!'\r\n}\r\n\r\n/**\r\n * This is the main class of the EslintUpgrader tool.\r\n * It is responsible for upgrading the Tslint to Eslint.\r\n */\r\nexport class Angular15Upgrader {\r\n /**\r\n * The debug mode.\r\n */\r\n protected debug = false;\r\n\r\n /**\r\n * It determines whether to run angualr 15 upgrade for the internal extension or external sdk.\r\n */\r\n protected internal = false;\r\n\r\n /**\r\n * If running in the pipeline, the pipeline needs to automatically update for the @msft-sme pacakges instead of WAC CLI.\r\n */\r\n protected pipeline = false;\r\n\r\n /**\r\n * The main debugger.\r\n */\r\n protected mainDebugger: MainDebugger;\r\n\r\n /**\r\n * The main debugger version.\r\n */\r\n private readonly version = '1.0.1';\r\n\r\n /**\r\n * The paths of the configuration files.\r\n */\r\n private tsconfigBaseFilePath: string;\r\n private tsconfigFilePath: string;\r\n private angularJsonFilePath: string;\r\n private gitIgnoreFilePath: string;\r\n private packageJsonFilePath: string;\r\n private versionJsonFilePath: string;\r\n private packageLockJsonFilePath: string;\r\n private nodeModulesFolderPath: string;\r\n private e2eFolderPath: string;\r\n private testTsFilePath: string;\r\n private testTsFileTemplatePath: string;\r\n private cIBuildYmlFilePath: string;\r\n private pullRequestYmlFilePath: string;\r\n private srcTsConfigSpecFilePath: string;\r\n private srcTsConfigLibProdFilePath: string;\r\n private gulpCompileTsFilePath: string;\r\n private gulpCompileTsTemplatePath: string;\r\n private gulpIndexTsFilePath: string;\r\n private gulpIndexTsTemplatePath: string;\r\n private uiTestAutomationLegacyFilePath: string;\r\n private uiTestAutomationLegacyFolderPath: string;\r\n private logFilePath: string;\r\n\r\n /**\r\n * The upgrader for each configuration file.\r\n */\r\n private packageJsonUpgrader: PackageJsonUpgrader;\r\n private versionJsonUpgrader: VersionJsonUpgrader;\r\n private tSConfigUpgrader: TSConfigUpgrader;\r\n private tSConfigBaseUpgrader: TSConfigUpgrader;\r\n private gitIgnoreUpgrader: GitIgnoreUpgrader;\r\n private angularJsonUpgrader: AngularJsonUpgrader;\r\n private testTsUpgrader: FileReplacementUpgrader;\r\n private cIBuildUpgrader: CIBuildYmlUpgrader;\r\n private pullRequestUpgrader: CIBuildYmlUpgrader;\r\n private srcTsConfigLibProdUpgrader: ReplaceUpgrader;\r\n private srcTsConfigSpecUpgrader: RemoveUpgrader;\r\n private gulpCompileTsUpgrader: FileReplacementUpgrader;\r\n private gulpIndexTsUpgrader: FileReplacementUpgrader;\r\n private logParser: LogParser;\r\n private jasmineTestUpgrader: JasmineTestUpgrader;\r\n private uITestAutomationLegacyUpgrader: UITestAutomationLegacyUpgrader;\r\n\r\n /**\r\n * The file names for each configuration file.\r\n */\r\n private readonly tsconfigBaseFileName = 'tsconfig.base.json';\r\n private readonly tsconfigFileName = 'tsconfig.json';\r\n private readonly packageJsonFileName = 'package.json';\r\n private readonly versionJsonFileName = 'version.json';\r\n private readonly packageLockJsonFileName = 'package-lock.json';\r\n private readonly angularFileName = 'angular.json';\r\n private readonly e2eFolderName = 'e2e';\r\n private readonly nodeModulesFolderName = 'node_modules';\r\n private readonly gitIgnoreFileName = '.gitignore';\r\n private readonly testTsFileName = 'test.ts';\r\n private readonly cIBuildYmlFileName = 'ci-build.yml';\r\n private readonly pullRequestYmlFileName = 'pull-request.yml';\r\n private readonly srcTsConfigLibProdFileName = 'tsconfig.lib.prod.json';\r\n private readonly srcTsConfigSpecFileName = 'tsconfig.spec.json';\r\n private readonly gulpCompileTsFileName = 'compile.ts';\r\n private readonly gulpIndexTsFileName = 'index.ts';\r\n private readonly logFileName = 'log.txt';\r\n\r\n constructor() {\r\n Logger.log(Angular15UpgraderMessages.StartingUpgrade);\r\n Common.rootPath = process.cwd();\r\n Logger.log(Common.rootPath);\r\n }\r\n\r\n /**\r\n * The upgrader main function.\r\n * If only runs the unit test\r\n * node ./node_modules/@microsoft/windows-admin-center-sdk/tools/wac-cli/src/index.js angular15Upgrade --pipeline false --stage 2\r\n * @param pipeline It determines whether to run this command on the pipeline.\r\n * @param debug It determines whether to run the debug mode.\r\n * @param internal It determines whether to run angualr 15 upgrade for the internal extension or external sdk.\r\n * @param stage '0' - the default Angular 15 stage, '1' - the Angular core stage, '2' - the Angular 15 unit test stage, '3' - the legacy ui-test-automation stage.\r\n */\r\n public async upgrade(pipeline = false, stage = 0, internal = false, debug = false) {\r\n this.debug = !!debug;\r\n this.pipeline = !!pipeline;\r\n this.internal = !!internal;\r\n Logger.log(this.version);\r\n Logger.log(Angular15UpgraderMessages.StartingUpgrade);\r\n Logger.log('Passed in parameters: ' + this.pipeline + ' ' + stage + ' ' + this.internal + ' ' + this.debug );\r\n\r\n this.mainDebugger = this.debug ? new MainDebugger(): undefined;\r\n\r\n Logger.log(Angular15UpgraderMessages.UpdateBasicPaths);\r\n this.updateBasicPaths();\r\n\r\n Logger.log(Angular15UpgraderMessages.Initialization);\r\n this.initialization();\r\n\r\n switch (stage) {\r\n case 0:\r\n Logger.log('0');\r\n await this.criticalConfigurationFilesUpdates();\r\n await this.installDependenciesPreparation();\r\n await this.installLKGElectronToChromium();\r\n await this.installDependencies();\r\n // Fix any eslint errors that doesn't match the latest eslint rules.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.gulpQuick();\r\n await this.gulpBuildPostAudit();\r\n // Fix any eslint errors that is triggered by audit.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.gulpBuildProd();\r\n await this.gulpBuildProdPostAudit();\r\n // Fix any eslint errors clean-ups.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.jasmineTestUpgrader.run();\r\n break;\r\n case 1:\r\n Logger.log('1');\r\n await this.criticalConfigurationFilesUpdates();\r\n await this.installDependenciesPreparation();\r\n await this.installLKGElectronToChromium();\r\n await this.installDependencies();\r\n // Fix any eslint errors that doesn't match the latest eslint rules.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.gulpQuick();\r\n await this.gulpBuildPostAudit();\r\n // Fix any eslint errors that is triggered by audit.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.gulpBuildProd();\r\n await this.gulpBuildProdPostAudit();\r\n // Fix any eslint errors clean-ups.\r\n await this.fixEslintErrors(this.pipeline);\r\n break;\r\n case 2:\r\n Logger.log('2');\r\n await this.gulpIndexTsUpgrader.run();\r\n await this.testTsUpgrader.run();\r\n await this.jasmineTestUpgrader.run();\r\n break;\r\n case 3:\r\n Logger.log('3');\r\n if (!this.internal) {\r\n Logger.log(Angular15UpgraderMessages.CannotRunStageThreeExternal);\r\n } else {\r\n await this.packageJsonUpgrader.run(this.pipeline),\r\n await this.installUTALegacyDevDependency();\r\n await this.uITestAutomationLegacyUpgrader.run();\r\n await this.installDependenciesForUITestAutomation();\r\n }\r\n default:\r\n Logger.log('default');\r\n break;\r\n }\r\n }\r\n\r\n protected async criticalConfigurationFilesUpdates(): Promise<void> {\r\n Promise.all([\r\n this.packageJsonUpgrader.run(this.pipeline),\r\n this.versionJsonUpgrader.run(),\r\n this.tSConfigBaseUpgrader.runBase(),\r\n this.tSConfigUpgrader.run(),\r\n this.gitIgnoreUpgrader.run(),\r\n this.angularJsonUpgrader.run(),\r\n this.testTsUpgrader.run(),\r\n this.cIBuildUpgrader.run(),\r\n this.pullRequestUpgrader.run(),\r\n this.srcTsConfigLibProdUpgrader.run(),\r\n this.srcTsConfigSpecUpgrader.run(),\r\n this.gulpCompileTsUpgrader.run(),\r\n this.gulpIndexTsUpgrader.run()\r\n ]).then((results) => {\r\n console.log('All Promises have completed:', results);\r\n\r\n if (this.debug) {\r\n this.mainDebugger.verifyTestData(this).then(() => {\r\n Logger.log(Angular15UpgraderMessages.Completed);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n Logger.error('At least one Promise encountered an error:' + error);\r\n });\r\n }\r\n\r\n protected initialization() {\r\n this.packageJsonUpgrader = new PackageJsonUpgrader(this.packageJsonFilePath);\r\n this.versionJsonUpgrader = new VersionJsonUpgrader(this.versionJsonFilePath);\r\n this.tSConfigBaseUpgrader = new TSConfigUpgrader(this.tsconfigBaseFilePath, this.tsconfigBaseFileName);\r\n this.tSConfigUpgrader = new TSConfigUpgrader(this.tsconfigFilePath, this.tsconfigFileName);\r\n this.gitIgnoreUpgrader = new GitIgnoreUpgrader(this.gitIgnoreFilePath);\r\n this.angularJsonUpgrader = new AngularJsonUpgrader(this.angularJsonFilePath);\r\n this.testTsUpgrader = new FileReplacementUpgrader(this.testTsFileTemplatePath, this.testTsFilePath);\r\n this.cIBuildUpgrader = new CIBuildYmlUpgrader(this.cIBuildYmlFilePath, this.cIBuildYmlFileName);\r\n this.pullRequestUpgrader = new CIBuildYmlUpgrader(this.pullRequestYmlFilePath, this.pullRequestYmlFileName);\r\n this.srcTsConfigLibProdUpgrader = new ReplaceUpgrader(this.srcTsConfigLibProdFilePath, srcTsConfigLibProdReplaces, this.srcTsConfigLibProdFileName);\r\n this.srcTsConfigSpecUpgrader = new RemoveUpgrader(this.srcTsConfigSpecFilePath, srcTsConfigSpecRemoves, this.srcTsConfigSpecFileName);\r\n this.gulpCompileTsUpgrader = new FileReplacementUpgrader(this.gulpCompileTsTemplatePath, this.gulpCompileTsFilePath);\r\n this.gulpIndexTsUpgrader = new FileReplacementUpgrader(this.gulpIndexTsTemplatePath, this.gulpIndexTsFilePath);\r\n this.jasmineTestUpgrader = new JasmineTestUpgrader(this.testTsFilePath, this.debug);\r\n this.uITestAutomationLegacyUpgrader = new UITestAutomationLegacyUpgrader(this.uiTestAutomationLegacyFilePath, this.packageJsonFileName);\r\n\r\n this.logParser = new LogParser(this.logFilePath, this.logFileName);\r\n }\r\n\r\n protected updateBasicPaths(): void {\r\n this.tsconfigBaseFilePath = Common.rootPath + '\\\\' + this.tsconfigBaseFileName;\r\n this.tsconfigFilePath = Common.rootPath + '\\\\' + this.tsconfigFileName;\r\n this.angularJsonFilePath = Common.rootPath + '\\\\' + this.angularFileName;\r\n this.packageJsonFilePath = Common.rootPath + '\\\\' + this.packageJsonFileName;\r\n this.versionJsonFilePath = Common.rootPath + '\\\\' + this.versionJsonFileName;\r\n this.packageLockJsonFilePath = Common.rootPath + '\\\\' + this.packageLockJsonFileName;\r\n this.nodeModulesFolderPath = Common.rootPath + '\\\\' + this.nodeModulesFolderName;\r\n this.e2eFolderPath = Common.rootPath + '\\\\' + this.e2eFolderName;\r\n this.gitIgnoreFilePath = Common.rootPath + '\\\\' + this.gitIgnoreFileName;\r\n\r\n this.srcTsConfigLibProdFilePath = Common.rootPath + '\\\\src\\\\' + this.srcTsConfigLibProdFileName;\r\n this.srcTsConfigSpecFilePath = Common.rootPath + '\\\\src\\\\' + this.srcTsConfigSpecFileName;\r\n\r\n this.cIBuildYmlFilePath = Common.rootPath + '\\\\build\\\\pipelines\\\\' + this.cIBuildYmlFileName;\r\n this.pullRequestYmlFilePath = Common.rootPath + '\\\\build\\\\pipelines\\\\' + this.pullRequestYmlFileName;\r\n\r\n this.testTsFilePath = Common.rootPath + '\\\\src\\\\' + this.testTsFileName;\r\n this.testTsFileTemplatePath = Common.cliRootPath.replace('wac-cli', 'module-template\\\\angular15\\\\test.ts');\r\n\r\n this.gulpCompileTsFilePath = Common.rootPath + '\\\\gulpfile.ts\\\\common\\\\' + this.gulpCompileTsFileName;\r\n this.gulpCompileTsTemplatePath = Common.cliRootPath.replace('wac-cli', 'module-template\\\\angular15\\\\gulpfile.ts\\\\common\\\\compile.ts');\r\n\r\n this.gulpIndexTsFilePath = Common.rootPath + '\\\\gulpfile.ts\\\\' + this.gulpIndexTsFileName;\r\n this.gulpIndexTsTemplatePath = Common.cliRootPath.replace('wac-cli', 'module-template\\\\angular15\\\\gulpfile.ts\\\\index.ts');\r\n\r\n this.uiTestAutomationLegacyFilePath = Common.rootPath + '\\\\ui-test-automation\\\\' + this.packageJsonFileName;\r\n this.uiTestAutomationLegacyFolderPath = Common.rootPath + '\\\\ui-test-automation\\\\';\r\n\r\n this.logFilePath = Common.rootPath + '\\\\' + this.logFileName;\r\n\r\n if (this.debug) {\r\n this.mainDebugger.updateTestData(this);\r\n }\r\n }\r\n\r\n protected async gulpBuildPostAudit(): Promise<void> {\r\n return this.logParser.run();\r\n }\r\n\r\n protected gulpQuick(): Promise<void> {\r\n const gulpQuick = 'gulp quick';\r\n Logger.log(gulpQuick);\r\n return runCommand(gulpQuick, this.debug, true, Angular15UpgraderMessages.Completed, this.logFileName).then((response) => {\r\n console.log(response);\r\n });\r\n }\r\n\r\n protected gulpBuildProd(): Promise<void> {\r\n const gulpBuild = 'gulp build --prod';\r\n Logger.log(gulpBuild);\r\n return runCommand(gulpBuild, this.debug, true, Angular15UpgraderMessages.Completed, this.logFileName).then((response) => {\r\n console.log(response);\r\n });\r\n }\r\n\r\n protected async gulpBuildProdPostAudit(): Promise<void> {\r\n return this.logParser.run();\r\n }\r\n\r\n protected async installUTALegacyDevDependency(): Promise<void> {\r\n const setprefixCmd = 'npm config set save-prefix=';\r\n Logger.log(setprefixCmd);\r\n await runCommand(setprefixCmd, this.debug);\r\n const cmd = 'npm install @msft-sme/ui-test-automation@latest --save-dev --force';\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n protected async installDependenciesPreparation(): Promise<void> {\r\n await this.removeNodeModuleFolder();\r\n await this.removePackageLockJsonFile();\r\n await this.removeE2EFolder();\r\n await this.checkEslintRCFile();\r\n updateShellReferences('', this.internal);\r\n }\r\n\r\n private async checkEslintRCFile(): Promise<void> {\r\n const esLintUpgrader = new EslintUpgrader();\r\n await esLintUpgrader.replaceEslintConfig();\r\n }\r\n\r\n private async installMicrosftSignalR(): Promise<void> {\r\n const cmd = 'npm install @microsoft/signalr@6.0.8 --save';\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async removePackageLockJsonFile(): Promise<void> {\r\n const cmd = `del ${this.packageLockJsonFilePath}`;\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async removeNodeModuleFolder(): Promise<void> {\r\n const cmd = `rmdir /s /q ${this.nodeModulesFolderPath}`;\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async removeE2EFolder(): Promise<void> {\r\n const cmd = `rmdir /s /q ${this.e2eFolderPath}`;\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async installDependencies(): Promise<void> {\r\n // Needs to be installed on the SDK root dependency.\r\n if (!this.internal) {\r\n await this.installMicrosftSignalR();\r\n }\r\n const cmd = 'npm install --force';\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async installDependenciesForUITestAutomation(): Promise<void> {\r\n const cmd = 'pushd ' + this.uiTestAutomationLegacyFolderPath + '&& del package-lock.json && npm install && popd';\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async fixEslintErrors(ignore = false): Promise<void> {\r\n if (ignore) {\r\n return;\r\n }\r\n \r\n const rootFileLinterFix = 'npx eslint . --fix';\r\n Logger.log(rootFileLinterFix);\r\n await runCommand(rootFileLinterFix, this.debug, true, Angular15UpgraderMessages.FinalizeInfoLintFix);\r\n const projectLinterFix = 'npx ng lint --fix';\r\n Logger.log(projectLinterFix);\r\n await runCommand(projectLinterFix, this.debug, true, Angular15UpgraderMessages.FinalizeInfoLintFix);\r\n }\r\n\r\n /**\r\n * electron-to-chromium 1.4.533 - 1.4.535 are bad versions that is also the latest, meaning any dependency uses ^1.4.xxx are also blocked,\r\n * below are the dependency list:\r\n * /@angular-devkit/build-angular@15.2.8 -> browserslist@4.21.5 that has dependency on ^1.4.284(which always grab 1.4.535)\r\n * always force 1.4.532\r\n */\r\n private async installLKGElectronToChromium(): Promise<void> {\r\n const cmd = 'npm install electron-to-chromium@1.4.532 --force';\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["../../../packages/tools/wac-cli/src/angular15/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Common } from '../common';\r\nimport { PackageJsonUpgrader } from './upgrader/package-json-upgrader';\r\nimport { TSConfigUpgrader } from './upgrader/tsconfig-upgrader';\r\nimport { Logger } from './utils/logger';\r\nimport { GitIgnoreUpgrader } from './upgrader/git-ignore-upgrader';\r\nimport { AngularJsonUpgrader } from './upgrader/angular-json-upgrader';\r\nimport { FileReplacementUpgrader } from './upgrader/file-replacement-upgrader';\r\nimport { CIBuildYmlUpgrader } from './upgrader/ci-build-yml-upgrader';\r\nimport { ReplaceUpgrader } from './upgrader/replace-upgrader';\r\nimport { srcTsConfigLibProdReplaces, srcTsConfigSpecRemoves } from './configs/config';\r\nimport { RemoveUpgrader } from './upgrader/remove-upgrader';\r\nimport { MainDebugger } from './utils/main-debugger';\r\nimport { runCommand } from './utils/command-runner';\r\nimport { LogParser } from './upgrader/audit/log-parser';\r\nimport { VersionJsonUpgrader } from './upgrader/version-json-upgrader';\r\nimport { JasmineTestUpgrader } from './upgrader/jasmine-test-upgrader';\r\nimport { updateShellReferences } from './utils/update-shell-references';\r\nimport { EslintUpgrader } from '../eslint/main';\r\nimport { UITestAutomationLegacyUpgrader } from './upgrader/ui-test-automation-legacy-upgrader';\r\nimport { EslintAutoFixUpgrader } from './upgrader/eslint-auto-fix-upgrader';\r\n\r\n/**\r\n * Represents the type of upgrade that needs to be performed.\r\n */\r\nexport enum UpgradeType {\r\n WithBaseConfig = 'WithBaseConfig',\r\n WithoutBaseConfig = 'WithoutBaseConfig',\r\n NoOperation = 'NoOperation'\r\n}\r\n\r\n/**\r\n * Represents the messages that are displayed during the upgrade process.\r\n */\r\nexport enum Angular15UpgraderMessages {\r\n StartingUpgrade = 'Starting Angular 15 upgrade process...',\r\n UpdateBasicPaths = 'Updating basic paths for the upgrade...',\r\n Initialization = 'Initializing upgraders...',\r\n FinalizeInfoLintFix = `There are eslint violations that needs fix... After fixing the violations, please run the following commands:\\n\r\n npx eslint . --fix \\n\r\n gulp lintApp \\n\r\n gulp build \\n\r\n `,\r\n InternalCommandOnly = 'This command is only available for internal extension.',\r\n Completed = 'Upgrade completed!',\r\n StartMessageStage0 = 'Starting stage 0: the default Angular 15 upgrade stage',\r\n StartMessageStage1 = 'Starting stage 1: the Angular core stage',\r\n StartMessageStage2 = 'Starting stage 2: the Angular 15 unit test stage',\r\n StartMessageStage3 = 'Starting stage 3: the legacy ui-test-automation stage',\r\n StartMessageStage4 = 'Starting stage 4: the eslint to support gulp lintApp --fix command stage'\r\n}\r\n\r\n/**\r\n * This is the main class of the EslintUpgrader tool.\r\n * It is responsible for upgrading the Tslint to Eslint.\r\n */\r\nexport class Angular15Upgrader {\r\n /**\r\n * The debug mode.\r\n */\r\n protected debug = false;\r\n\r\n /**\r\n * It determines whether to run angualr 15 upgrade for the internal extension or external sdk.\r\n */\r\n protected internal = false;\r\n\r\n /**\r\n * If running in the pipeline, the pipeline needs to automatically update for the @msft-sme pacakges instead of WAC CLI.\r\n */\r\n protected pipeline = false;\r\n\r\n /**\r\n * The main debugger.\r\n */\r\n protected mainDebugger: MainDebugger;\r\n\r\n /**\r\n * The main debugger version.\r\n */\r\n private readonly version = '1.0.1';\r\n\r\n /**\r\n * The paths of the configuration files.\r\n */\r\n private tsconfigBaseFilePath: string;\r\n private tsconfigFilePath: string;\r\n private angularJsonFilePath: string;\r\n private gitIgnoreFilePath: string;\r\n private packageJsonFilePath: string;\r\n private versionJsonFilePath: string;\r\n private packageLockJsonFilePath: string;\r\n private nodeModulesFolderPath: string;\r\n private e2eFolderPath: string;\r\n private testTsFilePath: string;\r\n private testTsFileTemplatePath: string;\r\n private cIBuildYmlFilePath: string;\r\n private pullRequestYmlFilePath: string;\r\n private srcTsConfigSpecFilePath: string;\r\n private srcTsConfigLibProdFilePath: string;\r\n private gulpCompileTsFilePath: string;\r\n private gulpCompileTsTemplatePath: string;\r\n private gulpIndexTsFilePath: string;\r\n private gulpIndexTsTemplatePath: string;\r\n private uiTestAutomationLegacyFilePath: string;\r\n private uiTestAutomationLegacyFolderPath: string;\r\n private logFilePath: string;\r\n private eslintrcFilePath: string;\r\n\r\n /**\r\n * The upgrader for each configuration file.\r\n */\r\n private packageJsonUpgrader: PackageJsonUpgrader;\r\n private versionJsonUpgrader: VersionJsonUpgrader;\r\n private tSConfigUpgrader: TSConfigUpgrader;\r\n private tSConfigBaseUpgrader: TSConfigUpgrader;\r\n private gitIgnoreUpgrader: GitIgnoreUpgrader;\r\n private angularJsonUpgrader: AngularJsonUpgrader;\r\n private testTsUpgrader: FileReplacementUpgrader;\r\n private cIBuildUpgrader: CIBuildYmlUpgrader;\r\n private pullRequestUpgrader: CIBuildYmlUpgrader;\r\n private srcTsConfigLibProdUpgrader: ReplaceUpgrader;\r\n private srcTsConfigSpecUpgrader: RemoveUpgrader;\r\n private gulpCompileTsUpgrader: FileReplacementUpgrader;\r\n private gulpIndexTsUpgrader: FileReplacementUpgrader;\r\n private logParser: LogParser;\r\n private jasmineTestUpgrader: JasmineTestUpgrader;\r\n private uITestAutomationLegacyUpgrader: UITestAutomationLegacyUpgrader;\r\n /**\r\n * The eslint fix upgrader to support linter fix command for stage 4.\r\n */\r\n private eslintAutoFixUpgrader: EslintAutoFixUpgrader;\r\n\r\n /**\r\n * The file names for each configuration file.\r\n */\r\n private readonly tsconfigBaseFileName = 'tsconfig.base.json';\r\n private readonly tsconfigFileName = 'tsconfig.json';\r\n private readonly packageJsonFileName = 'package.json';\r\n private readonly versionJsonFileName = 'version.json';\r\n private readonly packageLockJsonFileName = 'package-lock.json';\r\n private readonly angularFileName = 'angular.json';\r\n private readonly e2eFolderName = 'e2e';\r\n private readonly nodeModulesFolderName = 'node_modules';\r\n private readonly gitIgnoreFileName = '.gitignore';\r\n private readonly testTsFileName = 'test.ts';\r\n private readonly cIBuildYmlFileName = 'ci-build.yml';\r\n private readonly pullRequestYmlFileName = 'pull-request.yml';\r\n private readonly srcTsConfigLibProdFileName = 'tsconfig.lib.prod.json';\r\n private readonly srcTsConfigSpecFileName = 'tsconfig.spec.json';\r\n private readonly gulpCompileTsFileName = 'compile.ts';\r\n private readonly gulpIndexTsFileName = 'index.ts';\r\n private readonly logFileName = 'log.txt';\r\n private readonly eslintrcFileName = '.eslintrc.json';\r\n\r\n constructor() {\r\n Logger.log(Angular15UpgraderMessages.StartingUpgrade);\r\n Common.rootPath = process.cwd();\r\n Logger.log(Common.rootPath);\r\n }\r\n\r\n /**\r\n * The upgrader main function.\r\n * If only runs the unit test\r\n * node ./node_modules/@microsoft/windows-admin-center-sdk/tools/wac-cli/src/index.js angular15Upgrade --pipeline false --stage 2\r\n * @param pipeline It determines whether to run this command on the pipeline.\r\n * @param debug It determines whether to run the debug mode.\r\n * @param internal It determines whether to run angualr 15 upgrade for the internal extension or external sdk.\r\n * @param stage '0' - the default Angular 15 upgrade stage,\r\n * '1' - the Angular core stage,\r\n * '2' - the Angular 15 unit test stage,\r\n * '3' - the legacy ui-test-automation stage.\r\n * '4' - the eslint to support gulp lintApp --fix command.\r\n */\r\n public async upgrade(pipeline = false, stage = 0, internal = false, debug = false) {\r\n this.debug = !!debug;\r\n this.pipeline = !!pipeline;\r\n this.internal = !!internal;\r\n Logger.log(this.version);\r\n Logger.log(Angular15UpgraderMessages.StartingUpgrade);\r\n Logger.log('Passed in parameters: ' + this.pipeline + ' ' + stage + ' ' + this.internal + ' ' + this.debug );\r\n\r\n this.mainDebugger = this.debug ? new MainDebugger(): undefined;\r\n\r\n Logger.log(Angular15UpgraderMessages.UpdateBasicPaths);\r\n this.updateBasicPaths();\r\n\r\n Logger.log(Angular15UpgraderMessages.Initialization);\r\n this.initialization();\r\n\r\n switch (stage) {\r\n case 0:\r\n Logger.log(Angular15UpgraderMessages.StartMessageStage0);\r\n await this.criticalConfigurationFilesUpdates();\r\n await this.installDependenciesPreparation();\r\n await this.installLKGElectronToChromium();\r\n await this.installDependencies();\r\n // Fix any eslint errors that doesn't match the latest eslint rules.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.gulpQuick();\r\n await this.gulpBuildPostAudit();\r\n // Fix any eslint errors that is triggered by audit.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.gulpBuildProd();\r\n await this.gulpBuildProdPostAudit();\r\n // Fix any eslint errors clean-ups.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.jasmineTestUpgrader.run();\r\n break;\r\n case 1:\r\n Logger.log(Angular15UpgraderMessages.StartMessageStage1);\r\n await this.criticalConfigurationFilesUpdates();\r\n await this.installDependenciesPreparation();\r\n await this.installLKGElectronToChromium();\r\n await this.installDependencies();\r\n // Fix any eslint errors that doesn't match the latest eslint rules.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.gulpQuick();\r\n await this.gulpBuildPostAudit();\r\n // Fix any eslint errors that is triggered by audit.\r\n await this.fixEslintErrors(this.pipeline);\r\n await this.gulpBuildProd();\r\n await this.gulpBuildProdPostAudit();\r\n // Fix any eslint errors clean-ups.\r\n await this.fixEslintErrors(this.pipeline);\r\n break;\r\n case 2:\r\n Logger.log(Angular15UpgraderMessages.StartMessageStage2);\r\n await this.gulpIndexTsUpgrader.run();\r\n await this.testTsUpgrader.run();\r\n await this.jasmineTestUpgrader.run();\r\n break;\r\n case 3:\r\n Logger.log(Angular15UpgraderMessages.StartMessageStage3);\r\n if (!this.internal) {\r\n Logger.log(Angular15UpgraderMessages.InternalCommandOnly);\r\n } else {\r\n await this.packageJsonUpgrader.run(this.pipeline),\r\n await this.installUTALegacyDevDependency();\r\n await this.uITestAutomationLegacyUpgrader.run();\r\n await this.installDependenciesForUITestAutomation();\r\n }\r\n case 4:\r\n Logger.log(Angular15UpgraderMessages.StartMessageStage4);\r\n if (!this.internal) {\r\n Logger.log(Angular15UpgraderMessages.InternalCommandOnly);\r\n } else {\r\n await this.eslintAutoFixUpgrader.run();\r\n await this.gulpLintFix();\r\n }\r\n default:\r\n Logger.log('default');\r\n break;\r\n }\r\n }\r\n\r\n protected async criticalConfigurationFilesUpdates(): Promise<void> {\r\n Promise.all([\r\n this.packageJsonUpgrader.run(this.pipeline),\r\n this.versionJsonUpgrader.run(),\r\n this.tSConfigBaseUpgrader.runBase(),\r\n this.tSConfigUpgrader.run(),\r\n this.gitIgnoreUpgrader.run(),\r\n this.angularJsonUpgrader.run(),\r\n this.testTsUpgrader.run(),\r\n this.cIBuildUpgrader.run(),\r\n this.pullRequestUpgrader.run(),\r\n this.srcTsConfigLibProdUpgrader.run(),\r\n this.srcTsConfigSpecUpgrader.run(),\r\n this.gulpCompileTsUpgrader.run(),\r\n this.gulpIndexTsUpgrader.run()\r\n ]).then((results) => {\r\n console.log('All Promises have completed:', results);\r\n\r\n if (this.debug) {\r\n this.mainDebugger.verifyTestData(this).then(() => {\r\n Logger.log(Angular15UpgraderMessages.Completed);\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n Logger.error('At least one Promise encountered an error:' + error);\r\n });\r\n }\r\n\r\n protected initialization() {\r\n this.packageJsonUpgrader = new PackageJsonUpgrader(this.packageJsonFilePath);\r\n this.versionJsonUpgrader = new VersionJsonUpgrader(this.versionJsonFilePath);\r\n this.tSConfigBaseUpgrader = new TSConfigUpgrader(this.tsconfigBaseFilePath, this.tsconfigBaseFileName);\r\n this.tSConfigUpgrader = new TSConfigUpgrader(this.tsconfigFilePath, this.tsconfigFileName);\r\n this.gitIgnoreUpgrader = new GitIgnoreUpgrader(this.gitIgnoreFilePath);\r\n this.angularJsonUpgrader = new AngularJsonUpgrader(this.angularJsonFilePath);\r\n this.testTsUpgrader = new FileReplacementUpgrader(this.testTsFileTemplatePath, this.testTsFilePath);\r\n this.cIBuildUpgrader = new CIBuildYmlUpgrader(this.cIBuildYmlFilePath, this.cIBuildYmlFileName);\r\n this.pullRequestUpgrader = new CIBuildYmlUpgrader(this.pullRequestYmlFilePath, this.pullRequestYmlFileName);\r\n this.srcTsConfigLibProdUpgrader = new ReplaceUpgrader(this.srcTsConfigLibProdFilePath, srcTsConfigLibProdReplaces, this.srcTsConfigLibProdFileName);\r\n this.srcTsConfigSpecUpgrader = new RemoveUpgrader(this.srcTsConfigSpecFilePath, srcTsConfigSpecRemoves, this.srcTsConfigSpecFileName);\r\n this.gulpCompileTsUpgrader = new FileReplacementUpgrader(this.gulpCompileTsTemplatePath, this.gulpCompileTsFilePath);\r\n this.gulpIndexTsUpgrader = new FileReplacementUpgrader(this.gulpIndexTsTemplatePath, this.gulpIndexTsFilePath);\r\n this.jasmineTestUpgrader = new JasmineTestUpgrader(this.testTsFilePath, this.debug);\r\n this.uITestAutomationLegacyUpgrader = new UITestAutomationLegacyUpgrader(this.uiTestAutomationLegacyFilePath, this.packageJsonFileName);\r\n this.eslintAutoFixUpgrader = new EslintAutoFixUpgrader(this.eslintrcFilePath);\r\n\r\n this.logParser = new LogParser(this.logFilePath, this.logFileName);\r\n }\r\n\r\n protected updateBasicPaths(): void {\r\n this.tsconfigBaseFilePath = Common.rootPath + '\\\\' + this.tsconfigBaseFileName;\r\n this.tsconfigFilePath = Common.rootPath + '\\\\' + this.tsconfigFileName;\r\n this.angularJsonFilePath = Common.rootPath + '\\\\' + this.angularFileName;\r\n this.packageJsonFilePath = Common.rootPath + '\\\\' + this.packageJsonFileName;\r\n this.versionJsonFilePath = Common.rootPath + '\\\\' + this.versionJsonFileName;\r\n this.packageLockJsonFilePath = Common.rootPath + '\\\\' + this.packageLockJsonFileName;\r\n this.nodeModulesFolderPath = Common.rootPath + '\\\\' + this.nodeModulesFolderName;\r\n this.e2eFolderPath = Common.rootPath + '\\\\' + this.e2eFolderName;\r\n this.gitIgnoreFilePath = Common.rootPath + '\\\\' + this.gitIgnoreFileName;\r\n this.eslintrcFilePath = Common.rootPath + '\\\\' + this.eslintrcFileName;\r\n\r\n this.srcTsConfigLibProdFilePath = Common.rootPath + '\\\\src\\\\' + this.srcTsConfigLibProdFileName;\r\n this.srcTsConfigSpecFilePath = Common.rootPath + '\\\\src\\\\' + this.srcTsConfigSpecFileName;\r\n\r\n this.cIBuildYmlFilePath = Common.rootPath + '\\\\build\\\\pipelines\\\\' + this.cIBuildYmlFileName;\r\n this.pullRequestYmlFilePath = Common.rootPath + '\\\\build\\\\pipelines\\\\' + this.pullRequestYmlFileName;\r\n\r\n this.testTsFilePath = Common.rootPath + '\\\\src\\\\' + this.testTsFileName;\r\n this.testTsFileTemplatePath = Common.cliRootPath.replace('wac-cli', 'module-template\\\\angular15\\\\test.ts');\r\n\r\n this.gulpCompileTsFilePath = Common.rootPath + '\\\\gulpfile.ts\\\\common\\\\' + this.gulpCompileTsFileName;\r\n this.gulpCompileTsTemplatePath = Common.cliRootPath.replace('wac-cli', 'module-template\\\\angular15\\\\gulpfile.ts\\\\common\\\\compile.ts');\r\n\r\n this.gulpIndexTsFilePath = Common.rootPath + '\\\\gulpfile.ts\\\\' + this.gulpIndexTsFileName;\r\n this.gulpIndexTsTemplatePath = Common.cliRootPath.replace('wac-cli', 'module-template\\\\angular15\\\\gulpfile.ts\\\\index.ts');\r\n\r\n this.uiTestAutomationLegacyFilePath = Common.rootPath + '\\\\ui-test-automation\\\\' + this.packageJsonFileName;\r\n this.uiTestAutomationLegacyFolderPath = Common.rootPath + '\\\\ui-test-automation\\\\';\r\n\r\n this.logFilePath = Common.rootPath + '\\\\' + this.logFileName;\r\n\r\n if (this.debug) {\r\n this.mainDebugger.updateTestData(this);\r\n }\r\n }\r\n\r\n protected async gulpBuildPostAudit(): Promise<void> {\r\n return this.logParser.run();\r\n }\r\n\r\n protected gulpLintFix(): Promise<void> {\r\n const gulpLintFixCmd = 'gulp lintApp --fix';\r\n Logger.log(gulpLintFixCmd);\r\n return runCommand(gulpLintFixCmd, this.debug, true, Angular15UpgraderMessages.Completed, this.logFileName).then((response) => {\r\n console.log(response);\r\n });\r\n }\r\n\r\n protected gulpQuick(): Promise<void> {\r\n const gulpQuick = 'gulp quick';\r\n Logger.log(gulpQuick);\r\n return runCommand(gulpQuick, this.debug, true, Angular15UpgraderMessages.Completed, this.logFileName).then((response) => {\r\n console.log(response);\r\n });\r\n }\r\n\r\n protected gulpBuildProd(): Promise<void> {\r\n const gulpBuild = 'gulp build --prod';\r\n Logger.log(gulpBuild);\r\n return runCommand(gulpBuild, this.debug, true, Angular15UpgraderMessages.Completed, this.logFileName).then((response) => {\r\n console.log(response);\r\n });\r\n }\r\n\r\n protected async gulpBuildProdPostAudit(): Promise<void> {\r\n return this.logParser.run();\r\n }\r\n\r\n protected async installUTALegacyDevDependency(): Promise<void> {\r\n const setprefixCmd = 'npm config set save-prefix=';\r\n Logger.log(setprefixCmd);\r\n await runCommand(setprefixCmd, this.debug);\r\n const cmd = 'npm install @msft-sme/ui-test-automation@latest --save-dev --force';\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n protected async installDependenciesPreparation(): Promise<void> {\r\n await this.removeNodeModuleFolder();\r\n await this.removePackageLockJsonFile();\r\n await this.removeE2EFolder();\r\n await this.checkEslintRCFile();\r\n updateShellReferences('', this.internal);\r\n }\r\n\r\n private async checkEslintRCFile(): Promise<void> {\r\n const esLintUpgrader = new EslintUpgrader();\r\n await esLintUpgrader.replaceEslintConfig();\r\n }\r\n\r\n private async installMicrosftSignalR(): Promise<void> {\r\n const cmd = 'npm install @microsoft/signalr@6.0.8 --save';\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async removePackageLockJsonFile(): Promise<void> {\r\n const cmd = `del ${this.packageLockJsonFilePath}`;\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async removeNodeModuleFolder(): Promise<void> {\r\n const cmd = `rmdir /s /q ${this.nodeModulesFolderPath}`;\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async removeE2EFolder(): Promise<void> {\r\n const cmd = `rmdir /s /q ${this.e2eFolderPath}`;\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async installDependencies(): Promise<void> {\r\n // Needs to be installed on the SDK root dependency.\r\n if (!this.internal) {\r\n await this.installMicrosftSignalR();\r\n }\r\n const cmd = 'npm install --force';\r\n\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async installDependenciesForUITestAutomation(): Promise<void> {\r\n const cmd = 'pushd ' + this.uiTestAutomationLegacyFolderPath + '&& del package-lock.json && npm install && popd';\r\n await runCommand(cmd, this.debug);\r\n }\r\n\r\n private async fixEslintErrors(ignore = false): Promise<void> {\r\n if (ignore) {\r\n return;\r\n }\r\n \r\n const rootFileLinterFix = 'npx eslint . --fix';\r\n Logger.log(rootFileLinterFix);\r\n await runCommand(rootFileLinterFix, this.debug, true, Angular15UpgraderMessages.FinalizeInfoLintFix);\r\n const projectLinterFix = 'npx ng lint --fix';\r\n Logger.log(projectLinterFix);\r\n await runCommand(projectLinterFix, this.debug, true, Angular15UpgraderMessages.FinalizeInfoLintFix);\r\n }\r\n\r\n /**\r\n * electron-to-chromium 1.4.533 - 1.4.535 are bad versions that is also the latest, meaning any dependency uses ^1.4.xxx are also blocked,\r\n * below are the dependency list:\r\n * /@angular-devkit/build-angular@15.2.8 -> browserslist@4.21.5 that has dependency on ^1.4.284(which always grab 1.4.535)\r\n * always force 1.4.532\r\n */\r\n private async installLKGElectronToChromium(): Promise<void> {\r\n const cmd = 'npm install electron-to-chromium@1.4.532 --force';\r\n Logger.log(cmd);\r\n await runCommand(cmd, this.debug);\r\n }\r\n}\r\n"]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The class to upgrade the eslint to support 'gulp lintApp --fix'.
3
+ */
4
+ export declare class EslintAutoFixUpgrader {
5
+ private readonly fileName;
6
+ private filePath;
7
+ private fileWriter;
8
+ private messages;
9
+ /**
10
+ * the constructor.
11
+ * @param filePath the file path.
12
+ */
13
+ constructor(filePath: string);
14
+ /**
15
+ * the run function to resolve the errors.
16
+ */
17
+ run(): Promise<void>;
18
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,QAAQ,CAEd;IAEF;;;OAGG;gBACS,QAAQ,EAAE,MAAM;IAK5B;;OAEG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiBpC","file":"eslint-auto-fix-upgrader.d.ts","sourcesContent":["import { pathExists } from 'fs-extra';\r\nimport { Logger } from '../utils/logger';\r\nimport { FileWriter } from '../utils/file-writer';\r\nimport { adds } from '../configs/eslint-auto-fix-config';\r\n\r\n/**\r\n * The class to upgrade the eslint to support 'gulp lintApp --fix'.\r\n */\r\nexport class EslintAutoFixUpgrader {\r\n private readonly fileName = '.eslintrc.json';\r\n private filePath: string;\r\n private fileWriter: FileWriter;\r\n\r\n private messages = {\r\n notFound: ''\r\n };\r\n\r\n /**\r\n * the constructor.\r\n * @param filePath the file path.\r\n */\r\n constructor(filePath: string) {\r\n this.filePath = filePath;\r\n this.messages.notFound = `${this.fileName} not found at ${this.filePath}.`\r\n }\r\n\r\n /**\r\n * the run function to resolve the errors.\r\n */\r\n public async run(): Promise<void> {\r\n try {\r\n const exists = await pathExists(this.filePath);\r\n\r\n if (exists) {\r\n this.fileWriter = new FileWriter(this.filePath);\r\n\r\n this.fileWriter\r\n .addContent(adds)\r\n .writeFile();\r\n } else {\r\n Logger.log(this.messages.notFound);\r\n }\r\n } catch (error) {\r\n Logger.error(error);\r\n }\r\n }\r\n}\r\n"]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EslintAutoFixUpgrader = void 0;
4
+ const fs_extra_1 = require("fs-extra");
5
+ const logger_1 = require("../utils/logger");
6
+ const file_writer_1 = require("../utils/file-writer");
7
+ const eslint_auto_fix_config_1 = require("../configs/eslint-auto-fix-config");
8
+ /**
9
+ * The class to upgrade the eslint to support 'gulp lintApp --fix'.
10
+ */
11
+ class EslintAutoFixUpgrader {
12
+ fileName = '.eslintrc.json';
13
+ filePath;
14
+ fileWriter;
15
+ messages = {
16
+ notFound: ''
17
+ };
18
+ /**
19
+ * the constructor.
20
+ * @param filePath the file path.
21
+ */
22
+ constructor(filePath) {
23
+ this.filePath = filePath;
24
+ this.messages.notFound = `${this.fileName} not found at ${this.filePath}.`;
25
+ }
26
+ /**
27
+ * the run function to resolve the errors.
28
+ */
29
+ async run() {
30
+ try {
31
+ const exists = await (0, fs_extra_1.pathExists)(this.filePath);
32
+ if (exists) {
33
+ this.fileWriter = new file_writer_1.FileWriter(this.filePath);
34
+ this.fileWriter
35
+ .addContent(eslint_auto_fix_config_1.adds)
36
+ .writeFile();
37
+ }
38
+ else {
39
+ logger_1.Logger.log(this.messages.notFound);
40
+ }
41
+ }
42
+ catch (error) {
43
+ logger_1.Logger.error(error);
44
+ }
45
+ }
46
+ }
47
+ exports.EslintAutoFixUpgrader = EslintAutoFixUpgrader;
48
+
49
+ //# sourceMappingURL=eslint-auto-fix-upgrader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AACtC,4CAAyC;AACzC,sDAAkD;AAClD,8EAAyD;AAEzD;;GAEG;AACH,MAAa,qBAAqB;IACb,QAAQ,GAAG,gBAAgB,CAAC;IACrC,QAAQ,CAAS;IACjB,UAAU,CAAa;IAEvB,QAAQ,GAAG;QACf,QAAQ,EAAE,EAAE;KACf,CAAC;IAEF;;;OAGG;IACH,YAAY,QAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,iBAAiB,IAAI,CAAC,QAAQ,GAAG,CAAA;IAC9E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAG;QACZ,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE/C,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEhD,IAAI,CAAC,UAAU;qBACV,UAAU,CAAC,6BAAI,CAAC;qBAChB,SAAS,EAAE,CAAC;aACpB;iBAAM;gBACC,eAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC1C;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,eAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACvB;IACL,CAAC;CACJ;AAtCD,sDAsCC","file":"eslint-auto-fix-upgrader.js","sourcesContent":["import { pathExists } from 'fs-extra';\r\nimport { Logger } from '../utils/logger';\r\nimport { FileWriter } from '../utils/file-writer';\r\nimport { adds } from '../configs/eslint-auto-fix-config';\r\n\r\n/**\r\n * The class to upgrade the eslint to support 'gulp lintApp --fix'.\r\n */\r\nexport class EslintAutoFixUpgrader {\r\n private readonly fileName = '.eslintrc.json';\r\n private filePath: string;\r\n private fileWriter: FileWriter;\r\n\r\n private messages = {\r\n notFound: ''\r\n };\r\n\r\n /**\r\n * the constructor.\r\n * @param filePath the file path.\r\n */\r\n constructor(filePath: string) {\r\n this.filePath = filePath;\r\n this.messages.notFound = `${this.fileName} not found at ${this.filePath}.`\r\n }\r\n\r\n /**\r\n * the run function to resolve the errors.\r\n */\r\n public async run(): Promise<void> {\r\n try {\r\n const exists = await pathExists(this.filePath);\r\n\r\n if (exists) {\r\n this.fileWriter = new FileWriter(this.filePath);\r\n\r\n this.fileWriter\r\n .addContent(adds)\r\n .writeFile();\r\n } else {\r\n Logger.log(this.messages.notFound);\r\n }\r\n } catch (error) {\r\n Logger.error(error);\r\n }\r\n }\r\n}\r\n"]}