Skip to content

Commit

Permalink
Release v4.2.0 (#327)
Browse files Browse the repository at this point in the history
## 🎯 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]>
  • Loading branch information
4 people authored Oct 19, 2024
1 parent 88809bc commit dd599e8
Show file tree
Hide file tree
Showing 40 changed files with 940 additions and 140 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Change Log

## [4.2.0] - 2024-10-19

- Include m365 prefix and log passed CLI command options
- Refactors to ensure types for settings
- Added a new project additional step to create or not the node version manager configuration file
- Added new VSCode setting createNodeVersionFileDefaultValue to define the default value of the new project additional step
- Added new VSCode setting nodeVersionManagerFile to specify which configuration file to be created
- Dynamic loading of children for ActionTreeItem
- Present solutions deployed per app catalog
- Allow to disable and enable a solution
- Allow to deploy and retract a solution
- Allow to remove a solution
- Clicking on app link should go to the solution appStore.aspx page
- Updated prompt grounding for /setup and /new
- Added new way to create new project together with Copilot

## [4.1.0] - 2024-09-28

- Added support for SPFx 1.20.0
Expand Down
32 changes: 29 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,10 @@ Install additional dependencies with a single click straight from the scaffoldin

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

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.

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

[Check out our docs for more details](https://github.com/pnp/vscode-viva/wiki/5.2-Scaffolding#1-scaffold-a-new-spfx-project)

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

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

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.
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.

- **Deploy**: Makes the solution available for installation in sites but does not automatically install it.
- **Retract**: Reverses the deployment, preventing the solution from being installed in sites.
- **Remove**: Removes the app from the app catalog.
- **Enable**: Allows end users to add the solution to their SharePoint sites.
- **Disable**: Hides the solution from end users, preventing them from adding it to sites.

Additionally, it will show you all tenant-wide extensions installed on your tenant.

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

Expand Down Expand Up @@ -272,15 +284,29 @@ Check it out in action 👇

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.

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`
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`

![Settings Node version manager](./assets/images/settings-node-version-manager.png)

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`.

![Settings Node version file](./assets/images/settings-node-version-manager-file.png)

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`.

![Settings Node version file default value](./assets/images/settings-node-version-manager-file-default-value.png)

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

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

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.

![SPFx Toolkit chat in action](./assets/images/chat-in-action.gif)
![SPFx Toolkit chat in action](./assets/images/chat-in-action-new.gif)

![SPFx Toolkit chat in action](./assets/images/chat-in-action-new2.gif)

![SPFx Toolkit chat in action](./assets/images/chat-in-action-setup.gif)

@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.

Expand Down
Binary file modified assets/images/app-catalog-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/chat-commands.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/chat-in-action-new.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/chat-in-action-new2.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/chat-in-action-setup.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/images/chat-in-action.gif
Binary file not shown.
Binary file modified assets/images/chat-intro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/settings-node-version-manager.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 9 additions & 1 deletion assets/walkthrough/tenant-details.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,15 @@ Additionally, the extension will check and retrieve tenant service health incide

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

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.
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.

- **Deploy**: Makes the solution available for installation in sites but does not automatically install it.
- **Retract**: Reverses the deployment, preventing the solution from being installed in sites.
- **Remove**: Removes the app from the app catalog.
- **Enable**: Allows end users to add the solution to their SharePoint sites.
- **Disable**: Hides the solution from end users, preventing them from adding it to sites.

Additionally, it will show you all tenant-wide extensions installed on your tenant.

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

Expand Down
1 change: 1 addition & 0 deletions data/sp-dev-fx-samples.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

{
"samples": [
{
Expand Down
4 changes: 2 additions & 2 deletions npm-shrinkwrap.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

98 changes: 94 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "viva-connections-toolkit",
"displayName": "SharePoint Framework Toolkit",
"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.",
"version": "4.1.0",
"version": "4.2.0",
"publisher": "m365pnp",
"preview": false,
"homepage": "https://github.com/pnp/vscode-viva",
Expand Down Expand Up @@ -57,15 +57,18 @@
"commands": [
{
"name": "setup",
"isSticky": true,
"description": "Prepare your local workspace for SharePoint Framework development"
},
{
"name": "new",
"isSticky": true,
"description": "Create a new SharePoint Framework project."
},
{
"name": "code",
"description": "Let's write some SPFx code"
"isSticky": true,
"description": "Let's write some SPFx code (I am still learning this, please consider this as beta)"
}
]
}
Expand Down Expand Up @@ -178,14 +181,30 @@
"spfx-toolkit.showServiceIncidentList": {
"title": "Show service health incidents",
"type": "boolean",
"default": "true",
"default": true,
"description": "Show the service health incidents in the account view."
},
"spfx-toolkit.showTenantWideExtensions": {
"title": "Show tenant-wide extensions",
"type": "boolean",
"default": "true",
"default": true,
"description": "Show the tenant-wide extensions in the account view."
},
"spfx-toolkit.createNodeVersionFileDefaultValue": {
"title": "Default value for the Node version file option",
"type": "boolean",
"default": false,
"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."
},
"spfx-toolkit.nodeVersionManagerFile": {
"title": "Node version manager file to be used",
"type": "string",
"default": ".nvmrc",
"enum": [
".nvmrc",
".node-version"
],
"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."
}
}
},
Expand Down Expand Up @@ -383,6 +402,42 @@
"title": "Refresh Account view",
"category": "SharePoint Framework Toolkit",
"icon": "$(refresh)"
},
{
"command": "spfx-toolkit.deployAppCatalogApp",
"title": "Deploy",
"category": "SharePoint Framework Toolkit",
"icon": "$(cloud-upload)"
},
{
"command": "spfx-toolkit.retractAppCatalogApp",
"title": "Retract",
"category": "SharePoint Framework Toolkit",
"icon": "$(cloud-download)"
},
{
"command": "spfx-toolkit.removeAppCatalogApp",
"title": "Remove",
"category": "SharePoint Framework Toolkit",
"icon": "$(trash)"
},
{
"command": "spfx-toolkit.enableAppCatalogApp",
"title": "Enable",
"category": "SharePoint Framework Toolkit",
"icon": "$(check)"
},
{
"command": "spfx-toolkit.disableAppCatalogApp",
"title": "Disable",
"category": "SharePoint Framework Toolkit",
"icon": "$(circle-slash)"
},
{
"command": "spfx-toolkit.showMoreActions",
"title": "...",
"category": "SharePoint Framework Toolkit",
"icon": "$(ellipsis)"
}
],
"menus": {
Expand Down Expand Up @@ -421,6 +476,34 @@
"command": "spfx-toolkit.logout",
"when": "view == pnp-view-account && viewItem == m365Account",
"group": "inline@1"
},
{
"command": "spfx-toolkit.deployAppCatalogApp",
"when": "view == pnp-view-environment && viewItem == pnp.etv.hasAppCatalogApp",
"group": "inline@1"
},
{
"submenu": "spfx-toolkit.showMoreActions",
"when": "view == pnp-view-environment && viewItem == pnp.etv.hasAppCatalogApp",
"group": "inline@2"
}
],
"spfx-toolkit.showMoreActions": [
{
"command": "spfx-toolkit.retractAppCatalogApp",
"group": "actions.more@1"
},
{
"command": "spfx-toolkit.removeAppCatalogApp",
"group": "actions.more@2"
},
{
"command": "spfx-toolkit.enableAppCatalogApp",
"group": "actions.more@3"
},
{
"command": "spfx-toolkit.disableAppCatalogApp",
"group": "actions.more@4"
}
],
"explorer/context": [
Expand All @@ -431,6 +514,13 @@
}
]
},
"submenus": [
{
"id": "spfx-toolkit.showMoreActions",
"label": "More Actions...",
"icon": "$(ellipsis)"
}
],
"languages": [
{
"id": "pnp.project.output",
Expand Down
Loading

0 comments on commit dd599e8

Please sign in to comment.