Skip to content

Commit 8716fdf

Browse files
Adam-itSaurabh7019nicodecleyreharshithsaivnirav-raval
committed
Release v4.14 (#674)
## 🎯 Aim The aim is to create a new minor release with the latest enhancements. ## 📷 Result <img width="317" height="517" alt="{AC614884-F989-42E0-B331-3B59BFEDABD0}" src="https://github.com/user-attachments/assets/a61b472f-a4db-4f03-9a9b-68364d6ca6a2" /> <img width="802" height="505" alt="{E31153EB-433D-4ABA-8BE9-D4D79938B41D}" src="https://github.com/user-attachments/assets/0e6157ab-5b8b-4c78-96aa-934d5de971d6" /> <img width="851" height="510" alt="{F3A4E8FB-76BA-45D1-B29A-E28DA384FC9A}" src="https://github.com/user-attachments/assets/b75b8d60-1671-4aec-bd5e-2218668df36c" /> <img width="991" height="504" alt="{62074708-6BA4-4A4F-9C4B-9B68868ED1F7}" src="https://github.com/user-attachments/assets/8ef1ea6d-c5d8-43a0-aeb0-8d85f98d47cf" /> ## ✅ What was done - [x] Added Support for SPFx 1.22.0 and 1.22.1 - [x] Added preferred node package manager setting - [x] Added Heft tasks view - [x] Added remove_spo_page language model tool for SharePoint - [x] Added get_spo_page language model tool for SharePoint - [x] Added list_spo_page language model tool for modern SharePoint page listing - [x] Added support for all SPFx versions to upgrade action and language model upgrade project tool - [x] Fixed bug with publish solution - [x] Extended copilot- [x]instructions - [x] Refactored spo_list_get language model tool - [x] Refactored spo_list_add language model tool - [x] Refactored spo_list_remove language model tool - [x] Fixed Toolkit getting stuck during component creation if `yo` is not installed - [x] Updated Contribution guidelines - [x] Refactored the way we add CLI for Microsoft 365 to SPFx Toolkit - [x] Updated install dependencies and validate local setup to support all SPFx versions - [x] Added Timezone Dropdown for Tenant App Catalog Creation - [x] Added Feedback form - [x] Added npm scripts as part of Tasks view - [x] Fixed sample gallery script - [x] Added link for CLI for Microsoft 365 MCP server in the help and feedback section - [x] Improved model description for list_spo_app, install_spo_app language model tools - [x] Enhanced list_spo_app to support listing apps from site collection app catalog - [x] Enhanced install_spo_app to install app from site level app catalog - [x] Added new uninstall_spo_app language model tools - [x] Added new upgrade_spo_app language model tool - [x] Added new list_spo_app_instances language model tool --------- Co-authored-by: Saurabh Tripathi <saurabh7019@gmail.com> Co-authored-by: Nico De Cleyre <35696168+nicodecleyre@users.noreply.github.com> Co-authored-by: Harshith Sai V <68597202+harshithsaiv@users.noreply.github.com> Co-authored-by: Nirav Raval <niravraval34@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
1 parent e3b3b77 commit 8716fdf

File tree

75 files changed

+9522
-3607
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+9522
-3607
lines changed

.github/copilot-instructions.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,28 @@ This is a **VS Code extension** that serves as an **abstraction layer** over the
1111
- **Service Layer**: Abstraction over CLI for Microsoft 365 commands
1212
- **Authentication**: Microsoft 365 authentication via `AuthProvider`
1313

14+
## Key Constraints
15+
16+
### Contribution Workflow
17+
- Always review `contributing.md` before starting work to understand the workflow, branching strategy, PR requirements, and documentation updates
18+
- Create feature/fix branches from `dev` branch (never from `main`)
19+
- Target all PRs to `dev` branch (PRs targeting `main` will be declined)
20+
- PRs must include summary, linked issue (if applicable), and testing steps
21+
- Update relevant documentation in `/docs` folder when making changes
22+
- Use descriptive commit messages that reference issue numbers (e.g., `fixes #123`)
23+
24+
### Dependency Management
25+
- Do not add entries to `package.json` as new dependencies require maintainer evaluation and manual approval
26+
- Do not modify `npm-shrinkwrap.json` as lock files are regenerated after dependency changes via `npm install`
27+
- If resolving an issue requires a new npm package:
28+
- Create a draft PR with a comment explaining which dependency is needed, why, and what alternatives were considered
29+
- Do not attempt workarounds that duplicate functionality available in potential dependencies
30+
- Work within the constraints of existing dependencies whenever possible
31+
32+
### Security and Privacy
33+
- Never embed secrets, tokens, or credentials in code or docs
34+
- If an issue requires sensitive information (API keys, tokens, credentials) create a draft PR explaining what configuration is needed and flag it for manual setup by maintainers
35+
1436
## Development Workflow
1537

1638
### Build System
@@ -68,10 +90,11 @@ npm run test # Run VS Code extension tests
6890

6991
### Language Model Tools
7092
The extension exposes SharePoint Online operations as GitHub Copilot tools:
71-
- `spo_app_list`, `spo_app_install` - App catalog management
72-
- `spo_list_add`, `spo_list_get`, `spo_list_remove` - List operations
73-
- `spo_page_add` - Page creation
93+
- `list_spo_app`, `install_spo_app`, `uninstall_spo_app`, `upgrade_spo_app`, `list_spo_app_instances` - App catalog management
94+
- `add_spo_list`, `get_spo_list`, `remove_spo_list` - List operations
95+
- `add_spo_page` - Page creation
7496
- `spo_site_add`, `spo_site_get`, `spo_site_remove` - Site management
97+
- `upgrade_spfx_project` - SPFx project upgrade
7598

7699
## Development Conventions
77100

.github/workflows/check-tests.yml

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -26,33 +26,9 @@ jobs:
2626
path: vscode-viva
2727

2828
- name: Install dependencies for SPFx Toolkit
29-
run: npm ci
29+
run: npm install --omit=optional
3030
working-directory: vscode-viva
3131

32-
- name: Checkout CLI for Microsoft 365
33-
uses: actions/checkout@v4
34-
with:
35-
repository: Adam-it/cli-microsoft365
36-
path: cli-microsoft365
37-
ref: cli-cjs
38-
39-
- name: Print dir
40-
run: |
41-
dir
42-
43-
- name: Install dependencies for CLI for Microsoft 365
44-
run: npm i
45-
working-directory: cli-microsoft365
46-
47-
- name: Build CLI for Microsoft 365
48-
run: npm run build
49-
working-directory: cli-microsoft365
50-
51-
- name: Run script to copy local CLI for Microsoft 365
52-
run: .\vscode-viva\scripts\cli-for-microsoft365-copy-local-version.ps1 -workspacePath "${{ github.workspace }}"
53-
shell: pwsh
54-
continue-on-error: false
55-
5632
- name: Build SPFx Toolkit
5733
run: npm run package
5834
working-directory: vscode-viva

.github/workflows/release-beta.yml

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -26,33 +26,9 @@ jobs:
2626
path: vscode-viva
2727

2828
- name: Install the dependencies
29-
run: npm ci
29+
run: npm install --omit=optional
3030
working-directory: vscode-viva
3131

32-
- name: Checkout cli-microsoft365
33-
uses: actions/checkout@v4
34-
with:
35-
repository: Adam-it/cli-microsoft365
36-
path: cli-microsoft365
37-
ref: cli-cjs
38-
39-
- name: Print dir
40-
run: |
41-
dir
42-
43-
- name: Restore dependencies for cli-microsoft365
44-
run: npm i
45-
working-directory: cli-microsoft365
46-
47-
- name: Build cli-microsoft365
48-
run: npm run build
49-
working-directory: cli-microsoft365
50-
51-
- name: Run script copy local CLI for M365
52-
run: .\vscode-viva\scripts\cli-for-microsoft365-copy-local-version.ps1 -workspacePath "${{ github.workspace }}"
53-
shell: pwsh
54-
continue-on-error: false
55-
5632
- name: Publish
5733
run: npx @vscode/vsce@3.3.2 publish -p ${{ secrets.VSCE_PAT }} --pre-release --baseImagesUrl https://raw.githubusercontent.com/pnp/vscode-viva/dev
5834
working-directory: vscode-viva

.github/workflows/release-local.yml

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,33 +25,9 @@ jobs:
2525
path: vscode-viva
2626

2727
- name: Install the dependencies
28-
run: npm ci
28+
run: npm install --omit=optional
2929
working-directory: vscode-viva
3030

31-
- name: Checkout cli-microsoft365
32-
uses: actions/checkout@v4
33-
with:
34-
repository: Adam-it/cli-microsoft365
35-
path: cli-microsoft365
36-
ref: cli-cjs
37-
38-
- name: Print dir
39-
run: |
40-
dir
41-
42-
- name: Restore dependencies for cli-microsoft365
43-
run: npm i
44-
working-directory: cli-microsoft365
45-
46-
- name: Build cli-microsoft365
47-
run: npm run build
48-
working-directory: cli-microsoft365
49-
50-
- name: Run script copy local CLI for M365
51-
run: .\vscode-viva\scripts\cli-for-microsoft365-copy-local-version.ps1 -workspacePath "${{ github.workspace }}"
52-
shell: pwsh
53-
continue-on-error: false
54-
5531
- name: Package
5632
run: |
5733
npx @vscode/vsce@3.3.2 package

.github/workflows/release.yml

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -29,33 +29,9 @@ jobs:
2929
path: vscode-viva
3030

3131
- name: Install the dependencies
32-
run: npm ci
32+
run: npm install --omit=optional
3333
working-directory: vscode-viva
3434

35-
- name: Checkout cli-microsoft365
36-
uses: actions/checkout@v4
37-
with:
38-
repository: Adam-it/cli-microsoft365
39-
path: cli-microsoft365
40-
ref: cli-cjs
41-
42-
- name: Print dir
43-
run: |
44-
dir
45-
46-
- name: Restore dependencies for cli-microsoft365
47-
run: npm i
48-
working-directory: cli-microsoft365
49-
50-
- name: Build cli-microsoft365
51-
run: npm run build
52-
working-directory: cli-microsoft365
53-
54-
- name: Run script copy local CLI for M365
55-
run: .\vscode-viva\scripts\cli-for-microsoft365-copy-local-version.ps1 -workspacePath "${{ github.workspace }}"
56-
shell: pwsh
57-
continue-on-error: false
58-
5935
- name: Publish
6036
run: npx @vscode/vsce@3.3.2 publish -p ${{ secrets.VSCE_PAT }}
6137
working-directory: vscode-viva

CHANGELOG.md

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

3+
## [4.14.0] - 2025-12-18
4+
5+
- Added Support for SPFx 1.22.0 and 1.22.1
6+
- Added preferred node package manager setting
7+
- Added Heft tasks view
8+
- Added remove_spo_page language model tool for SharePoint
9+
- Added get_spo_page language model tool for SharePoint
10+
- Added list_spo_page language model tool for modern SharePoint page listing
11+
- Added support for all SPFx versions to upgrade action and language model upgrade project tool
12+
- Fixed bug with publish solution
13+
- Extended copilot-instructions
14+
- Refactored spo_list_get language model tool
15+
- Refactored spo_list_add language model tool
16+
- Refactored spo_list_remove language model tool
17+
- Fixed Toolkit getting stuck during component creation if `yo` is not installed
18+
- Updated Contribution guidelines
19+
- Refactored the way we add CLI for Microsoft 365 to SPFx Toolkit
20+
- Updated install dependencies and validate local setup to support all SPFx versions
21+
- Added Timezone Dropdown for Tenant App Catalog Creation
22+
- Added Feedback form
23+
- Added npm scripts as part of Tasks view
24+
- Fixed sample gallery script
25+
- Added link for CLI for Microsoft 365 MCP server in the help and feedback section
26+
- Improved model description for list_spo_app, install_spo_app language model tools
27+
- Enhanced list_spo_app to support listing apps from site collection app catalog
28+
- Enhanced install_spo_app to install app from site level app catalog
29+
- Added new uninstall_spo_app language model tools
30+
- Added new upgrade_spo_app language model tool
31+
- Added new list_spo_app_instances language model tool
32+
333
## [4.12.0] - 2025-10-07
434

535
- Compressed images in extension and docs

README.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,15 +68,11 @@ To ensure that you can develop SPFx solutions, you may use the **Validate local
6868

6969
![Validate dependency](./docs/assets/images-vscode/validate-dependency.png)
7070

71-
This action will check if you have the required dependencies such as:
71+
This action checks if your local development environment meets the required versions of Node.js and global dependencies for the SPFx version you have installed, and in case you do not have any SPFx generator installed, it will validate against the latest SPFx version.
7272

73-
- Node version: 22
74-
- NPM dependencies:
75-
- gulp
76-
- yo
77-
- @microsoft/generator-sharepoint
73+
It is also possible to install the required Node.js version and global dependencies for any SPFx version using the **Install dependencies** action.
7874

79-
In case you do not have all dependencies installed, or some are incorrect version, you can use the **install dependencies** action to install them.
75+
![install dependencies](./assets/images/install-dependencies.png)
8076

8177
> [!NOTE]
8278
> The list of valid dependencies is based on [set up your development environment recommendations](https://learn.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment)
@@ -185,12 +181,18 @@ Sign-in is also required for some actions to work properly like the deploy actio
185181

186182
[Check out our docs for more details](https://pnp.github.io/vscode-viva/features/sign-in)
187183

188-
### 7️⃣ Gulp tasks
184+
### 7️⃣ Tasks
189185

190-
The extension shows all possible Gulp tasks one may run on an SPFx project. The tasks allow you to clean, bundle, package, serve the project with a single click.
186+
The extension shows all possible tasks that can be run on an SPFx project. The tasks view displays all relevant tasks available for the current SPFx project, as well as all npm scripts defined in the `package.json` file.
187+
188+
For SPFx projects created with versions below 1.22, Gulp tasks will be shown in the tasks view:
191189

192190
![Gulp Tasks](./docs/assets/images-vscode/tasks.png)
193191

192+
For SPFx projects created with version 1.22 and above, Heft tasks will be shown in the tasks view:
193+
194+
![Tasks](./docs/assets/images-vscode/heft-tasks.png)
195+
194196
[Check out our docs for more details](https://pnp.github.io/vscode-viva/features/coding#gulp-tasks-view)
195197

196198
### 8️⃣ Actions
@@ -215,7 +217,7 @@ And for Azure DevOps👇
215217

216218
[Check out our docs for more details](https://pnp.github.io/vscode-viva/features/ci-cd)
217219

218-
- **Upgrade project** - Uses CLI for Microsoft 365 to create a .md and/or code tour report with upgrade guidance to the latest supported SPFx version by the extension. The upgrade guidance provides optional as well as required steps a user needs to take manually in order to upgrade the project. At the end of the guidance file, the user may find a summary of the steps in a single script and a couple of manual steps that need to be taken.
220+
- **Upgrade project** - Generates a detailed upgrade report (`.md` and/or code tour) to guide users from their current SPFx version to a selected target version using CLI for Microsoft 365. The report includes both required and optional upgrade steps, with a consolidated script at the end for automated actions and a list of remaining manual steps.
219221

220222
![Upgrade project](./docs/assets/images-vscode/upgrade-project.png)
221223

assets/walkthrough/actions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ And for Azure DevOps👇
1818

1919
![Azure DevOps CI CD pipeline](../../docs/assets/images-vscode/azdo-ci-cd.gif)
2020

21-
[Check out our docs for more details](https://pnp.github.io/vscode-viva/features/actions/#cicd-workflow)
21+
[Check out our docs for more details](https://pnp.github.io/vscode-viva/features/ci-cd/)
2222

23-
- **Upgrade project** - Uses CLI for Microsoft 365 to create a .md and/or code tour report with upgrade guidance to the latest supported SPFx version by the extension. The upgrade guidance provides optional as well as required steps a user needs to take manually in order to upgrade the project. At the end of the guidance file, the user may find a summary of the steps in a single script and a couple of manual steps that need to be taken.
23+
- **Upgrade project** - Generates a detailed upgrade report (`.md` and/or code tour) to guide users from their current SPFx version to a selected target version using CLI for Microsoft 365. The report includes both required and optional upgrade steps, with a consolidated script at the end for automated actions and a list of remaining manual steps.
2424

2525
![Upgrade project](../../docs/assets/images-vscode/upgrade-project.png)
2626

assets/walkthrough/cicd-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ And for Azure DevOps👇
1414

1515
![Azure DevOps CI CD pipeline](../../docs/assets/images-vscode/azdo-ci-cd.gif)
1616

17-
[Check out our docs for more details and a step by step guide](https://pnp.github.io/vscode-viva/features/actions/#cicd-workflow)
17+
[Check out our docs for more details and a step by step guide](https://pnp.github.io/vscode-viva/features/ci-cd/)

assets/walkthrough/spfx-intro.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The following are some of the key features included as part of the SPFx:
1010
- The controls are responsive and accessible by nature.
1111
- It enables the developer to access the lifecycle in addition to render, load, serialize and deserialize, configuration changes, and more.
1212
- It's framework-agnostic. You can use any JavaScript framework that you like including, but not limited to, React, Handlebars, Knockout, Angular, and Vue.js.
13-
- The developer toolchain is based on popular open-source client development tools such as NPM, TypeScript, Yeoman, webpack, and gulp.
13+
- The developer toolchain is based on popular open-source client development tools such as NPM, TypeScript, Yeoman, webpack, and heft/gulp.
1414
- Performance is reliable.
1515
- End users can use SPFx client-side solutions that are approved by the tenant administrators (or their delegates) on all sites, including self-service team, group, or personal sites.
1616
- SPFx web parts can be added to both classic and modern pages.

0 commit comments

Comments
 (0)