Skip to content

Commit 58e58e6

Browse files
authored
[Identity] Update manual IBC test (#32238)
This PR does the following: - Update the dependencies in `package.json` so that the build can compile successfully - Fix the `format` and `check-format` command - Update to the latest `webpack` and add polyfill. Reference [here](https://stackoverflow.com/questions/71524099/webpack-cli-invalid-options-object-dev-server-has-been-initialized-using-an-op) and [here](https://stackoverflow.com/questions/64557638/how-to-polyfill-node-core-modules-in-webpack-5)
1 parent e65befc commit 58e58e6

File tree

3 files changed

+58
-37
lines changed

3 files changed

+58
-37
lines changed

sdk/identity/identity/test/manual/interactive-browser-credential/package.json

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,36 @@
66
"scripts": {
77
"build": "webpack --config webpack.config.js",
88
"start": "webpack-dev-server",
9-
"check-format": "dev-tool run vendored prettier --list-different --config ../../../../../.prettierrc.json --ignore-path ../../../../../.prettierignore \"src/**/*.tsx\"",
10-
"format": "dev-tool run vendored prettier --write --config ../../../../../.prettierrc.json --ignore-path ../../../../../.prettierignore \"src/**/*.tsx\""
9+
"check-format": "dev-tool run vendored prettier --list-different --config ../../../../../../.prettierrc.json --ignore-path ../../../../../../.prettierignore \"src/**/*.tsx\"",
10+
"format": "dev-tool run vendored prettier --write --config ../../../../../../.prettierrc.json --ignore-path ../../../../../../.prettierignore \"src/**/*.tsx\""
1111
},
1212
"author": "Microsoft Corporation",
1313
"license": "MIT",
1414
"dependencies": {
15-
"@azure/identity": "^4.0.1",
16-
"@azure/service-bus": "^7.0.3",
17-
"react": "^16.8.6",
18-
"react-dom": "^16.8.6",
19-
"tslib": "2.4.1"
15+
"@azure/identity": "^4.5.0",
16+
"@azure/service-bus": "^7.9.5",
17+
"react": "^19.0.0",
18+
"react-dom": "^19.0.0",
19+
"tslib": "^2.8.1"
2020
},
2121
"devDependencies": {
2222
"@azure/dev-tool": "^1.0.0",
23-
"@azure/identity-cache-persistence": "^1.0.0",
24-
"@types/express": "^4.16.0",
25-
"@types/node": "^18.0.0",
26-
"@types/react": "^16.8.24",
27-
"@types/react-dom": "^16.8.5",
28-
"@types/webpack": "^4.4.13",
29-
"@types/webpack-dev-middleware": "^2.0.2",
30-
"dotenv": "^16.0.0",
31-
"ts-loader": "^8.0.0",
32-
"typescript": "~5.6.2",
33-
"webpack": "^4.0.0",
34-
"webpack-cli": "^3.0.0",
35-
"webpack-dev-server": "^3.7.2"
23+
"@azure/identity-cache-persistence": "^1.1.1",
24+
"@types/express": "^5.0.0",
25+
"@types/node": "^22.10.2",
26+
"@types/react": "^19.0.1",
27+
"@types/react-dom": "^19.0.2",
28+
"@types/webpack": "^5.28.5",
29+
"@types/webpack-dev-middleware": "^5.3.0",
30+
"buffer": "^6.0.3",
31+
"dotenv": "^16.4.7",
32+
"os-browserify": "^0.3.0",
33+
"ts-loader": "^9.5.1",
34+
"typescript": "^5.7.2",
35+
"path-browserify": "^1.0.1",
36+
"process": "^0.11.10",
37+
"webpack": "^5.97.1",
38+
"webpack-cli": "^5.1.4",
39+
"webpack-dev-server": "^5.2.0"
3640
}
3741
}

sdk/identity/identity/test/manual/interactive-browser-credential/src/index.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import * as React from "react";
55
import * as ReactDOM from "react-dom";
6+
import { createRoot } from "react-dom/client";
67

78
import { InteractiveBrowserCredential, BrowserLoginStyle } from "@azure/identity";
89
import { ServiceBusClient } from "@azure/service-bus";
@@ -65,7 +66,7 @@ let lastLoginStyle: BrowserLoginStyle | undefined;
6566
let cachedCredential: InteractiveBrowserCredential | undefined;
6667
function getCredential(
6768
clientDetails: ClientDetails,
68-
cacheCredential: boolean
69+
cacheCredential: boolean,
6970
): InteractiveBrowserCredential | undefined {
7071
if (!cacheCredential) {
7172
cachedCredential = undefined;
@@ -191,7 +192,7 @@ function ClientDetailsEditor({ clientDetails, onSetClientDetails }: ClientDetail
191192

192193
async function sendMessage(
193194
serviceBusEndpoint: string,
194-
clientDetails: ClientDetails
195+
clientDetails: ClientDetails,
195196
): Promise<string | undefined> {
196197
const credential = getCredential(clientDetails, clientDetails.cacheCredential);
197198
const queueName = clientDetails.queueName;
@@ -325,7 +326,7 @@ function TestPage() {
325326
parallel: false,
326327
serviceBusEndpoint: "",
327328
output: "",
328-
}
329+
},
329330
);
330331

331332
return (
@@ -338,4 +339,5 @@ function TestPage() {
338339
);
339340
}
340341

341-
ReactDOM.render(<TestPage />, document.getElementById("app"));
342+
const root = createRoot(document.getElementById("app"));
343+
root.render(<TestPage />);
Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,44 @@
11
const path = require('path');
2+
const webpack = require('webpack');
23

34
module.exports = {
4-
entry: './src/index.tsx',
5+
entry: "./src/index.tsx",
56
output: {
6-
filename: 'index.js',
7-
path: path.resolve(__dirname, 'dist')
7+
filename: "index.js",
8+
path: path.resolve(__dirname, "dist"),
89
},
910
module: {
1011
rules: [
1112
{
1213
test: /\.tsx?$/,
13-
use: 'ts-loader',
14-
exclude: /node_modules/
15-
}
16-
]
14+
use: "ts-loader",
15+
exclude: /node_modules/,
16+
},
17+
],
1718
},
19+
plugins: [
20+
new webpack.ProvidePlugin({
21+
process: "process/browser",
22+
Buffer: ["buffer", "Buffer"],
23+
}),
24+
],
1825
resolve: {
19-
extensions: [ '.tsx', '.ts', '.js' ],
20-
aliasFields: ['browser']
26+
extensions: [".tsx", ".ts", ".js"],
27+
aliasFields: ["browser"],
28+
alias: {
29+
process: "process/browser",
30+
},
31+
fallback: {
32+
path: require.resolve("path-browserify"),
33+
os: require.resolve("os-browserify/browser"),
34+
"process/browser": require.resolve("process/browser"),
35+
},
2136
},
22-
mode: 'development',
37+
mode: "development",
2338
devServer: {
24-
contentBase: '.',
39+
static: ".",
2540
},
2641
optimization: {
27-
usedExports: true
28-
}
42+
usedExports: true,
43+
},
2944
};

0 commit comments

Comments
 (0)