Merge pull request #2810 from a1mery/react-graph-app-secret-expiration-upgrade-to-SPFx-v1.15
React graph app secret expiration upgrade to sp fx v1.15
This commit is contained in:
commit
8750a9f2fa
|
@ -1,7 +1,7 @@
|
||||||
// For more information on how to run this SPFx project in a VS Code Remote Container, please visit https://aka.ms/spfx-devcontainer
|
// For more information on how to run this SPFx project in a VS Code Remote Container, please visit https://aka.ms/spfx-devcontainer
|
||||||
{
|
{
|
||||||
"name": "SPFx 1.14.0",
|
"name": "SPFx 1.15.0",
|
||||||
"image": "docker.io/m365pnp/spfx:1.14.0",
|
"image": "docker.io/m365pnp/spfx:1.15.0",
|
||||||
// Set *default* container specific settings.json values on container create.
|
// Set *default* container specific settings.json values on container create.
|
||||||
"settings": {},
|
"settings": {},
|
||||||
// Add the IDs of extensions you want installed when the container is created.
|
// Add the IDs of extensions you want installed when the container is created.
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
require('@rushstack/eslint-config/patch/modern-module-resolution');
|
||||||
|
module.exports = {
|
||||||
|
extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],
|
||||||
|
parserOptions: { tsconfigRootDir: __dirname }
|
||||||
|
};
|
|
@ -35,3 +35,5 @@ obj
|
||||||
*.cer
|
*.cer
|
||||||
# .PEM Certificates
|
# .PEM Certificates
|
||||||
*.pem
|
*.pem
|
||||||
|
|
||||||
|
.heft
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"@microsoft/generator-sharepoint": {
|
"@microsoft/generator-sharepoint": {
|
||||||
"isCreatingSolution": true,
|
"isCreatingSolution": true,
|
||||||
"environment": "spo",
|
"environment": "spo",
|
||||||
"version": "1.14.0",
|
"version": "1.15.0",
|
||||||
"libraryName": "react-graph-app-secret-expiration",
|
"libraryName": "react-graph-app-secret-expiration",
|
||||||
"libraryId": "b25d85a4-7310-408a-a263-25959b0a5b1b",
|
"libraryId": "b25d85a4-7310-408a-a263-25959b0a5b1b",
|
||||||
"packageManager": "npm",
|
"packageManager": "npm",
|
||||||
|
|
|
@ -9,7 +9,7 @@ I got the idea from this great article [Use Power Automate to Notify of Upcoming
|
||||||
|
|
||||||
## Compatibility
|
## Compatibility
|
||||||
|
|
||||||
![SPFx 1.14](https://img.shields.io/badge/SPFx-1.14-green.svg)
|
![SPFx 1.15](https://img.shields.io/badge/SPFx-1.15-green.svg)
|
||||||
![Node.js v14 | v12](https://img.shields.io/badge/Node.js-v14%20%7C%20v12-green.svg)
|
![Node.js v14 | v12](https://img.shields.io/badge/Node.js-v14%20%7C%20v12-green.svg)
|
||||||
![Compatible with SharePoint Online](https://img.shields.io/badge/SharePoint%20Online-Compatible-green.svg)
|
![Compatible with SharePoint Online](https://img.shields.io/badge/SharePoint%20Online-Compatible-green.svg)
|
||||||
![Does not work with SharePoint 2019](https://img.shields.io/badge/SharePoint%20Server%202019-Incompatible-red.svg "SharePoint Server 2019 requires SPFx 1.4.1 or lower")
|
![Does not work with SharePoint 2019](https://img.shields.io/badge/SharePoint%20Server%202019-Incompatible-red.svg "SharePoint Server 2019 requires SPFx 1.4.1 or lower")
|
||||||
|
@ -38,6 +38,7 @@ Version|Date|Comments
|
||||||
1.1|October 10, 2021|Add pagination
|
1.1|October 10, 2021|Add pagination
|
||||||
1.2|November 04, 2021|Add group views
|
1.2|November 04, 2021|Add group views
|
||||||
1.3|March 14, 2022|Upgrade to SPFx v1.14.0
|
1.3|March 14, 2022|Upgrade to SPFx v1.14.0
|
||||||
|
1.4|July 07, 2022|Upgrade to SPFx v1.15.0
|
||||||
|
|
||||||
|
|
||||||
## Minimal path to awesome
|
## Minimal path to awesome
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
"This sample web part shows the list of your applications registered in Azure AD along with their associated client secret/certificate expiration date."
|
"This sample web part shows the list of your applications registered in Azure AD along with their associated client secret/certificate expiration date."
|
||||||
],
|
],
|
||||||
"creationDateTime": "2021-09-17",
|
"creationDateTime": "2021-09-17",
|
||||||
"updateDateTime": "2022-03-14",
|
"updateDateTime": "2022-07-07",
|
||||||
"products": [
|
"products": [
|
||||||
"SharePoint"
|
"SharePoint"
|
||||||
],
|
],
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "SPFX-VERSION",
|
"key": "SPFX-VERSION",
|
||||||
"value": "1.14.0"
|
"value": "1.15.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "PNPCONTROLS",
|
"key": "PNPCONTROLS",
|
||||||
|
|
|
@ -17,12 +17,12 @@
|
||||||
"title": "react-graph-app-secret-expiration Feature",
|
"title": "react-graph-app-secret-expiration Feature",
|
||||||
"description": "The feature that activates elements of the react-graph-app-secret-expiration solution.",
|
"description": "The feature that activates elements of the react-graph-app-secret-expiration solution.",
|
||||||
"id": "ca58f355-9872-4025-8ad5-763ad6076034",
|
"id": "ca58f355-9872-4025-8ad5-763ad6076034",
|
||||||
"version": "1.3.0.0"
|
"version": "1.4.0.0"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name": "react-graph-app-secret-expiration-client-side-solution",
|
"name": "react-graph-app-secret-expiration-client-side-solution",
|
||||||
"id": "b25d85a4-7310-408a-a263-25959b0a5b1b",
|
"id": "b25d85a4-7310-408a-a263-25959b0a5b1b",
|
||||||
"version": "1.3.0.0",
|
"version": "1.4.0.0",
|
||||||
"includeClientSideAssets": true,
|
"includeClientSideAssets": true,
|
||||||
"isDomainIsolated": false,
|
"isDomainIsolated": false,
|
||||||
"skipFeatureDeployment": true,
|
"skipFeatureDeployment": true,
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "react-graph-app-secret-expiration",
|
"name": "react-graph-app-secret-expiration",
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -11,28 +11,34 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluentui/react": "^8.61.0",
|
"@fluentui/react": "^8.61.0",
|
||||||
"@microsoft/rush-stack-compiler-3.8": "^0.4.47",
|
"@microsoft/rush-stack-compiler-3.8": "^0.4.47",
|
||||||
"@microsoft/sp-core-library": "1.14.0",
|
"@microsoft/sp-core-library": "1.15.0",
|
||||||
"@microsoft/sp-http": "^1.14.0",
|
"@microsoft/sp-http": "1.15.0",
|
||||||
"@microsoft/sp-lodash-subset": "1.14.0",
|
"@microsoft/sp-lodash-subset": "1.15.0",
|
||||||
"@microsoft/sp-office-ui-fabric-core": "1.14.0",
|
"@microsoft/sp-office-ui-fabric-core": "1.15.0",
|
||||||
"@microsoft/sp-property-pane": "1.14.0",
|
"@microsoft/sp-property-pane": "1.15.0",
|
||||||
"@microsoft/sp-webpart-base": "1.14.0",
|
"@microsoft/sp-webpart-base": "1.15.0",
|
||||||
"@pnp/spfx-controls-react": "3.3.0",
|
"@pnp/spfx-controls-react": "3.3.0",
|
||||||
"moment": "^2.29.1",
|
"moment": "^2.29.1",
|
||||||
"office-ui-fabric-react": "7.174.1",
|
"office-ui-fabric-react": "7.185.7",
|
||||||
"react": "16.13.1",
|
"react": "16.13.1",
|
||||||
"react-dom": "16.13.1"
|
"react-dom": "16.13.1",
|
||||||
|
"tslib": "2.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@microsoft/eslint-config-spfx": "1.15.0",
|
||||||
|
"@microsoft/eslint-plugin-spfx": "1.15.0",
|
||||||
"@microsoft/rush-stack-compiler-3.7": "0.2.3",
|
"@microsoft/rush-stack-compiler-3.7": "0.2.3",
|
||||||
"@microsoft/rush-stack-compiler-3.9": "0.4.47",
|
"@microsoft/rush-stack-compiler-3.9": "0.4.47",
|
||||||
"@microsoft/sp-build-web": "1.14.0",
|
"@microsoft/rush-stack-compiler-4.5": "0.2.2",
|
||||||
"@microsoft/sp-module-interfaces": "1.14.0",
|
"@microsoft/sp-build-web": "1.15.0",
|
||||||
"@microsoft/sp-tslint-rules": "1.14.0",
|
"@microsoft/sp-module-interfaces": "1.15.0",
|
||||||
|
"@rushstack/eslint-config": "2.5.1",
|
||||||
"@types/react": "16.9.51",
|
"@types/react": "16.9.51",
|
||||||
"@types/react-dom": "16.9.8",
|
"@types/react-dom": "16.9.8",
|
||||||
"@types/webpack-env": "1.13.1",
|
"@types/webpack-env": "1.15.2",
|
||||||
"ajv": "~5.2.2",
|
"ajv": "6.12.5",
|
||||||
|
"eslint": "8.7.0",
|
||||||
|
"eslint-plugin-react-hooks": "4.3.0",
|
||||||
"gulp": "~4.0.2"
|
"gulp": "~4.0.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base';
|
||||||
import * as strings from 'GraphAppSecretExpirationWebPartStrings';
|
import * as strings from 'GraphAppSecretExpirationWebPartStrings';
|
||||||
import GraphAppSecretExpiration from './components/GraphAppSecretExpiration';
|
import GraphAppSecretExpiration from './components/GraphAppSecretExpiration';
|
||||||
import { IGraphAppSecretExpirationProps } from './components/IGraphAppSecretExpirationProps';
|
import { IGraphAppSecretExpirationProps } from './components/IGraphAppSecretExpirationProps';
|
||||||
import { MSGraphClient } from '@microsoft/sp-http';
|
import { MSGraphClientV3 } from '@microsoft/sp-http';
|
||||||
|
|
||||||
export interface IGraphAppSecretExpirationWebPartProps {
|
export interface IGraphAppSecretExpirationWebPartProps {
|
||||||
groupByColumn: string;
|
groupByColumn: string;
|
||||||
|
@ -22,7 +22,7 @@ export interface IGraphAppSecretExpirationWebPartProps {
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class GraphAppSecretExpirationWebPart extends BaseClientSideWebPart<IGraphAppSecretExpirationWebPartProps> {
|
export default class GraphAppSecretExpirationWebPart extends BaseClientSideWebPart<IGraphAppSecretExpirationWebPartProps> {
|
||||||
private graphClient: MSGraphClient;
|
private graphClient: MSGraphClientV3;
|
||||||
private dropdownOptions: IPropertyPaneDropdownOption[] = [
|
private dropdownOptions: IPropertyPaneDropdownOption[] = [
|
||||||
{ key: "none", text: "None" },
|
{ key: "none", text: "None" },
|
||||||
{ key: "applicationId", text: "Application ID" },
|
{ key: "applicationId", text: "Application ID" },
|
||||||
|
@ -31,8 +31,8 @@ export default class GraphAppSecretExpirationWebPart extends BaseClientSideWebPa
|
||||||
public onInit(): Promise<void> {
|
public onInit(): Promise<void> {
|
||||||
return new Promise<void>((resolve: () => void, reject: (error: any) => void): void => {
|
return new Promise<void>((resolve: () => void, reject: (error: any) => void): void => {
|
||||||
this.context.msGraphClientFactory
|
this.context.msGraphClientFactory
|
||||||
.getClient()
|
.getClient("3")
|
||||||
.then((client: MSGraphClient): void => {
|
.then((client: MSGraphClientV3): void => {
|
||||||
this.graphClient = client;
|
this.graphClient = client;
|
||||||
resolve();
|
resolve();
|
||||||
}, err => reject(err));
|
}, err => reject(err));
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { MSGraphClient } from "@microsoft/sp-http";
|
import { MSGraphClientV3 } from "@microsoft/sp-http";
|
||||||
|
|
||||||
export interface IGraphAppSecretExpirationProps {
|
export interface IGraphAppSecretExpirationProps {
|
||||||
graphClient: MSGraphClient;
|
graphClient: MSGraphClientV3;
|
||||||
groupByColumn: string;
|
groupByColumn: string;
|
||||||
expiringSoon: boolean;
|
expiringSoon: boolean;
|
||||||
displaySampleData: boolean;
|
displaySampleData: boolean;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"extends": "./node_modules/@microsoft/rush-stack-compiler-3.9/includes/tsconfig-web.json",
|
"extends": "./node_modules/@microsoft/rush-stack-compiler-4.5/includes/tsconfig-web.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "es5",
|
"target": "es5",
|
||||||
"forceConsistentCasingInFileNames": true,
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "./node_modules/@microsoft/sp-tslint-rules/base-tslint.json",
|
|
||||||
"rules": {
|
|
||||||
"class-name": false,
|
|
||||||
"export-name": false,
|
|
||||||
"forin": false,
|
|
||||||
"label-position": false,
|
|
||||||
"member-access": true,
|
|
||||||
"no-arg": false,
|
|
||||||
"no-console": false,
|
|
||||||
"no-construct": false,
|
|
||||||
"no-duplicate-variable": true,
|
|
||||||
"no-eval": false,
|
|
||||||
"no-function-expression": true,
|
|
||||||
"no-internal-module": true,
|
|
||||||
"no-shadowed-variable": true,
|
|
||||||
"no-switch-case-fall-through": true,
|
|
||||||
"no-unnecessary-semicolons": true,
|
|
||||||
"no-unused-expression": true,
|
|
||||||
"no-with-statement": true,
|
|
||||||
"semicolon": true,
|
|
||||||
"trailing-comma": false,
|
|
||||||
"typedef": false,
|
|
||||||
"typedef-whitespace": false,
|
|
||||||
"use-named-parameter": true,
|
|
||||||
"variable-name": false,
|
|
||||||
"whitespace": false
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue