@pnp/cli-microsoft365 7.0.0-beta.5fdb9e3 → 7.0.0-beta.607e42d

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 (129) hide show
  1. package/.eslintrc.cjs +0 -2
  2. package/dist/GlobalOptions.js +1 -7
  3. package/dist/m365/aad/commands/app/app-add.js +8 -8
  4. package/dist/m365/aad/commands/app/app-role-add.js +5 -5
  5. package/dist/m365/aad/commands/app/app-set.js +5 -5
  6. package/dist/m365/aad/commands/group/group-get.js +4 -4
  7. package/dist/m365/aad/commands/group/group-list.js +1 -23
  8. package/dist/m365/aad/commands/policy/policy-list.js +5 -5
  9. package/dist/m365/cli/commands/cli-issue.js +5 -5
  10. package/dist/m365/cli/commands/config/config-get.js +5 -5
  11. package/dist/m365/cli/commands/config/config-reset.js +5 -5
  12. package/dist/m365/cli/commands/config/config-set.js +5 -5
  13. package/dist/m365/commands/login.js +5 -5
  14. package/dist/m365/commands/request.js +1 -1
  15. package/dist/m365/flow/commands/owner/owner-ensure.js +5 -5
  16. package/dist/m365/pa/commands/app/app-export.js +7 -7
  17. package/dist/m365/pa/commands/app/app-owner-set.js +5 -5
  18. package/dist/m365/pa/commands/app/app-permission-ensure.js +5 -5
  19. package/dist/m365/pa/commands.js +1 -4
  20. package/dist/m365/planner/commands/task/task-add.js +17 -11
  21. package/dist/m365/planner/commands/task/task-get.js +35 -25
  22. package/dist/m365/planner/commands/task/task-list.js +26 -19
  23. package/dist/m365/planner/commands/task/task-remove.js +39 -34
  24. package/dist/m365/planner/commands/task/task-set.js +35 -23
  25. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +14 -14
  26. package/dist/m365/spfx/commands/package/package-generate.js +15 -15
  27. package/dist/m365/spfx/commands/project/DeployWorkflow.js +55 -0
  28. package/dist/m365/spfx/commands/project/project-doctor.js +8 -8
  29. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +157 -0
  30. package/dist/m365/spfx/commands/project/project-github-workflow-model.js +2 -0
  31. package/dist/m365/spfx/commands/project/project-upgrade.js +13 -13
  32. package/dist/m365/spfx/commands.js +1 -0
  33. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +5 -5
  34. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +5 -5
  35. package/dist/m365/spo/commands/commandset/commandset-add.js +11 -11
  36. package/dist/m365/spo/commands/commandset/commandset-get.js +8 -8
  37. package/dist/m365/spo/commands/commandset/commandset-list.js +5 -5
  38. package/dist/m365/spo/commands/commandset/commandset-remove.js +5 -5
  39. package/dist/m365/spo/commands/commandset/commandset-set.js +11 -11
  40. package/dist/m365/spo/commands/file/file-get.js +9 -6
  41. package/dist/m365/spo/commands/file/file-sharinglink-add.js +8 -8
  42. package/dist/m365/spo/commands/file/file-sharinglink-list.js +5 -5
  43. package/dist/m365/spo/commands/list/list-add.js +4 -4
  44. package/dist/m365/spo/commands/list/list-set.js +4 -4
  45. package/dist/m365/spo/commands/listitem/listitem-add.js +1 -0
  46. package/dist/m365/spo/commands/listitem/listitem-set.js +3 -2
  47. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +8 -8
  48. package/dist/m365/spo/commands/page/clientsidepages.js +1 -81
  49. package/dist/m365/spo/commands/page/page-get.js +1 -0
  50. package/dist/m365/spo/commands/page/page-list.js +4 -3
  51. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +30 -32
  52. package/dist/m365/spo/commands/site/site-add.js +114 -161
  53. package/dist/m365/spo/commands/site/site-apppermission-add.js +15 -18
  54. package/dist/m365/spo/commands/site/site-apppermission-remove.js +34 -38
  55. package/dist/m365/spo/commands/site/site-apppermission-set.js +11 -14
  56. package/dist/m365/spo/commands/site/site-ensure.js +13 -66
  57. package/dist/m365/spo/commands/site/site-list.js +9 -17
  58. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +6 -6
  59. package/dist/m365/spo/commands/site/site-remove.js +166 -210
  60. package/dist/m365/spo/commands/site/site-set.js +121 -153
  61. package/dist/m365/spo/commands/tenant/tenant-applicationcustomizer-list.js +3 -2
  62. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -8
  63. package/dist/m365/spo/commands/tenant/tenant-commandset-list.js +3 -2
  64. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +8 -8
  65. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -4
  66. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +3 -3
  67. package/dist/m365/spo/commands/web/web-set.js +5 -5
  68. package/dist/m365/teams/commands/app/app-list.js +5 -5
  69. package/dist/m365/teams/commands/chat/chat-member-add.js +5 -5
  70. package/dist/m365/teams/commands/funsettings/funsettings-set.js +4 -4
  71. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +4 -4
  72. package/dist/m365/teams/commands/membersettings/membersettings-set.js +4 -4
  73. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +5 -5
  74. package/dist/m365/teams/commands/team/team-set.js +3 -3
  75. package/dist/m365/todo/commands/task/task-add.js +6 -6
  76. package/dist/m365/yammer/commands/message/message-list.js +5 -5
  77. package/dist/m365/yammer/commands/yammer-search.js +5 -5
  78. package/dist/utils/aadGroup.js +18 -0
  79. package/dist/utils/fsUtil.js +5 -0
  80. package/dist/utils/spo.js +582 -0
  81. package/dist/utils/validation.js +0 -3
  82. package/docs/docs/cmd/aad/group/group-get.mdx +5 -5
  83. package/docs/docs/cmd/aad/group/group-list.mdx +0 -11
  84. package/docs/docs/cmd/pa/app/app-export.mdx +5 -5
  85. package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
  86. package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
  87. package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
  88. package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
  89. package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
  90. package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
  91. package/docs/docs/cmd/spo/listitem/listitem-add.mdx +2 -5
  92. package/docs/docs/cmd/spo/listitem/listitem-set.mdx +2 -5
  93. package/docs/docs/cmd/spo/page/page-get.mdx +0 -1
  94. package/docs/docs/cmd/spo/page/page-list.mdx +0 -1
  95. package/docs/docs/cmd/spo/site/site-list.mdx +3 -78
  96. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +2 -4
  97. package/docs/docs/cmd/spo/tenant/tenant-commandset-list.mdx +2 -4
  98. package/npm-shrinkwrap.json +239 -1416
  99. package/package.json +6 -12
  100. package/dist/m365/pa/cds-project-mutator.js +0 -91
  101. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/generated/ManifestTypes.d.ts +0 -11
  102. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_ControlManifest.Input.xml +0 -31
  103. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_index.ts +0 -51
  104. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/generated/ManifestTypes.d.ts +0 -12
  105. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_ControlManifest.Input.xml +0 -37
  106. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_index.ts +0 -48
  107. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/index.ts +0 -0
  108. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_ControlManifest.Input.xml +0 -31
  109. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_index.tsx +0 -58
  110. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_ControlManifest.Input.xml +0 -37
  111. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_index.tsx +0 -55
  112. package/dist/m365/pa/commands/pcf/pcf-init/assets/package.json +0 -19
  113. package/dist/m365/pa/commands/pcf/pcf-init/assets/pcfconfig.json +0 -3
  114. package/dist/m365/pa/commands/pcf/pcf-init/assets/template_.gitignore +0 -14
  115. package/dist/m365/pa/commands/pcf/pcf-init/assets/template_pcfprojecttype.pcfproj +0 -45
  116. package/dist/m365/pa/commands/pcf/pcf-init/pcf-init-variables.js +0 -2
  117. package/dist/m365/pa/commands/pcf/pcf-init.js +0 -120
  118. package/dist/m365/pa/commands/solution/solution-init/assets/Other/Customizations.xml +0 -18
  119. package/dist/m365/pa/commands/solution/solution-init/assets/Other/Relationships.xml +0 -2
  120. package/dist/m365/pa/commands/solution/solution-init/assets/Other/template_Solution.xml +0 -94
  121. package/dist/m365/pa/commands/solution/solution-init/assets/template_.gitignore +0 -2
  122. package/dist/m365/pa/commands/solution/solution-init/assets/template_solutionprojecttype.cdsproj +0 -44
  123. package/dist/m365/pa/commands/solution/solution-init/solution-init-variables.js +0 -2
  124. package/dist/m365/pa/commands/solution/solution-init.js +0 -126
  125. package/dist/m365/pa/commands/solution/solution-reference-add.js +0 -88
  126. package/dist/m365/pa/template-instantiator.js +0 -57
  127. package/docs/docs/cmd/pa/pcf/pcf-init.mdx +0 -56
  128. package/docs/docs/cmd/pa/solution/solution-init.mdx +0 -46
  129. package/docs/docs/cmd/pa/solution/solution-reference-add.mdx +0 -42
@@ -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
@@ -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';
@@ -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
@@ -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';
@@ -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;
@@ -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
  });
@@ -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 _SpoApplicationCustomizerListCommand_instances, _SpoApplicationCustomizerListCommand_initOptions, _SpoApplicationCustomizerListCommand_initTelemetry, _SpoApplicationCustomizerListCommand_initValidators;
6
+ var _SpoApplicationCustomizerListCommand_instances, _a, _SpoApplicationCustomizerListCommand_initOptions, _SpoApplicationCustomizerListCommand_initTelemetry, _SpoApplicationCustomizerListCommand_initValidators;
7
7
  import { spo } from '../../../../utils/spo.js';
8
8
  import { validation } from '../../../../utils/validation.js';
9
9
  import SpoCommand from '../../../base/SpoCommand.js';
@@ -33,12 +33,12 @@ class SpoApplicationCustomizerListCommand extends SpoCommand {
33
33
  await logger.log(applicationCustomizers);
34
34
  }
35
35
  }
36
- _SpoApplicationCustomizerListCommand_instances = new WeakSet(), _SpoApplicationCustomizerListCommand_initOptions = function _SpoApplicationCustomizerListCommand_initOptions() {
36
+ _a = SpoApplicationCustomizerListCommand, _SpoApplicationCustomizerListCommand_instances = new WeakSet(), _SpoApplicationCustomizerListCommand_initOptions = function _SpoApplicationCustomizerListCommand_initOptions() {
37
37
  this.options.unshift({
38
38
  option: '-u, --webUrl <webUrl>'
39
39
  }, {
40
40
  option: '-s, --scope [scope]',
41
- autocomplete: SpoApplicationCustomizerListCommand.scopes
41
+ autocomplete: _a.scopes
42
42
  });
43
43
  }, _SpoApplicationCustomizerListCommand_initTelemetry = function _SpoApplicationCustomizerListCommand_initTelemetry() {
44
44
  this.telemetry.push((args) => {
@@ -48,8 +48,8 @@ _SpoApplicationCustomizerListCommand_instances = new WeakSet(), _SpoApplicationC
48
48
  });
49
49
  }, _SpoApplicationCustomizerListCommand_initValidators = function _SpoApplicationCustomizerListCommand_initValidators() {
50
50
  this.validators.push(async (args) => {
51
- if (args.options.scope && SpoApplicationCustomizerListCommand.scopes.indexOf(args.options.scope) < 0) {
52
- return `${args.options.scope} is not a valid scope. Allowed values are ${SpoApplicationCustomizerListCommand.scopes.join(', ')}`;
51
+ if (args.options.scope && _a.scopes.indexOf(args.options.scope) < 0) {
52
+ return `${args.options.scope} is not a valid scope. Allowed values are ${_a.scopes.join(', ')}`;
53
53
  }
54
54
  return validation.isValidSharePointUrl(args.options.webUrl);
55
55
  });
@@ -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 _SpoCommandSetAddCommand_instances, _SpoCommandSetAddCommand_initTelemetry, _SpoCommandSetAddCommand_initOptions, _SpoCommandSetAddCommand_initValidators;
6
+ var _SpoCommandSetAddCommand_instances, _a, _SpoCommandSetAddCommand_initTelemetry, _SpoCommandSetAddCommand_initOptions, _SpoCommandSetAddCommand_initValidators;
7
7
  import commands from '../../commands.js';
8
8
  import { validation } from '../../../../utils/validation.js';
9
9
  import SpoCommand from '../../../base/SpoCommand.js';
@@ -78,7 +78,7 @@ class SpoCommandSetAddCommand extends SpoCommand {
78
78
  }
79
79
  }
80
80
  }
81
- _SpoCommandSetAddCommand_instances = new WeakSet(), _SpoCommandSetAddCommand_initTelemetry = function _SpoCommandSetAddCommand_initTelemetry() {
81
+ _a = SpoCommandSetAddCommand, _SpoCommandSetAddCommand_instances = new WeakSet(), _SpoCommandSetAddCommand_initTelemetry = function _SpoCommandSetAddCommand_initTelemetry() {
82
82
  this.telemetry.push((args) => {
83
83
  Object.assign(this.telemetryProperties, {
84
84
  clientSideComponentProperties: typeof args.options.clientSideComponentProperties !== 'undefined',
@@ -92,29 +92,29 @@ _SpoCommandSetAddCommand_instances = new WeakSet(), _SpoCommandSetAddCommand_ini
92
92
  }, {
93
93
  option: '-u, --webUrl <webUrl>'
94
94
  }, {
95
- option: '-l, --listType <listType>', autocomplete: SpoCommandSetAddCommand.listTypes
95
+ option: '-l, --listType <listType>', autocomplete: _a.listTypes
96
96
  }, {
97
97
  option: '-i, --clientSideComponentId <clientSideComponentId>'
98
98
  }, {
99
99
  option: '--clientSideComponentProperties [clientSideComponentProperties]'
100
100
  }, {
101
- option: '-s, --scope [scope]', autocomplete: SpoCommandSetAddCommand.scopes
101
+ option: '-s, --scope [scope]', autocomplete: _a.scopes
102
102
  }, {
103
- option: '--location [location]', autocomplete: SpoCommandSetAddCommand.locations
103
+ option: '--location [location]', autocomplete: _a.locations
104
104
  });
105
105
  }, _SpoCommandSetAddCommand_initValidators = function _SpoCommandSetAddCommand_initValidators() {
106
106
  this.validators.push(async (args) => {
107
107
  if (args.options.clientSideComponentId && !validation.isValidGuid(args.options.clientSideComponentId)) {
108
108
  return `${args.options.clientSideComponentId} is not a valid GUID`;
109
109
  }
110
- if (SpoCommandSetAddCommand.listTypes.indexOf(args.options.listType) < 0) {
111
- return `${args.options.listType} is not a valid list type. Allowed values are ${SpoCommandSetAddCommand.listTypes.join(', ')}`;
110
+ if (_a.listTypes.indexOf(args.options.listType) < 0) {
111
+ return `${args.options.listType} is not a valid list type. Allowed values are ${_a.listTypes.join(', ')}`;
112
112
  }
113
- if (args.options.scope && SpoCommandSetAddCommand.scopes.indexOf(args.options.scope) < 0) {
114
- return `${args.options.scope} is not a valid scope. Allowed values are ${SpoCommandSetAddCommand.scopes.join(', ')}`;
113
+ if (args.options.scope && _a.scopes.indexOf(args.options.scope) < 0) {
114
+ return `${args.options.scope} is not a valid scope. Allowed values are ${_a.scopes.join(', ')}`;
115
115
  }
116
- if (args.options.location && SpoCommandSetAddCommand.locations.indexOf(args.options.location) < 0) {
117
- return `${args.options.location} is not a valid location. Allowed values are ${SpoCommandSetAddCommand.locations.join(', ')}`;
116
+ if (args.options.location && _a.locations.indexOf(args.options.location) < 0) {
117
+ return `${args.options.location} is not a valid location. Allowed values are ${_a.locations.join(', ')}`;
118
118
  }
119
119
  return validation.isValidSharePointUrl(args.options.webUrl);
120
120
  });