Skip to content

Commit dd599e8

Browse files
Adam-itDevPioGuidoZamSaurabh7019
authored
Release v4.2.0 (#327)
## 🎯 Aim The aim is to prepare new minor release with latest changes like: new management capabilities, fine-tuned setup and new chat commands, new scaffolding option, refactored m365 commands logging. ## 📷 Result ![app-catalog-list](https://github.com/user-attachments/assets/07e4ac68-b95d-4341-97fc-071e4ab4b16b) ![image](https://github.com/user-attachments/assets/eefd094b-5a6d-46a0-b256-540d418d2554) ![chat-in-action-new](https://github.com/user-attachments/assets/cdc4de23-590e-4c29-8008-c64006a616d8) ![scaffolding-additional-step-node-version](https://github.com/user-attachments/assets/1e75ac06-f517-4eec-aeb9-b5e29b2369e4) ## ✅ What was done - [X] Include m365 prefix and log passed CLI command options - [X] Refactors to ensure types for settings - [X] Added a new project additional step to create or not the node version manager configuration file. - [X] Added new VSCode setting `createNodeVersionFileDefaultValue` to define the default value of the new project additional step. - [X] Added new VSCode setting `nodeVersionManagerFile` to specify which configuration file to be created. - [X] Dynamic loading of children for ActionTreeItem - [X] Present solutions deployed per app catalog - [X] Allow to disable and enable a solution - [X] Allow to deploy and retract a solution - [X] Allow to remove a solution - [X] Clicking on app link should go to the solution appStore.aspx page - [X] Updated prompt grounding for /setup and /new - [X] Added new way to create new project together with Copilot --------- Co-authored-by: Luccas Castro <[email protected]> Co-authored-by: Guido Zambarda <[email protected]> Co-authored-by: Saurabh Tripathi <[email protected]>
1 parent 88809bc commit dd599e8

40 files changed

+940
-140
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Change Log
22

3+
## [4.2.0] - 2024-10-19
4+
5+
- Include m365 prefix and log passed CLI command options
6+
- Refactors to ensure types for settings
7+
- Added a new project additional step to create or not the node version manager configuration file
8+
- Added new VSCode setting createNodeVersionFileDefaultValue to define the default value of the new project additional step
9+
- Added new VSCode setting nodeVersionManagerFile to specify which configuration file to be created
10+
- Dynamic loading of children for ActionTreeItem
11+
- Present solutions deployed per app catalog
12+
- Allow to disable and enable a solution
13+
- Allow to deploy and retract a solution
14+
- Allow to remove a solution
15+
- Clicking on app link should go to the solution appStore.aspx page
16+
- Updated prompt grounding for /setup and /new
17+
- Added new way to create new project together with Copilot
18+
319
## [4.1.0] - 2024-09-28
420

521
- Added support for SPFx 1.20.0

README.md

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ Install additional dependencies with a single click straight from the scaffoldin
116116

117117
![Additional dependency step](./assets/images/scaffolding-additional-step.png)
118118

119+
When you can set the additional dependencies it's also possible to automatically create the node version manager file with the version of Node.js used when creating the project. These settings are available in the extension settings.
120+
121+
![Additional dependency step node version](./assets/images/scaffolding-additional-step-node-version.png)
122+
119123
[Check out our docs for more details](https://github.com/pnp/vscode-viva/wiki/5.2-Scaffolding#1-scaffold-a-new-spfx-project)
120124

121125
### 6️⃣ Sign in to your tenant & retrieve environment details
@@ -148,7 +152,15 @@ Additionally, the extension will check and retrieve tenant service health incide
148152

149153
![tenant details](./assets/images/tenant-links.png)
150154

151-
After successful sign in an additional view is presented that shows list links to app catalogs available in the tenant, both tenant-level and all site-level app catalogs. Additionally it will show you all tenant-wide extensions installed on your tenant with.
155+
After successful sign in, an additional view is presented that shows a list of links to app catalogs available in the tenant, both tenant-level and all site-level app catalogs. You can expand each app catalog to reveal the list of apps contained within. Selecting an app navigates you to its details page. Additionally, hovering over an app node presents a set of actions, allowing you to perform various operations directly on the selected app.
156+
157+
- **Deploy**: Makes the solution available for installation in sites but does not automatically install it.
158+
- **Retract**: Reverses the deployment, preventing the solution from being installed in sites.
159+
- **Remove**: Removes the app from the app catalog.
160+
- **Enable**: Allows end users to add the solution to their SharePoint sites.
161+
- **Disable**: Hides the solution from end users, preventing them from adding it to sites.
162+
163+
Additionally, it will show you all tenant-wide extensions installed on your tenant.
152164

153165
![tenant details](./assets/images/app-catalog-list.png)
154166

@@ -272,15 +284,29 @@ Check it out in action 👇
272284

273285
By default, the SharePoint Framework Toolkit will use the Node.js version that is installed on your machine. If you want to use a different version, you can use a Node.js Version Manager such as [nvm](https://github.com/nvm-sh/nvm) or [nvs](https://github.com/jasongin/nvs). The SharePoint Framework Toolkit will detect the preferred version of Node.js if a `.nvmrc` file is present in the root of your project, and will use that version for all the actions.
274286

275-
You can use the settings to change which Node.js version manager you want to use. You may choose between `nvm` and `nvs`. If you wish to avoid using a Node.js version manager, you can set the value to `none`
287+
It's possible to use the settings to change which Node.js version manager you want to use. You may choose between `nvm` and `nvs`. If you wish to avoid using a Node.js version manager, you can set the value to `none`
288+
289+
![Settings Node version manager](./assets/images/settings-node-version-manager.png)
290+
291+
Other than selecting the Node.js version manager you may also select which file should be used to store the Node.js version. By default, the extension will use `.nvmrc` file, but you may change it to `.node-version` if you are using `nvs`.
292+
293+
![Settings Node version file](./assets/images/settings-node-version-manager-file.png)
294+
295+
It is also possible to set the default behavior when you're about to scaffold a new project. To do so there is a specific setting named `Create Node Version File Default Value`.
296+
297+
![Settings Node version file default value](./assets/images/settings-node-version-manager-file-default-value.png)
276298

277299
### 1️⃣3️⃣ SPFx Toolkit GitHub Chat Participant
278300

279301
![SPFx Toolkit chat](./assets/images/chat-intro.png)
280302

281303
Now you may use SPFx Toolkit as a chat participant in GitHub Copilot chat extension. Simply, mention @spfx in the chat to ask dedicated questions regarding SharePoint Framework development.
282304

283-
![SPFx Toolkit chat in action](./assets/images/chat-in-action.gif)
305+
![SPFx Toolkit chat in action](./assets/images/chat-in-action-new.gif)
306+
307+
![SPFx Toolkit chat in action](./assets/images/chat-in-action-new2.gif)
308+
309+
![SPFx Toolkit chat in action](./assets/images/chat-in-action-setup.gif)
284310

285311
@spfx is your dedicated AI Copilot that will help you with anything that is needed to develop your SharePoint Framework project. It has predefined commands that are tailored toward a specific activity for which you require guidance.
286312

assets/images/app-catalog-list.png

329 Bytes
Loading

assets/images/chat-commands.png

126 KB
Loading

assets/images/chat-in-action-new.gif

1.9 MB
Loading

assets/images/chat-in-action-new2.gif

2.56 MB
Loading
2.86 MB
Loading

assets/images/chat-in-action.gif

-4.86 MB
Binary file not shown.

assets/images/chat-intro.png

113 KB
Loading
Loading
Loading
Loading
7.87 KB
Loading

assets/walkthrough/tenant-details.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,15 @@ Additionally, the extension will check and retrieve tenant service health incide
2222

2323
![tenant details](../images/tenant-links.png)
2424

25-
After successful sign in an additional view is presented that shows list links to app catalogs available in the tenant, both tenant-level and all site-level app catalogs. Additionally it will show you all tenant-wide extensions installed on your tenant with.
25+
After successful sign in, an additional view is presented that shows a list of links to app catalogs available in the tenant, both tenant-level and all site-level app catalogs. You can expand each app catalog to reveal the list of apps contained within. Selecting an app navigates you to its details page. Additionally, hovering over an app node presents a set of actions, allowing you to perform various operations directly on the selected app.
26+
27+
- **Deploy**: Makes the solution available for installation in sites but does not automatically install it.
28+
- **Retract**: Reverses the deployment, preventing the solution from being installed in sites.
29+
- **Remove**: Removes the app from the app catalog.
30+
- **Enable**: Allows end users to add the solution to their SharePoint sites.
31+
- **Disable**: Hides the solution from end users, preventing them from adding it to sites.
32+
33+
Additionally, it will show you all tenant-wide extensions installed on your tenant.
2634

2735
![tenant details](../images/app-catalog-list.png)
2836

data/sp-dev-fx-samples.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
{
23
"samples": [
34
{

npm-shrinkwrap.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 94 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "viva-connections-toolkit",
33
"displayName": "SharePoint Framework Toolkit",
44
"description": "SharePoint Framework Toolkit aims to boost your productivity in developing and managing SharePoint Framework solutions helping at every stage of your development flow, from setting up your development workspace to deploying a solution straight to your tenant without the need to leave VS Code and now even create a CI/CD pipeline to introduce automate deployment of your app. This toolkit is provided by the community.",
5-
"version": "4.1.0",
5+
"version": "4.2.0",
66
"publisher": "m365pnp",
77
"preview": false,
88
"homepage": "https://github.com/pnp/vscode-viva",
@@ -57,15 +57,18 @@
5757
"commands": [
5858
{
5959
"name": "setup",
60+
"isSticky": true,
6061
"description": "Prepare your local workspace for SharePoint Framework development"
6162
},
6263
{
6364
"name": "new",
65+
"isSticky": true,
6466
"description": "Create a new SharePoint Framework project."
6567
},
6668
{
6769
"name": "code",
68-
"description": "Let's write some SPFx code"
70+
"isSticky": true,
71+
"description": "Let's write some SPFx code (I am still learning this, please consider this as beta)"
6972
}
7073
]
7174
}
@@ -178,14 +181,30 @@
178181
"spfx-toolkit.showServiceIncidentList": {
179182
"title": "Show service health incidents",
180183
"type": "boolean",
181-
"default": "true",
184+
"default": true,
182185
"description": "Show the service health incidents in the account view."
183186
},
184187
"spfx-toolkit.showTenantWideExtensions": {
185188
"title": "Show tenant-wide extensions",
186189
"type": "boolean",
187-
"default": "true",
190+
"default": true,
188191
"description": "Show the tenant-wide extensions in the account view."
192+
},
193+
"spfx-toolkit.createNodeVersionFileDefaultValue": {
194+
"title": "Default value for the Node version file option",
195+
"type": "boolean",
196+
"default": false,
197+
"description": "The default value for the new project's setting for creating the Node version file. If checked the default selected value will be YES."
198+
},
199+
"spfx-toolkit.nodeVersionManagerFile": {
200+
"title": "Node version manager file to be used",
201+
"type": "string",
202+
"default": ".nvmrc",
203+
"enum": [
204+
".nvmrc",
205+
".node-version"
206+
],
207+
"description": "The file to be used to store the Node version for the selected Node version manager. Remember that the .node-version file is supported only while using nvs."
189208
}
190209
}
191210
},
@@ -383,6 +402,42 @@
383402
"title": "Refresh Account view",
384403
"category": "SharePoint Framework Toolkit",
385404
"icon": "$(refresh)"
405+
},
406+
{
407+
"command": "spfx-toolkit.deployAppCatalogApp",
408+
"title": "Deploy",
409+
"category": "SharePoint Framework Toolkit",
410+
"icon": "$(cloud-upload)"
411+
},
412+
{
413+
"command": "spfx-toolkit.retractAppCatalogApp",
414+
"title": "Retract",
415+
"category": "SharePoint Framework Toolkit",
416+
"icon": "$(cloud-download)"
417+
},
418+
{
419+
"command": "spfx-toolkit.removeAppCatalogApp",
420+
"title": "Remove",
421+
"category": "SharePoint Framework Toolkit",
422+
"icon": "$(trash)"
423+
},
424+
{
425+
"command": "spfx-toolkit.enableAppCatalogApp",
426+
"title": "Enable",
427+
"category": "SharePoint Framework Toolkit",
428+
"icon": "$(check)"
429+
},
430+
{
431+
"command": "spfx-toolkit.disableAppCatalogApp",
432+
"title": "Disable",
433+
"category": "SharePoint Framework Toolkit",
434+
"icon": "$(circle-slash)"
435+
},
436+
{
437+
"command": "spfx-toolkit.showMoreActions",
438+
"title": "...",
439+
"category": "SharePoint Framework Toolkit",
440+
"icon": "$(ellipsis)"
386441
}
387442
],
388443
"menus": {
@@ -421,6 +476,34 @@
421476
"command": "spfx-toolkit.logout",
422477
"when": "view == pnp-view-account && viewItem == m365Account",
423478
"group": "inline@1"
479+
},
480+
{
481+
"command": "spfx-toolkit.deployAppCatalogApp",
482+
"when": "view == pnp-view-environment && viewItem == pnp.etv.hasAppCatalogApp",
483+
"group": "inline@1"
484+
},
485+
{
486+
"submenu": "spfx-toolkit.showMoreActions",
487+
"when": "view == pnp-view-environment && viewItem == pnp.etv.hasAppCatalogApp",
488+
"group": "inline@2"
489+
}
490+
],
491+
"spfx-toolkit.showMoreActions": [
492+
{
493+
"command": "spfx-toolkit.retractAppCatalogApp",
494+
"group": "actions.more@1"
495+
},
496+
{
497+
"command": "spfx-toolkit.removeAppCatalogApp",
498+
"group": "actions.more@2"
499+
},
500+
{
501+
"command": "spfx-toolkit.enableAppCatalogApp",
502+
"group": "actions.more@3"
503+
},
504+
{
505+
"command": "spfx-toolkit.disableAppCatalogApp",
506+
"group": "actions.more@4"
424507
}
425508
],
426509
"explorer/context": [
@@ -431,6 +514,13 @@
431514
}
432515
]
433516
},
517+
"submenus": [
518+
{
519+
"id": "spfx-toolkit.showMoreActions",
520+
"label": "More Actions...",
521+
"icon": "$(ellipsis)"
522+
}
523+
],
434524
"languages": [
435525
{
436526
"id": "pnp.project.output",

0 commit comments

Comments
 (0)