Skip to content

Commit

Permalink
Release v2.6.0 (#197)
Browse files Browse the repository at this point in the history
## 🎯 Aim

Create a new release

## 📷 Result


![CICD-pipeline](https://github.com/pnp/vscode-viva/assets/58668583/27bea558-3906-42ac-bbf4-9b0ae8cf0e85)


![scaffolding](https://github.com/pnp/vscode-viva/assets/58668583/90525786-8543-445e-975f-1f765340ee26)

## ✅ What was done

- [X] Refactored and rebuilt the scaffolding process
- [X] Added an additional dependency step in the scaffolding form
- [X] Fixed in sample gallery
- [X] Added Azure DevOps pipeline support
- [X] Updated account and app catalog view to tenant health information
and tenant-wide extensions
  • Loading branch information
Adam-it authored Mar 18, 2024
1 parent fd28f87 commit 0ac5d8b
Show file tree
Hide file tree
Showing 58 changed files with 1,101 additions and 535 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Change Log

## [2.6.0] - 2024-03-18

- Refactored and rebuilt the scaffolding process
- Added an additional dependency step in the scaffolding form
- Fixed bug in sample gallery filters
- Added Azure DevOps pipeline support
- Updated account and app catalog view
- Added tenant health information
- Added tenant-wide extensions list

## [2.5.0] - 2024-02-05

- Refactored sample galleries to a single sample gallery
Expand Down
40 changes: 31 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,28 +96,46 @@ Start your solution based on the provided set of ACE scenarios with ready-to-use

### 5️⃣ Create a new project

Creating a new project was never easier. Just use the **create a new project** action, and the extension will guide you through the process.
Creating a new project was never easier. Just use the **create a new project** action, and the extension will guide you through the process with a dedicated scaffolding form.

Check it out 👇.
![Create new project](./assets/images/scaffolding.png)

Check it out in action 👇.

![Create new project](./assets/images/scaffolding.gif)
![Create new project](./assets/images/scaffolding-form.gif)

It's possible to scaffold any kind of SPFx project.

![Create new project](./assets/images/scaffolding.png)
![All SPFx project support](./assets/images/scaffolding-support.png)

Install additional dependencies with a single click straight from the scaffolding form. Currently we support installing [PnP reusable property pane controls](https://pnp.github.io/sp-dev-fx-property-controls/), [PnP reusable React controls](https://pnp.github.io/sp-dev-fx-controls-react/), and [PnPjs](https://pnp.github.io/pnpjs/).

![Additional dependency step](./assets/images/scaffolding-additional-step.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️⃣ Login to your tenant & retrieve environment details

The extension also allows you to login to your Microsoft 365 tenant using CLI for Microsoft 365.
![tenant info](./assets/images/tenant-info.png)

The extension allows you to login to your Microsoft 365 tenant using CLI for Microsoft 365.

![login](./assets/images/login.png)

Thanks to that the extension will retrieve helpful URLs from your tenant like the link to SharePoint main site and tenant level as well as site level App Catalog.
Thanks to that the extension will retrieve helpful URLs from your tenant like:

- link to SharePoint main site
- link to SharePoint admin site
- link to SharePoint web API permission management page

Additionally, the extension will check and retrieve tenant service health incidents that are currently happening in your tenant so that you gain quick insights on your tenant health.

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

After successful login 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.

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

Login-in is also required for some actions to work properly like the deploy action which allows you to upload of the .sppkg file to the tenant or site-level App Catalog.

Additionally, when an SPFx project is opened the extension will check serve.json file and suggest updating it to set the properties based on the currently logged-in tenant.
Expand All @@ -142,13 +160,17 @@ The actions section allows unique functionalities that may significantly boost p

Currently the extension allows you to:

- **CI/CD GitHub Workflow** - This action will allow you to generate yaml GitHub workflow that uses CLI for Microsoft 365 GitHub actions to bundle, package, and deploy your project to an app catalog on every code push.
- **CI/CD Workflow** - This action will allow you to generate yaml CI/CD GitHub Workflow or Azure DevOps Pipeline to bundle, package, and deploy your project to any app catalog on every code push.

![CI CD pipeline](./assets/images/CICD-pipeline.png)

Check it out in action 👇
Check it out in action for GitHub👇

![GitHub CI CD workflow](./assets/images/gh-ci-cd.gif)

And for Azure DevOps👇

![CI CD pipeline](./assets/images/CICD-pipeline.gif)
![Azure DevOps CI CD pipeline](./assets/images/azdo-ci-cd.gif)

[Check out our docs for more details](https://github.com/pnp/vscode-viva/wiki/5.5-Actions#cicd-github-workflow)

Expand Down
Binary file added assets/fonts/fabric-icons.woff
Binary file not shown.
3 changes: 0 additions & 3 deletions assets/icons/dark/M365.svg

This file was deleted.

4 changes: 0 additions & 4 deletions assets/icons/dark/sharepoint.svg

This file was deleted.

3 changes: 0 additions & 3 deletions assets/icons/light/M365.svg

This file was deleted.

4 changes: 0 additions & 4 deletions assets/icons/light/sharepoint.svg

This file was deleted.

Binary file removed assets/images/CICD-pipeline.gif
Binary file not shown.
Binary file modified assets/images/CICD-pipeline.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/add-component.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/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 added assets/images/azdo-ci-cd.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 modified assets/images/deploy.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/gh-ci-cd.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 modified assets/images/grant-permissions.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/login.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/rename.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/samples-responsive.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/samples.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/scaffolding-additional-step.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/scaffolding-form.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/scaffolding-support.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 removed assets/images/scaffolding.gif
Binary file not shown.
Binary file modified assets/images/scaffolding.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/start.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/tenant-info.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/tenant-links.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/upgrade-project.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/validate-project.png
Binary file modified assets/images/validate-serve-config.png
4 changes: 2 additions & 2 deletions package-lock.json

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

74 changes: 71 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "viva-connections-toolkit",
"displayName": "Viva Connections Toolkit",
"description": "Viva Connections 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": "2.5.0",
"version": "2.6.0",
"publisher": "m365pnp",
"preview": false,
"homepage": "https://github.com/pnp/vscode-viva",
Expand Down Expand Up @@ -45,6 +45,50 @@
"license": "MIT",
"main": "./dist/extension.js",
"contributes": {
"icons": {
"spo-m365": {
"description": "Microsoft 365 icon",
"default": {
"fontPath": "./assets/fonts/fabric-icons.woff",
"fontCharacter": "\\ED72"
}
},
"spo-logo": {
"description": "SharePoint Online icon",
"default": {
"fontPath": "./assets/fonts/fabric-icons.woff",
"fontCharacter": "\\ED18"
}
},
"spo-app-list": {
"description": "Tenant-Wide extension list icon",
"default": {
"fontPath": "./assets/fonts/fabric-icons.woff",
"fontCharacter": "\\E31E"
}
},
"spo-app": {
"description": "App icon",
"default": {
"fontPath": "./assets/fonts/fabric-icons.woff",
"fontCharacter": "\\ECDC"
}
},
"m365-warning": {
"description": "Warning icon",
"default": {
"fontPath": "./assets/fonts/fabric-icons.woff",
"fontCharacter": "\\E7BA"
}
},
"m365-health": {
"description": "Health icon",
"default": {
"fontPath": "./assets/fonts/fabric-icons.woff",
"fontCharacter": "\\E95E"
}
}
},
"viewsContainers": {
"activitybar": [
{
Expand All @@ -68,7 +112,7 @@
},
{
"id": "pnp-view-environment",
"name": "Environment details",
"name": "App Catalog details",
"when": "pnp.project.isSPFxProject && pnp.project.isLoggedIn"
},
{
Expand Down Expand Up @@ -166,6 +210,18 @@
"title": "Sign out from M365",
"category": "Viva Connections Toolkit",
"icon": "$(sign-out)"
},
{
"command": "viva-connections-toolkit.refreshAppCatalogTreeView",
"title": "Refresh App Catalog list",
"category": "Viva Connections Toolkit",
"icon": "$(refresh)"
},
{
"command": "viva-connections-toolkit.refreshAccountTreeView",
"title": "Refresh Account view",
"category": "Viva Connections Toolkit",
"icon": "$(refresh)"
}
],
"menus": {
Expand All @@ -187,6 +243,18 @@
"when": "pnp.project.isSPFxProject"
}
],
"view/title": [
{
"command": "viva-connections-toolkit.refreshAppCatalogTreeView",
"when": "view == pnp-view-environment",
"group": "navigation"
},
{
"command": "viva-connections-toolkit.refreshAccountTreeView",
"when": "view == pnp-view-account",
"group": "navigation"
}
],
"view/item/context": [
{
"command": "viva-connections-toolkit.logout",
Expand Down Expand Up @@ -276,4 +344,4 @@
"react-markdown": "^9.0.1",
"remark-gfm": "^4.0.0"
}
}
}
4 changes: 4 additions & 0 deletions src/constants/Commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,8 @@ export const Commands = {

// Serving
serveProject: `${EXTENSION_NAME}.serveProject`,

// TreeViews
refreshAppCatalogTreeView: `${EXTENSION_NAME}.refreshAppCatalogTreeView`,
refreshAccountTreeView: `${EXTENSION_NAME}.refreshAccountTreeView`,
};
4 changes: 2 additions & 2 deletions src/constants/ExtensionTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export const ExtensionTypes = [
{
name: 'Field Customizer',
value: ExtensionType.field,
templates: ['React', 'Minimal', 'No framework']
templates: ['No framework', 'React', 'Minimal']
},
{
name: 'ListView Command Set',
Expand All @@ -27,7 +27,7 @@ export const ExtensionTypes = [
{
name: 'Form Customizer',
value: ExtensionType.formCustomizer,
templates: ['React', 'No framework']
templates: ['No framework', 'React']
},
{
name: 'Search Query Modifier',
Expand Down
5 changes: 4 additions & 1 deletion src/constants/ProjectFileContent.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
/* eslint-disable no-unused-vars */
// eslint-disable-next-line no-shadow
export enum ProjectFileContent {
init = 'init',
init = 'init-project',
initScenario = 'init-scenario',
installReusablePropertyPaneControls = 'install-spfx-property-controls',
installReusableReactControls = 'install-spfx-controls-react',
installPnPJs = 'install-pnpjs',
}
Loading

0 comments on commit 0ac5d8b

Please sign in to comment.