@pnp/cli-microsoft365 7.0.0-beta.c0afb7b → 7.0.0-beta.c2db9df

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 (158) hide show
  1. package/README.md +4 -4
  2. package/dist/cli/Cli.js +3 -3
  3. package/dist/m365/aad/commands/app/app-add.js +8 -8
  4. package/dist/m365/aad/commands/app/app-get.js +4 -1
  5. package/dist/m365/aad/commands/app/app-remove.js +3 -1
  6. package/dist/m365/aad/commands/app/app-role-add.js +9 -6
  7. package/dist/m365/aad/commands/app/app-role-list.js +4 -1
  8. package/dist/m365/aad/commands/app/app-role-remove.js +5 -2
  9. package/dist/m365/aad/commands/app/app-set.js +9 -6
  10. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +7 -2
  11. package/dist/m365/aad/commands/group/group-get.js +4 -4
  12. package/dist/m365/aad/commands/group/group-list.js +1 -23
  13. package/dist/m365/aad/commands/m365group/m365group-add.js +12 -9
  14. package/dist/m365/aad/commands/m365group/m365group-recyclebinitem-remove.js +3 -1
  15. package/dist/m365/aad/commands/m365group/m365group-recyclebinitem-restore.js +4 -1
  16. package/dist/m365/aad/commands/m365group/m365group-teamify.js +4 -1
  17. package/dist/m365/aad/commands/policy/policy-list.js +5 -5
  18. package/dist/m365/aad/commands/sp/sp-add.js +4 -1
  19. package/dist/m365/aad/commands/sp/sp-get.js +4 -1
  20. package/dist/m365/aad/commands/user/user-get.js +7 -2
  21. package/dist/m365/booking/commands/business/business-get.js +4 -1
  22. package/dist/m365/cli/commands/cli-issue.js +5 -5
  23. package/dist/m365/cli/commands/config/config-get.js +5 -5
  24. package/dist/m365/cli/commands/config/config-reset.js +5 -5
  25. package/dist/m365/cli/commands/config/config-set.js +5 -5
  26. package/dist/m365/commands/login.js +5 -5
  27. package/dist/m365/commands/request.js +1 -1
  28. package/dist/m365/flow/commands/owner/owner-ensure.js +5 -5
  29. package/dist/m365/outlook/commands/message/message-list.js +4 -2
  30. package/dist/m365/outlook/commands/message/message-move.js +4 -2
  31. package/dist/m365/pa/commands/app/app-export.js +7 -7
  32. package/dist/m365/pa/commands/app/app-owner-set.js +5 -5
  33. package/dist/m365/pa/commands/app/app-permission-ensure.js +5 -5
  34. package/dist/m365/planner/commands/bucket/bucket-get.js +5 -1
  35. package/dist/m365/planner/commands/bucket/bucket-remove.js +3 -1
  36. package/dist/m365/planner/commands/bucket/bucket-set.js +4 -1
  37. package/dist/m365/planner/commands/task/task-add.js +17 -11
  38. package/dist/m365/planner/commands/task/task-get.js +42 -27
  39. package/dist/m365/planner/commands/task/task-list.js +26 -19
  40. package/dist/m365/planner/commands/task/task-remove.js +45 -37
  41. package/dist/m365/planner/commands/task/task-set.js +35 -23
  42. package/dist/m365/pp/commands/aibuildermodel/aibuildermodel-get.js +4 -1
  43. package/dist/m365/pp/commands/card/card-get.js +3 -5
  44. package/dist/m365/pp/commands/chatbot/chatbot-get.js +3 -1
  45. package/dist/m365/pp/commands/managementapp/managementapp-add.js +4 -1
  46. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +14 -14
  47. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +3 -1
  48. package/dist/m365/spfx/commands/package/package-generate.js +15 -15
  49. package/dist/m365/spfx/commands/project/DeployWorkflow.js +55 -0
  50. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.5.js → doctor-1.18.0-rc.1.js} +2 -2
  51. package/dist/m365/spfx/commands/project/project-doctor.js +9 -9
  52. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +157 -0
  53. package/dist/m365/spfx/commands/project/project-github-workflow-model.js +2 -0
  54. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7.js +13 -0
  55. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.5.js → upgrade-1.18.0-rc.1.js} +35 -27
  56. package/dist/m365/spfx/commands/project/project-upgrade.js +14 -14
  57. package/dist/m365/spfx/commands/spfx-doctor.js +3 -3
  58. package/dist/m365/spfx/commands.js +1 -0
  59. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +5 -5
  60. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-get.js +5 -3
  61. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +5 -5
  62. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-remove.js +2 -2
  63. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-set.js +3 -2
  64. package/dist/m365/spo/commands/commandset/commandset-add.js +11 -11
  65. package/dist/m365/spo/commands/commandset/commandset-get.js +12 -10
  66. package/dist/m365/spo/commands/commandset/commandset-list.js +5 -5
  67. package/dist/m365/spo/commands/commandset/commandset-remove.js +7 -6
  68. package/dist/m365/spo/commands/commandset/commandset-set.js +14 -12
  69. package/dist/m365/spo/commands/customaction/customaction-get.js +5 -2
  70. package/dist/m365/spo/commands/customaction/customaction-remove.js +3 -1
  71. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +3 -1
  72. package/dist/m365/spo/commands/file/file-get.js +9 -6
  73. package/dist/m365/spo/commands/file/file-sharinglink-add.js +8 -8
  74. package/dist/m365/spo/commands/file/file-sharinglink-list.js +5 -5
  75. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +7 -4
  76. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +4 -1
  77. package/dist/m365/spo/commands/hubsite/hubsite-get.js +3 -1
  78. package/dist/m365/spo/commands/list/list-add.js +4 -4
  79. package/dist/m365/spo/commands/list/list-set.js +4 -4
  80. package/dist/m365/spo/commands/listitem/listitem-add.js +1 -0
  81. package/dist/m365/spo/commands/listitem/listitem-set.js +3 -2
  82. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +8 -8
  83. package/dist/m365/spo/commands/page/clientsidepages.js +18 -0
  84. package/dist/m365/spo/commands/page/page-get.js +1 -0
  85. package/dist/m365/spo/commands/page/page-list.js +4 -3
  86. package/dist/m365/spo/commands/page/page-section-add.js +56 -21
  87. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +30 -32
  88. package/dist/m365/spo/commands/site/site-add.js +114 -161
  89. package/dist/m365/spo/commands/site/site-apppermission-add.js +15 -18
  90. package/dist/m365/spo/commands/site/site-apppermission-remove.js +34 -38
  91. package/dist/m365/spo/commands/site/site-apppermission-set.js +11 -14
  92. package/dist/m365/spo/commands/site/site-ensure.js +13 -66
  93. package/dist/m365/spo/commands/site/site-list.js +5 -7
  94. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +6 -6
  95. package/dist/m365/spo/commands/site/site-remove.js +166 -210
  96. package/dist/m365/spo/commands/site/site-set.js +121 -153
  97. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +1 -1
  98. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-get.js +8 -3
  99. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-list.js +3 -2
  100. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-remove.js +2 -1
  101. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-set.js +3 -2
  102. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -8
  103. package/dist/m365/spo/commands/tenant/tenant-commandset-get.js +8 -3
  104. package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +3 -2
  105. package/dist/m365/spo/commands/tenant/tenant-commandset-remove.js +3 -1
  106. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +8 -8
  107. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -4
  108. package/dist/m365/spo/commands/term/term-get.js +6 -6
  109. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +3 -3
  110. package/dist/m365/spo/commands/web/web-set.js +5 -5
  111. package/dist/m365/teams/commands/app/app-list.js +5 -5
  112. package/dist/m365/teams/commands/channel/channel-add.js +5 -1
  113. package/dist/m365/teams/commands/channel/channel-member-add.js +4 -2
  114. package/dist/m365/teams/commands/channel/channel-member-remove.js +3 -1
  115. package/dist/m365/teams/commands/channel/channel-member-set.js +4 -1
  116. package/dist/m365/teams/commands/chat/chat-get.js +7 -10
  117. package/dist/m365/teams/commands/chat/chat-member-add.js +5 -5
  118. package/dist/m365/teams/commands/chat/chat-message-send.js +8 -10
  119. package/dist/m365/teams/commands/funsettings/funsettings-set.js +4 -4
  120. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +4 -4
  121. package/dist/m365/teams/commands/membersettings/membersettings-set.js +4 -4
  122. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +5 -5
  123. package/dist/m365/teams/commands/team/team-clone.js +5 -10
  124. package/dist/m365/teams/commands/team/team-list.js +94 -30
  125. package/dist/m365/teams/commands/team/team-set.js +3 -3
  126. package/dist/m365/tenant/commands/info/info-get.js +83 -0
  127. package/dist/m365/tenant/commands.js +1 -0
  128. package/dist/m365/todo/commands/task/task-add.js +6 -6
  129. package/dist/m365/yammer/commands/message/message-list.js +5 -5
  130. package/dist/m365/yammer/commands/yammer-search.js +5 -5
  131. package/dist/utils/aadGroup.js +23 -3
  132. package/dist/utils/formatting.js +7 -0
  133. package/dist/utils/fsUtil.js +5 -0
  134. package/dist/utils/powerPlatform.js +1 -1
  135. package/dist/utils/spo.js +582 -0
  136. package/docs/docs/cmd/aad/group/group-get.mdx +5 -5
  137. package/docs/docs/cmd/aad/group/group-list.mdx +0 -11
  138. package/docs/docs/cmd/aad/policy/policy-list.mdx +5 -5
  139. package/docs/docs/cmd/cli/config/config-list.mdx +1 -1
  140. package/docs/docs/cmd/pa/app/app-export.mdx +5 -5
  141. package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
  142. package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
  143. package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
  144. package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
  145. package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
  146. package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
  147. package/docs/docs/cmd/spo/listitem/listitem-add.mdx +2 -5
  148. package/docs/docs/cmd/spo/listitem/listitem-set.mdx +2 -5
  149. package/docs/docs/cmd/spo/page/page-get.mdx +0 -1
  150. package/docs/docs/cmd/spo/page/page-list.mdx +0 -1
  151. package/docs/docs/cmd/spo/page/page-section-add.mdx +25 -1
  152. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +2 -4
  153. package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +2 -4
  154. package/docs/docs/cmd/teams/team/team-clone.mdx +3 -3
  155. package/docs/docs/cmd/teams/team/team-list.mdx +47 -22
  156. package/docs/docs/cmd/tenant/info/info-get.mdx +101 -0
  157. package/npm-shrinkwrap.json +196 -193
  158. package/package.json +8 -12
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpfxPackageGenerateCommand_instances, _SpfxPackageGenerateCommand_initTelemetry, _SpfxPackageGenerateCommand_initOptions, _SpfxPackageGenerateCommand_initValidators;
6
+ var _SpfxPackageGenerateCommand_instances, _a, _SpfxPackageGenerateCommand_initTelemetry, _SpfxPackageGenerateCommand_initOptions, _SpfxPackageGenerateCommand_initValidators;
7
7
  import AdmZip from 'adm-zip';
8
8
  import fs from 'fs';
9
9
  import os from 'os';
@@ -37,7 +37,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
37
37
  supportedHosts.push('TeamsPersonalApp');
38
38
  }
39
39
  const tokens = {
40
- clientSideAssetsFeatureId: SpfxPackageGenerateCommand.generateNewId(),
40
+ clientSideAssetsFeatureId: _a.generateNewId(),
41
41
  developerName: args.options.developerName || 'Contoso',
42
42
  developerWebsiteUrl: args.options.developerWebsiteUrl || 'https://contoso.com/my-app',
43
43
  developerPrivacyUrl: args.options.developerPrivacyUrl || 'https://contoso.com/privacy',
@@ -46,18 +46,18 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
46
46
  exposePageContextGlobally: args.options.exposePageContextGlobally ? '!0' : '!1',
47
47
  exposeTeamsContextGlobally: args.options.exposeTeamsContextGlobally ? '!0' : '!1',
48
48
  html: args.options.html.replace(/"/g, '\\"').replace(/\r\n/g, ' ').replace(/\n/g, ' '),
49
- packageName: SpfxPackageGenerateCommand.getSafePackageName(args.options.webPartTitle),
50
- productId: SpfxPackageGenerateCommand.generateNewId(),
49
+ packageName: _a.getSafePackageName(args.options.webPartTitle),
50
+ productId: _a.generateNewId(),
51
51
  skipFeatureDeployment: (args.options.allowTenantWideDeployment === true).toString(),
52
52
  supportedHosts: JSON.stringify(supportedHosts).replace(/"/g, '"'),
53
- webPartId: SpfxPackageGenerateCommand.generateNewId(),
53
+ webPartId: _a.generateNewId(),
54
54
  webPartFeatureName: `${args.options.webPartTitle} Feature`,
55
55
  webPartFeatureDescription: `A feature which activates the Client-Side WebPart named ${args.options.webPartTitle}`,
56
- webPartAlias: SpfxPackageGenerateCommand.getWebPartAlias(args.options.webPartTitle),
56
+ webPartAlias: _a.getWebPartAlias(args.options.webPartTitle),
57
57
  webPartName: args.options.webPartTitle,
58
- webPartSafeName: SpfxPackageGenerateCommand.getSafeWebPartName(args.options.webPartTitle),
58
+ webPartSafeName: _a.getSafeWebPartName(args.options.webPartTitle),
59
59
  webPartDescription: args.options.webPartDescription,
60
- webPartModule: SpfxPackageGenerateCommand.getSafePackageName(args.options.webPartTitle)
60
+ webPartModule: _a.getSafePackageName(args.options.webPartTitle)
61
61
  };
62
62
  let tmpDir = undefined;
63
63
  let error;
@@ -73,7 +73,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
73
73
  await logger.log('Copying files...');
74
74
  }
75
75
  const src = path.join(__dirname, 'package-generate', 'assets');
76
- fsUtil.copyRecursiveSync(src, tmpDir, s => SpfxPackageGenerateCommand.replaceTokens(s, tokens));
76
+ fsUtil.copyRecursiveSync(src, tmpDir, s => _a.replaceTokens(s, tokens));
77
77
  const files = fsUtil.readdirR(tmpDir);
78
78
  if (this.verbose) {
79
79
  await logger.log('Processing files...');
@@ -82,7 +82,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
82
82
  if (this.debug) {
83
83
  await logger.log(`Processing ${filePath}...`);
84
84
  }
85
- if (!SpfxPackageGenerateCommand.isBinaryFile(filePath)) {
85
+ if (!_a.isBinaryFile(filePath)) {
86
86
  if (this.verbose) {
87
87
  await logger.log('Replacing tokens...');
88
88
  }
@@ -91,7 +91,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
91
91
  await logger.log('Before:');
92
92
  await logger.log(fileContents);
93
93
  }
94
- fileContents = SpfxPackageGenerateCommand.replaceTokens(fileContents, tokens);
94
+ fileContents = _a.replaceTokens(fileContents, tokens);
95
95
  if (this.debug) {
96
96
  await logger.log('After:');
97
97
  await logger.log(fileContents);
@@ -170,7 +170,7 @@ class SpfxPackageGenerateCommand extends AnonymousCommand {
170
170
  return 'AutoWP' + webPartName.replace(/[^a-zA-Z0-9]/g, '').substr(0, 40);
171
171
  }
172
172
  }
173
- _SpfxPackageGenerateCommand_instances = new WeakSet(), _SpfxPackageGenerateCommand_initTelemetry = function _SpfxPackageGenerateCommand_initTelemetry() {
173
+ _a = SpfxPackageGenerateCommand, _SpfxPackageGenerateCommand_instances = new WeakSet(), _SpfxPackageGenerateCommand_initTelemetry = function _SpfxPackageGenerateCommand_initTelemetry() {
174
174
  this.telemetry.push((args) => {
175
175
  Object.assign(this.telemetryProperties, {
176
176
  allowTenantWideDeployment: args.options.allowTenantWideDeployment === true,
@@ -187,13 +187,13 @@ _SpfxPackageGenerateCommand_instances = new WeakSet(), _SpfxPackageGenerateComma
187
187
  }, _SpfxPackageGenerateCommand_initOptions = function _SpfxPackageGenerateCommand_initOptions() {
188
188
  this.options.unshift({ option: '-t, --webPartTitle <webPartTitle>' }, { option: '-d, --webPartDescription <webPartDescription>' }, { option: '-n, --name <name>' }, { option: '--html <html>' }, {
189
189
  option: '--enableForTeams [enableForTeams]',
190
- autocomplete: SpfxPackageGenerateCommand.enableForTeamsOptions
190
+ autocomplete: _a.enableForTeamsOptions
191
191
  }, { option: '--exposePageContextGlobally' }, { option: '--exposeTeamsContextGlobally' }, { option: '--allowTenantWideDeployment' }, { option: '--developerName [developerName]' }, { option: '--developerPrivacyUrl [developerPrivacyUrl]' }, { option: '--developerTermsOfUseUrl [developerTermsOfUseUrl]' }, { option: '--developerWebsiteUrl [developerWebsiteUrl]' }, { option: '--developerMpnId [developerMpnId]' });
192
192
  }, _SpfxPackageGenerateCommand_initValidators = function _SpfxPackageGenerateCommand_initValidators() {
193
193
  this.validators.push(async (args) => {
194
194
  if (args.options.enableForTeams &&
195
- SpfxPackageGenerateCommand.enableForTeamsOptions.indexOf(args.options.enableForTeams) < 0) {
196
- return `${args.options.enableForTeams} is not a valid value for enableForTeams. Allowed values are: ${SpfxPackageGenerateCommand.enableForTeamsOptions.join(', ')}`;
195
+ _a.enableForTeamsOptions.indexOf(args.options.enableForTeams) < 0) {
196
+ return `${args.options.enableForTeams} is not a valid value for enableForTeams. Allowed values are: ${_a.enableForTeamsOptions.join(', ')}`;
197
197
  }
198
198
  return true;
199
199
  });
@@ -0,0 +1,55 @@
1
+ export const workflow = {
2
+ name: "Deploy Solution {{ name }}",
3
+ on: {
4
+ push: {
5
+ branches: [
6
+ "main"
7
+ ]
8
+ }
9
+ },
10
+ jobs: {
11
+ "build-and-deploy": {
12
+ "runs-on": "ubuntu-latest",
13
+ steps: [
14
+ {
15
+ name: "Checkout",
16
+ uses: "actions/checkout@v3.5.3"
17
+ },
18
+ {
19
+ name: "Use Node.js 16.x",
20
+ uses: "actions/setup-node@v3.7.0",
21
+ with: {
22
+ "node-version": "16.x"
23
+ }
24
+ },
25
+ {
26
+ name: "Run npm ci",
27
+ run: "npm ci"
28
+ },
29
+ {
30
+ name: "Bundle & Package",
31
+ run: "gulp bundle --ship\ngulp package-solution --ship\n"
32
+ },
33
+ {
34
+ name: "CLI for Microsoft 365 Login",
35
+ uses: "pnp/action-cli-login@v2.2.2",
36
+ with: {
37
+ "CERTIFICATE_ENCODED": "${{ secrets.CERTIFICATE_ENCODED }}",
38
+ "CERTIFICATE_PASSWORD": "${{ secrets.CERTIFICATE_PASSWORD }}",
39
+ "APP_ID": "${{ secrets.APP_ID }}"
40
+ }
41
+ },
42
+ {
43
+ name: "CLI for Microsoft 365 Deploy App",
44
+ uses: "pnp/action-cli-deploy@v3.0.1",
45
+ with: {
46
+ "APP_FILE_PATH": "sharepoint/solution/{{ solutionName }}.sppkg",
47
+ "SKIP_FEATURE_DEPLOYMENT": false,
48
+ "OVERWRITE": false
49
+ }
50
+ }
51
+ ]
52
+ }
53
+ }
54
+ };
55
+ //# sourceMappingURL=DeployWorkflow.js.map
@@ -16,6 +16,6 @@ export default [
16
16
  new FN002013_DEVDEP_types_webpack_env('~1.15.2'),
17
17
  new FN002015_DEVDEP_types_react('17'),
18
18
  new FN002016_DEVDEP_types_react_dom('17'),
19
- new FN002019_DEVDEP_microsoft_rush_stack_compiler(['4.5'])
19
+ new FN002019_DEVDEP_microsoft_rush_stack_compiler(['4.7'])
20
20
  ];
21
- //# sourceMappingURL=doctor-1.18.0-beta.5.js.map
21
+ //# sourceMappingURL=doctor-1.18.0-rc.1.js.map
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpfxProjectDoctorCommand_instances, _SpfxProjectDoctorCommand_initTelemetry, _SpfxProjectDoctorCommand_initOptions, _SpfxProjectDoctorCommand_initValidators;
6
+ var _SpfxProjectDoctorCommand_instances, _a, _SpfxProjectDoctorCommand_initTelemetry, _SpfxProjectDoctorCommand_initOptions, _SpfxProjectDoctorCommand_initValidators;
7
7
  import fs from 'fs';
8
8
  import os from 'os';
9
9
  import path from 'path';
@@ -67,7 +67,7 @@ class SpfxProjectDoctorCommand extends BaseProjectCommand {
67
67
  '1.17.2',
68
68
  '1.17.3',
69
69
  '1.17.4',
70
- '1.18.0-beta.5'
70
+ '1.18.0-rc.1'
71
71
  ];
72
72
  __classPrivateFieldGet(this, _SpfxProjectDoctorCommand_instances, "m", _SpfxProjectDoctorCommand_initTelemetry).call(this);
73
73
  __classPrivateFieldGet(this, _SpfxProjectDoctorCommand_instances, "m", _SpfxProjectDoctorCommand_initOptions).call(this);
@@ -76,7 +76,7 @@ class SpfxProjectDoctorCommand extends BaseProjectCommand {
76
76
  async commandAction(logger, args) {
77
77
  this.projectRootPath = this.getProjectRoot(process.cwd());
78
78
  if (this.projectRootPath === null) {
79
- throw new CommandError(`Couldn't find project root folder`, SpfxProjectDoctorCommand.ERROR_NO_PROJECT_ROOT_FOLDER);
79
+ throw new CommandError(`Couldn't find project root folder`, _a.ERROR_NO_PROJECT_ROOT_FOLDER);
80
80
  }
81
81
  this.packageManager = args.options.packageManager || 'npm';
82
82
  if (this.verbose) {
@@ -89,10 +89,10 @@ class SpfxProjectDoctorCommand extends BaseProjectCommand {
89
89
  }
90
90
  project.version = this.getProjectVersion();
91
91
  if (!project.version) {
92
- throw new CommandError(`Unable to determine the version of the current SharePoint Framework project`, SpfxProjectDoctorCommand.ERROR_NO_VERSION);
92
+ throw new CommandError(`Unable to determine the version of the current SharePoint Framework project`, _a.ERROR_NO_VERSION);
93
93
  }
94
94
  if (!this.supportedVersions.includes(project.version)) {
95
- throw new CommandError(`CLI for Microsoft 365 doesn't support validating projects built using SharePoint Framework v${project.version}`, SpfxProjectDoctorCommand.ERROR_UNSUPPORTED_VERSION);
95
+ throw new CommandError(`CLI for Microsoft 365 doesn't support validating projects built using SharePoint Framework v${project.version}`, _a.ERROR_UNSUPPORTED_VERSION);
96
96
  }
97
97
  if (this.verbose) {
98
98
  await logger.logToStderr(`Project built using SPFx v${project.version}`);
@@ -327,7 +327,7 @@ ${f.resolution}
327
327
  };
328
328
  }
329
329
  }
330
- _SpfxProjectDoctorCommand_instances = new WeakSet(), _SpfxProjectDoctorCommand_initTelemetry = function _SpfxProjectDoctorCommand_initTelemetry() {
330
+ _a = SpfxProjectDoctorCommand, _SpfxProjectDoctorCommand_instances = new WeakSet(), _SpfxProjectDoctorCommand_initTelemetry = function _SpfxProjectDoctorCommand_initTelemetry() {
331
331
  this.telemetry.push((args) => {
332
332
  Object.assign(this.telemetryProperties, {
333
333
  packageManager: args.options.packageManager || 'npm'
@@ -341,13 +341,13 @@ _SpfxProjectDoctorCommand_instances = new WeakSet(), _SpfxProjectDoctorCommand_i
341
341
  });
342
342
  this.options.unshift({
343
343
  option: '--packageManager [packageManager]',
344
- autocomplete: SpfxProjectDoctorCommand.packageManagers
344
+ autocomplete: _a.packageManagers
345
345
  });
346
346
  }, _SpfxProjectDoctorCommand_initValidators = function _SpfxProjectDoctorCommand_initValidators() {
347
347
  this.validators.push(async (args) => {
348
348
  if (args.options.packageManager) {
349
- if (SpfxProjectDoctorCommand.packageManagers.indexOf(args.options.packageManager) < 0) {
350
- return `${args.options.packageManager} is not a supported package manager. Supported package managers are ${SpfxProjectDoctorCommand.packageManagers.join(', ')}`;
349
+ if (_a.packageManagers.indexOf(args.options.packageManager) < 0) {
350
+ return `${args.options.packageManager} is not a supported package manager. Supported package managers are ${_a.packageManagers.join(', ')}`;
351
351
  }
352
352
  }
353
353
  return true;
@@ -0,0 +1,157 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _SpfxProjectGithubWorkflowAddCommand_instances, _a, _SpfxProjectGithubWorkflowAddCommand_initTelemetry, _SpfxProjectGithubWorkflowAddCommand_initOptions, _SpfxProjectGithubWorkflowAddCommand_initValidators;
7
+ import fs from 'fs';
8
+ import path from 'path';
9
+ import yaml from 'yaml';
10
+ import { CommandError } from '../../../../Command.js';
11
+ import { fsUtil } from '../../../../utils/fsUtil.js';
12
+ import { validation } from '../../../../utils/validation.js';
13
+ import commands from '../../commands.js';
14
+ import { workflow } from './DeployWorkflow.js';
15
+ import { BaseProjectCommand } from './base-project-command.js';
16
+ class SpfxProjectGithubWorkflowAddCommand extends BaseProjectCommand {
17
+ get name() {
18
+ return commands.PROJECT_GITHUB_WORKFLOW_ADD;
19
+ }
20
+ get description() {
21
+ return 'Adds a GitHub workflow for a SharePoint Framework project.';
22
+ }
23
+ constructor() {
24
+ super();
25
+ _SpfxProjectGithubWorkflowAddCommand_instances.add(this);
26
+ __classPrivateFieldGet(this, _SpfxProjectGithubWorkflowAddCommand_instances, "m", _SpfxProjectGithubWorkflowAddCommand_initTelemetry).call(this);
27
+ __classPrivateFieldGet(this, _SpfxProjectGithubWorkflowAddCommand_instances, "m", _SpfxProjectGithubWorkflowAddCommand_initOptions).call(this);
28
+ __classPrivateFieldGet(this, _SpfxProjectGithubWorkflowAddCommand_instances, "m", _SpfxProjectGithubWorkflowAddCommand_initValidators).call(this);
29
+ }
30
+ async commandAction(logger, args) {
31
+ this.projectRootPath = this.getProjectRoot(process.cwd());
32
+ if (this.projectRootPath === null) {
33
+ throw new CommandError(`Couldn't find project root folder`, _a.ERROR_NO_PROJECT_ROOT_FOLDER);
34
+ }
35
+ const solutionPackageJsonFile = path.join(this.projectRootPath, 'package.json');
36
+ const packageJson = fs.readFileSync(solutionPackageJsonFile, 'utf-8');
37
+ const solutionName = JSON.parse(packageJson).name;
38
+ if (this.debug) {
39
+ logger.logToStderr(`Adding GitHub workflow in the current SPFx project`);
40
+ }
41
+ try {
42
+ this.updateWorkflow(solutionName, workflow, args.options);
43
+ this.saveWorkflow(workflow);
44
+ }
45
+ catch (error) {
46
+ throw new CommandError(error);
47
+ }
48
+ }
49
+ saveWorkflow(workflow) {
50
+ const githubPath = path.join(this.projectRootPath, '.github');
51
+ fsUtil.ensureDirectory(githubPath);
52
+ const workflowPath = path.join(githubPath, 'workflows');
53
+ fsUtil.ensureDirectory(workflowPath);
54
+ const workflowFile = path.join(workflowPath, 'deploy-spfx-solution.yml');
55
+ fs.writeFileSync(path.resolve(workflowFile), yaml.stringify(workflow), 'utf-8');
56
+ }
57
+ updateWorkflow(solutionName, workflow, options) {
58
+ workflow.name = workflow.name.replace('{{ name }}', options.name ?? solutionName);
59
+ if (options.branchName) {
60
+ workflow.on.push.branches[0] = options.branchName;
61
+ }
62
+ if (options.manuallyTrigger) {
63
+ // eslint-disable-next-line camelcase
64
+ workflow.on.workflow_dispatch = null;
65
+ }
66
+ if (options.skipFeatureDeployment) {
67
+ this.getDeployAction(workflow).with.SKIP_FEATURE_DEPLOYMENT = true;
68
+ }
69
+ if (options.overwrite) {
70
+ this.getDeployAction(workflow).with.OVERWRITE = true;
71
+ }
72
+ if (options.loginMethod === 'user') {
73
+ const loginAction = this.getLoginAction(workflow);
74
+ loginAction.with = {
75
+ ADMIN_USERNAME: '${{ secrets.ADMIN_USERNAME }}',
76
+ ADMIN_PASSWORD: '${{ secrets.ADMIN_PASSWORD }}'
77
+ };
78
+ }
79
+ if (options.scope === 'sitecollection') {
80
+ const deployAction = this.getDeployAction(workflow);
81
+ deployAction.with.SCOPE = 'sitecollection';
82
+ deployAction.with.SITE_COLLECTION_URL = options.siteUrl;
83
+ }
84
+ if (solutionName) {
85
+ const deployAction = this.getDeployAction(workflow);
86
+ deployAction.with.APP_FILE_PATH = deployAction.with.APP_FILE_PATH.replace('{{ solutionName }}', solutionName);
87
+ }
88
+ }
89
+ getLoginAction(workflow) {
90
+ const steps = this.getWorkFlowSteps(workflow);
91
+ return steps.find(step => step.uses && step.uses.indexOf('action-cli-login') >= 0);
92
+ }
93
+ getDeployAction(workflow) {
94
+ const steps = this.getWorkFlowSteps(workflow);
95
+ return steps.find(step => step.uses && step.uses.indexOf('action-cli-deploy') >= 0);
96
+ }
97
+ getWorkFlowSteps(workflow) {
98
+ return workflow.jobs['build-and-deploy'].steps;
99
+ }
100
+ }
101
+ _a = SpfxProjectGithubWorkflowAddCommand, _SpfxProjectGithubWorkflowAddCommand_instances = new WeakSet(), _SpfxProjectGithubWorkflowAddCommand_initTelemetry = function _SpfxProjectGithubWorkflowAddCommand_initTelemetry() {
102
+ this.telemetry.push((args) => {
103
+ Object.assign(this.telemetryProperties, {
104
+ name: typeof args.options.name !== 'undefined',
105
+ branchName: typeof args.options.branchName !== 'undefined',
106
+ manuallyTrigger: !!args.options.manuallyTrigger,
107
+ loginMethod: typeof args.options.loginMethod !== 'undefined',
108
+ scope: typeof args.options.scope !== 'undefined',
109
+ skipFeatureDeployment: !!args.options.skipFeatureDeployment,
110
+ overwrite: !!args.options.overwrite
111
+ });
112
+ });
113
+ }, _SpfxProjectGithubWorkflowAddCommand_initOptions = function _SpfxProjectGithubWorkflowAddCommand_initOptions() {
114
+ this.options.unshift({
115
+ option: '-n, --name [name]'
116
+ }, {
117
+ option: '-b, --branchName [branchName]'
118
+ }, {
119
+ option: '-m, --manuallyTrigger'
120
+ }, {
121
+ option: '-l, --loginMethod [loginMethod]',
122
+ autocomplete: _a.loginMethod
123
+ }, {
124
+ option: '-s, --scope [scope]',
125
+ autocomplete: _a.scope
126
+ }, {
127
+ option: '-u, --siteUrl [siteUrl]'
128
+ }, {
129
+ option: '--skipFeatureDeployment'
130
+ }, {
131
+ option: '--overwrite'
132
+ });
133
+ }, _SpfxProjectGithubWorkflowAddCommand_initValidators = function _SpfxProjectGithubWorkflowAddCommand_initValidators() {
134
+ this.validators.push(async (args) => {
135
+ if (args.options.scope && args.options.scope === 'sitecollection') {
136
+ if (!args.options.siteUrl) {
137
+ return `siteUrl option has to be defined when scope set to ${args.options.scope}`;
138
+ }
139
+ const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.siteUrl);
140
+ if (isValidSharePointUrl !== true) {
141
+ return isValidSharePointUrl;
142
+ }
143
+ }
144
+ if (args.options.loginMethod && _a.loginMethod.indexOf(args.options.loginMethod) < 0) {
145
+ return `${args.options.loginMethod} is not a valid login method. Allowed values are ${_a.loginMethod.join(', ')}`;
146
+ }
147
+ if (args.options.scope && _a.scope.indexOf(args.options.scope) < 0) {
148
+ return `${args.options.scope} is not a valid scope. Allowed values are ${_a.scope.join(', ')}`;
149
+ }
150
+ return true;
151
+ });
152
+ };
153
+ SpfxProjectGithubWorkflowAddCommand.loginMethod = ['application', 'user'];
154
+ SpfxProjectGithubWorkflowAddCommand.scope = ['tenant', 'sitecollection'];
155
+ SpfxProjectGithubWorkflowAddCommand.ERROR_NO_PROJECT_ROOT_FOLDER = 1;
156
+ export default new SpfxProjectGithubWorkflowAddCommand();
157
+ //# sourceMappingURL=project-github-workflow-add.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=project-github-workflow-model.js.map
@@ -0,0 +1,13 @@
1
+ import { DependencyRule } from "./DependencyRule.js";
2
+ export class FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7 extends DependencyRule {
3
+ constructor(packageVersion) {
4
+ super('@microsoft/rush-stack-compiler-4.7', packageVersion, true);
5
+ }
6
+ get id() {
7
+ return 'FN002028';
8
+ }
9
+ get supersedes() {
10
+ return ['FN002010', 'FN002011', 'FN002012', 'FN002017', 'FN002018', 'FN002020'];
11
+ }
12
+ }
13
+ //# sourceMappingURL=FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7.js.map
@@ -24,36 +24,44 @@ import { FN002001_DEVDEP_microsoft_sp_build_web } from './rules/FN002001_DEVDEP_
24
24
  import { FN002002_DEVDEP_microsoft_sp_module_interfaces } from './rules/FN002002_DEVDEP_microsoft_sp_module_interfaces.js';
25
25
  import { FN002022_DEVDEP_microsoft_eslint_plugin_spfx } from './rules/FN002022_DEVDEP_microsoft_eslint_plugin_spfx.js';
26
26
  import { FN002023_DEVDEP_microsoft_eslint_config_spfx } from './rules/FN002023_DEVDEP_microsoft_eslint_config_spfx.js';
27
+ import { FN002026_DEVDEP_typescript } from './rules/FN002026_DEVDEP_typescript.js';
28
+ import { FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7 } from './rules/FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7.js';
27
29
  import { FN010001_YORC_version } from './rules/FN010001_YORC_version.js';
28
30
  import { FN010010_YORC_sdkVersions_teams_js } from './rules/FN010010_YORC_sdkVersions_teams_js.js';
31
+ import { FN012017_TSC_extends } from './rules/FN012017_TSC_extends.js';
32
+ import { FN021003_PKG_engines_node } from './rules/FN021003_PKG_engines_node.js';
29
33
  export default [
30
- new FN001001_DEP_microsoft_sp_core_library('1.18.0-beta.5'),
31
- new FN001002_DEP_microsoft_sp_lodash_subset('1.18.0-beta.5'),
32
- new FN001003_DEP_microsoft_sp_office_ui_fabric_core('1.18.0-beta.5'),
33
- new FN001004_DEP_microsoft_sp_webpart_base('1.18.0-beta.5'),
34
- new FN001011_DEP_microsoft_sp_dialog('1.18.0-beta.5'),
35
- new FN001012_DEP_microsoft_sp_application_base('1.18.0-beta.5'),
36
- new FN001014_DEP_microsoft_sp_listview_extensibility('1.18.0-beta.5'),
37
- new FN001021_DEP_microsoft_sp_property_pane('1.18.0-beta.5'),
34
+ new FN001001_DEP_microsoft_sp_core_library('1.18.0-rc.1'),
35
+ new FN001002_DEP_microsoft_sp_lodash_subset('1.18.0-rc.1'),
36
+ new FN001003_DEP_microsoft_sp_office_ui_fabric_core('1.18.0-rc.1'),
37
+ new FN001004_DEP_microsoft_sp_webpart_base('1.18.0-rc.1'),
38
+ new FN001011_DEP_microsoft_sp_dialog('1.18.0-rc.1'),
39
+ new FN001012_DEP_microsoft_sp_application_base('1.18.0-rc.1'),
40
+ new FN001014_DEP_microsoft_sp_listview_extensibility('1.18.0-rc.1'),
41
+ new FN001021_DEP_microsoft_sp_property_pane('1.18.0-rc.1'),
38
42
  new FN001022_DEP_office_ui_fabric_react('', false),
39
- new FN001023_DEP_microsoft_sp_component_base('1.18.0-beta.5'),
40
- new FN001024_DEP_microsoft_sp_diagnostics('1.18.0-beta.5'),
41
- new FN001025_DEP_microsoft_sp_dynamic_data('1.18.0-beta.5'),
42
- new FN001026_DEP_microsoft_sp_extension_base('1.18.0-beta.5'),
43
- new FN001027_DEP_microsoft_sp_http('1.18.0-beta.5'),
44
- new FN001028_DEP_microsoft_sp_list_subscription('1.18.0-beta.5'),
45
- new FN001029_DEP_microsoft_sp_loader('1.18.0-beta.5'),
46
- new FN001030_DEP_microsoft_sp_module_interfaces('1.18.0-beta.5'),
47
- new FN001031_DEP_microsoft_sp_odata_types('1.18.0-beta.5'),
48
- new FN001032_DEP_microsoft_sp_page_context('1.18.0-beta.5'),
43
+ new FN001023_DEP_microsoft_sp_component_base('1.18.0-rc.1'),
44
+ new FN001024_DEP_microsoft_sp_diagnostics('1.18.0-rc.1'),
45
+ new FN001025_DEP_microsoft_sp_dynamic_data('1.18.0-rc.1'),
46
+ new FN001026_DEP_microsoft_sp_extension_base('1.18.0-rc.1'),
47
+ new FN001027_DEP_microsoft_sp_http('1.18.0-rc.1'),
48
+ new FN001028_DEP_microsoft_sp_list_subscription('1.18.0-rc.1'),
49
+ new FN001029_DEP_microsoft_sp_loader('1.18.0-rc.1'),
50
+ new FN001030_DEP_microsoft_sp_module_interfaces('1.18.0-rc.1'),
51
+ new FN001031_DEP_microsoft_sp_odata_types('1.18.0-rc.1'),
52
+ new FN001032_DEP_microsoft_sp_page_context('1.18.0-rc.1'),
49
53
  new FN001035_DEP_fluentui_react('8.106.4'),
50
- new FN001013_DEP_microsoft_decorators('1.18.0-beta.5'),
51
- new FN001034_DEP_microsoft_sp_adaptive_card_extension_base('1.18.0-beta.5'),
52
- new FN002022_DEVDEP_microsoft_eslint_plugin_spfx('1.18.0-beta.5'),
53
- new FN002023_DEVDEP_microsoft_eslint_config_spfx('1.18.0-beta.5'),
54
- new FN002001_DEVDEP_microsoft_sp_build_web('1.18.0-beta.5'),
55
- new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.18.0-beta.5'),
56
- new FN010001_YORC_version('1.18.0-beta.5'),
57
- new FN010010_YORC_sdkVersions_teams_js('2.12.0')
54
+ new FN001013_DEP_microsoft_decorators('1.18.0-rc.1'),
55
+ new FN001034_DEP_microsoft_sp_adaptive_card_extension_base('1.18.0-rc.1'),
56
+ new FN002001_DEVDEP_microsoft_sp_build_web('1.18.0-rc.1'),
57
+ new FN002002_DEVDEP_microsoft_sp_module_interfaces('1.18.0-rc.1'),
58
+ new FN002022_DEVDEP_microsoft_eslint_plugin_spfx('1.18.0-rc.1'),
59
+ new FN002023_DEVDEP_microsoft_eslint_config_spfx('1.18.0-rc.1'),
60
+ new FN002026_DEVDEP_typescript('4.7.4'),
61
+ new FN002028_DEVDEP_microsoft_rush_stack_compiler_4_7('0.1.0'),
62
+ new FN010001_YORC_version('1.18.0-rc.1'),
63
+ new FN010010_YORC_sdkVersions_teams_js('2.12.0'),
64
+ new FN012017_TSC_extends('./node_modules/@microsoft/rush-stack-compiler-4.7/includes/tsconfig-web.json'),
65
+ new FN021003_PKG_engines_node('>=16.13.0 <17.0.0 || >=18.17.1 <19.0.0')
58
66
  ];
59
- //# sourceMappingURL=upgrade-1.18.0-beta.5.js.map
67
+ //# sourceMappingURL=upgrade-1.18.0-rc.1.js.map
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpfxProjectUpgradeCommand_instances, _SpfxProjectUpgradeCommand_initTelemetry, _SpfxProjectUpgradeCommand_initOptions, _SpfxProjectUpgradeCommand_initValidators;
6
+ var _SpfxProjectUpgradeCommand_instances, _a, _SpfxProjectUpgradeCommand_initTelemetry, _SpfxProjectUpgradeCommand_initOptions, _SpfxProjectUpgradeCommand_initValidators;
7
7
  import fs from 'fs';
8
8
  import os from 'os';
9
9
  import path from 'path';
@@ -71,7 +71,7 @@ class SpfxProjectUpgradeCommand extends BaseProjectCommand {
71
71
  '1.17.2',
72
72
  '1.17.3',
73
73
  '1.17.4',
74
- '1.18.0-beta.5'
74
+ '1.18.0-rc.1'
75
75
  ];
76
76
  __classPrivateFieldGet(this, _SpfxProjectUpgradeCommand_instances, "m", _SpfxProjectUpgradeCommand_initTelemetry).call(this);
77
77
  __classPrivateFieldGet(this, _SpfxProjectUpgradeCommand_instances, "m", _SpfxProjectUpgradeCommand_initOptions).call(this);
@@ -80,7 +80,7 @@ class SpfxProjectUpgradeCommand extends BaseProjectCommand {
80
80
  async commandAction(logger, args) {
81
81
  this.projectRootPath = this.getProjectRoot(process.cwd());
82
82
  if (this.projectRootPath === null) {
83
- throw new CommandError(`Couldn't find project root folder`, SpfxProjectUpgradeCommand.ERROR_NO_PROJECT_ROOT_FOLDER);
83
+ throw new CommandError(`Couldn't find project root folder`, _a.ERROR_NO_PROJECT_ROOT_FOLDER);
84
84
  }
85
85
  this.toVersion = args.options.toVersion ? args.options.toVersion : this.supportedVersions[this.supportedVersions.length - 1];
86
86
  // uncomment to support upgrading to preview releases
@@ -96,19 +96,19 @@ class SpfxProjectUpgradeCommand extends BaseProjectCommand {
96
96
  this.packageManager = args.options.packageManager || 'npm';
97
97
  this.shell = args.options.shell || 'bash';
98
98
  if (this.supportedVersions.indexOf(this.toVersion) < 0) {
99
- throw new CommandError(`CLI for Microsoft 365 doesn't support upgrading SharePoint Framework projects to version ${this.toVersion}. Supported versions are ${this.supportedVersions.join(', ')}`, SpfxProjectUpgradeCommand.ERROR_UNSUPPORTED_TO_VERSION);
99
+ throw new CommandError(`CLI for Microsoft 365 doesn't support upgrading SharePoint Framework projects to version ${this.toVersion}. Supported versions are ${this.supportedVersions.join(', ')}`, _a.ERROR_UNSUPPORTED_TO_VERSION);
100
100
  }
101
101
  this.projectVersion = this.getProjectVersion();
102
102
  if (!this.projectVersion) {
103
- throw new CommandError(`Unable to determine the version of the current SharePoint Framework project`, SpfxProjectUpgradeCommand.ERROR_NO_VERSION);
103
+ throw new CommandError(`Unable to determine the version of the current SharePoint Framework project`, _a.ERROR_NO_VERSION);
104
104
  }
105
105
  const pos = this.supportedVersions.indexOf(this.projectVersion);
106
106
  if (pos < 0) {
107
- throw new CommandError(`CLI for Microsoft 365 doesn't support upgrading projects built using SharePoint Framework v${this.projectVersion}`, SpfxProjectUpgradeCommand.ERROR_UNSUPPORTED_FROM_VERSION);
107
+ throw new CommandError(`CLI for Microsoft 365 doesn't support upgrading projects built using SharePoint Framework v${this.projectVersion}`, _a.ERROR_UNSUPPORTED_FROM_VERSION);
108
108
  }
109
109
  const posTo = this.supportedVersions.indexOf(this.toVersion);
110
110
  if (pos > posTo) {
111
- throw new CommandError('You cannot downgrade a project', SpfxProjectUpgradeCommand.ERROR_NO_DOWNGRADE);
111
+ throw new CommandError('You cannot downgrade a project', _a.ERROR_NO_DOWNGRADE);
112
112
  }
113
113
  if (pos === posTo) {
114
114
  await logger.log(`Project doesn't need to be upgraded`);
@@ -470,7 +470,7 @@ ${f.resolution}
470
470
  };
471
471
  }
472
472
  }
473
- _SpfxProjectUpgradeCommand_instances = new WeakSet(), _SpfxProjectUpgradeCommand_initTelemetry = function _SpfxProjectUpgradeCommand_initTelemetry() {
473
+ _a = SpfxProjectUpgradeCommand, _SpfxProjectUpgradeCommand_instances = new WeakSet(), _SpfxProjectUpgradeCommand_initTelemetry = function _SpfxProjectUpgradeCommand_initTelemetry() {
474
474
  this.telemetry.push((args) => {
475
475
  Object.assign(this.telemetryProperties, {
476
476
  toVersion: args.options.toVersion || this.supportedVersions[this.supportedVersions.length - 1],
@@ -488,10 +488,10 @@ _SpfxProjectUpgradeCommand_instances = new WeakSet(), _SpfxProjectUpgradeCommand
488
488
  option: '-v, --toVersion [toVersion]'
489
489
  }, {
490
490
  option: '--packageManager [packageManager]',
491
- autocomplete: SpfxProjectUpgradeCommand.packageManagers
491
+ autocomplete: _a.packageManagers
492
492
  }, {
493
493
  option: '--shell [shell]',
494
- autocomplete: SpfxProjectUpgradeCommand.shells
494
+ autocomplete: _a.shells
495
495
  }, {
496
496
  option: '--preview'
497
497
  });
@@ -503,13 +503,13 @@ _SpfxProjectUpgradeCommand_instances = new WeakSet(), _SpfxProjectUpgradeCommand
503
503
  }, _SpfxProjectUpgradeCommand_initValidators = function _SpfxProjectUpgradeCommand_initValidators() {
504
504
  this.validators.push(async (args) => {
505
505
  if (args.options.packageManager) {
506
- if (SpfxProjectUpgradeCommand.packageManagers.indexOf(args.options.packageManager) < 0) {
507
- return `${args.options.packageManager} is not a supported package manager. Supported package managers are ${SpfxProjectUpgradeCommand.packageManagers.join(', ')}`;
506
+ if (_a.packageManagers.indexOf(args.options.packageManager) < 0) {
507
+ return `${args.options.packageManager} is not a supported package manager. Supported package managers are ${_a.packageManagers.join(', ')}`;
508
508
  }
509
509
  }
510
510
  if (args.options.shell) {
511
- if (SpfxProjectUpgradeCommand.shells.indexOf(args.options.shell) < 0) {
512
- return `${args.options.shell} is not a supported shell. Supported shells are ${SpfxProjectUpgradeCommand.shells.join(', ')}`;
511
+ if (_a.shells.indexOf(args.options.shell) < 0) {
512
+ return `${args.options.shell} is not a supported shell. Supported shells are ${_a.shells.join(', ')}`;
513
513
  }
514
514
  }
515
515
  return true;
@@ -524,14 +524,14 @@ class SpfxDoctorCommand extends BaseProjectCommand {
524
524
  fix: 'npm i -g yo@4'
525
525
  }
526
526
  },
527
- '1.18.0-beta.5': {
527
+ '1.18.0-rc.1': {
528
528
  gulpCli: {
529
529
  range: '^1 || ^2',
530
530
  fix: 'npm i -g gulp-cli@2'
531
531
  },
532
532
  node: {
533
- range: '>=16.14.0 <17.0.0',
534
- fix: 'Install Node.js >=16.14.0 <17.0.0'
533
+ range: '>=16.13.0 <17.0.0 || >=18.17.1 <19.0.0',
534
+ fix: 'Install Node.js >=16.13.0 <17.0.0 || >=18.17.1 <19.0.0'
535
535
  },
536
536
  sp: SharePointVersion.SPO,
537
537
  yo: {
@@ -4,6 +4,7 @@ export default {
4
4
  PACKAGE_GENERATE: `${prefix} package generate`,
5
5
  PROJECT_DOCTOR: `${prefix} project doctor`,
6
6
  PROJECT_EXTERNALIZE: `${prefix} project externalize`,
7
+ PROJECT_GITHUB_WORKFLOW_ADD: `${prefix} project github workflow add`,
7
8
  PROJECT_PERMISSIONS_GRANT: `${prefix} project permissions grant`,
8
9
  PROJECT_RENAME: `${prefix} project rename`,
9
10
  PROJECT_UPGRADE: `${prefix} project upgrade`
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpoApplicationCustomizerAddCommand_instances, _SpoApplicationCustomizerAddCommand_initOptions, _SpoApplicationCustomizerAddCommand_initTelemetry, _SpoApplicationCustomizerAddCommand_initValidators;
6
+ var _SpoApplicationCustomizerAddCommand_instances, _a, _SpoApplicationCustomizerAddCommand_initOptions, _SpoApplicationCustomizerAddCommand_initTelemetry, _SpoApplicationCustomizerAddCommand_initValidators;
7
7
  import request from '../../../../request.js';
8
8
  import { validation } from '../../../../utils/validation.js';
9
9
  import SpoCommand from '../../../base/SpoCommand.js';
@@ -47,7 +47,7 @@ class SpoApplicationCustomizerAddCommand extends SpoCommand {
47
47
  await request.post(requestOptions);
48
48
  }
49
49
  }
50
- _SpoApplicationCustomizerAddCommand_instances = new WeakSet(), _SpoApplicationCustomizerAddCommand_initOptions = function _SpoApplicationCustomizerAddCommand_initOptions() {
50
+ _a = SpoApplicationCustomizerAddCommand, _SpoApplicationCustomizerAddCommand_instances = new WeakSet(), _SpoApplicationCustomizerAddCommand_initOptions = function _SpoApplicationCustomizerAddCommand_initOptions() {
51
51
  this.options.unshift({
52
52
  option: '-t, --title <title>'
53
53
  }, {
@@ -57,7 +57,7 @@ _SpoApplicationCustomizerAddCommand_instances = new WeakSet(), _SpoApplicationCu
57
57
  }, {
58
58
  option: '--clientSideComponentProperties [clientSideComponentProperties]'
59
59
  }, {
60
- option: '-s, --scope [scope]', autocomplete: SpoApplicationCustomizerAddCommand.scopes
60
+ option: '-s, --scope [scope]', autocomplete: _a.scopes
61
61
  });
62
62
  }, _SpoApplicationCustomizerAddCommand_initTelemetry = function _SpoApplicationCustomizerAddCommand_initTelemetry() {
63
63
  this.telemetry.push((args) => {
@@ -85,8 +85,8 @@ _SpoApplicationCustomizerAddCommand_instances = new WeakSet(), _SpoApplicationCu
85
85
  return `An error has occurred while parsing clientSideComponentProperties: ${e}`;
86
86
  }
87
87
  }
88
- if (args.options.scope && SpoApplicationCustomizerAddCommand.scopes.indexOf(args.options.scope) < 0) {
89
- return `${args.options.scope} is not a valid value for allowedMembers. Valid values are ${SpoApplicationCustomizerAddCommand.scopes.join(', ')}`;
88
+ if (args.options.scope && _a.scopes.indexOf(args.options.scope) < 0) {
89
+ return `${args.options.scope} is not a valid value for allowedMembers. Valid values are ${_a.scopes.join(', ')}`;
90
90
  }
91
91
  return true;
92
92
  });