Skip to content

Commit 6dc2380

Browse files
authored
Merge Shared Changes (#299)
1 parent f0efa86 commit 6dc2380

File tree

8 files changed

+579
-1144
lines changed

8 files changed

+579
-1144
lines changed

.azure-devops/full-pipeline.yml

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,18 @@ jobs:
2929
parameters:
3030
webView: "edge-legacy"
3131

32-
# Need to fix tests (use of find-process module) to be able to support IE 11 webview
33-
# - job: WebView_IE
34-
# pool:
35-
# name: OE-OfficeClientApps
36-
# steps:
37-
# - template: ./install.yml
38-
# - template: ./lint.yml
39-
# - template: ./build.yml
40-
# - template: ./devcerts.yml
41-
# - template: ./edgewebview.yml
42-
# - template: ./test.yml
43-
# parameters:
44-
# webView: "ie"
32+
- job: WebView_IE
33+
pool:
34+
name: OE-OfficeClientApps
35+
steps:
36+
- template: ./install.yml
37+
- template: ./lint.yml
38+
- template: ./build.yml
39+
- template: ./devcerts.yml
40+
- template: ./edgewebview.yml
41+
- template: ./test.yml
42+
parameters:
43+
webView: "ie"
4544

4645
- job: Mac
4746
pool:

.vscode/launch.json

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"version": "0.2.0",
66
"configurations": [
77
{
8+
"name": "Debug UI Tests",
89
"type": "node",
910
"request": "launch",
10-
"name": "Debug UI Tests",
1111
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
1212
"args": [
1313
"-u",
@@ -25,6 +25,27 @@
2525
"--preserve-symlinks"
2626
]
2727
},
28+
{
29+
"name": "Debug Unit Tests",
30+
"type": "node",
31+
"request": "launch",
32+
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
33+
"args": [
34+
"-u",
35+
"bdd",
36+
"--timeout",
37+
"999999",
38+
"--colors",
39+
"${workspaceFolder}/test/unit",
40+
"-r",
41+
"ts-node/register",
42+
"${workspaceFolder}/test/unit/*.test.ts"
43+
],
44+
"internalConsoleOptions": "openOnSessionStart",
45+
"runtimeArgs": [
46+
"--preserve-symlinks"
47+
]
48+
},
2849
{
2950
"name": "Excel Desktop (Custom Functions)",
3051
"type": "node",
@@ -57,7 +78,6 @@
5778
"preLaunchTask": "Debug: Excel Desktop",
5879
"postDebugTask": "Stop Debug"
5980
},
60-
6181
{
6282
"name": "Office Online (Chrome)",
6383
"type": "chrome",

convertToSingleHost.js

Lines changed: 51 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -18,77 +18,76 @@ const unlinkFileAsync = util.promisify(fs.unlink);
1818
const writeFileAsync = util.promisify(fs.writeFile);
1919

2020
async function removeTestInfraStructure() {
21-
deleteFolder(path.resolve(`./test`));
22-
23-
// delete the .github folder
24-
deleteFolder(path.resolve(`./.github`));
25-
26-
// delete CI/CD pipeline files
27-
deleteFolder(path.resolve(`./.azure-devops`));
21+
deleteFolder(path.resolve(`./test`));
2822

29-
await updatePackageJsonFile();
30-
await updateLaunchJsonFile();
31-
// delete this script
32-
await unlinkFileAsync("./convertToSingleHost.js");
23+
// delete the .github folder
24+
deleteFolder(path.resolve(`./.github`));
25+
26+
// delete CI/CD pipeline files
27+
deleteFolder(path.resolve(`./.azure-devops`));
28+
29+
await updatePackageJsonFile();
30+
await updateLaunchJsonFile();
31+
// delete this script
32+
await unlinkFileAsync("./convertToSingleHost.js");
3333
}
3434

3535
async function updatePackageJsonFile() {
36-
// update package.json to reflect selected host
37-
const packageJson = `./package.json`;
38-
const data = await readFileAsync(packageJson, "utf8");
39-
let content = JSON.parse(data);
36+
// update package.json to reflect selected host
37+
const packageJson = `./package.json`;
38+
const data = await readFileAsync(packageJson, "utf8");
39+
let content = JSON.parse(data);
4040

41-
// remove scripts that are unrelated to the selected host
42-
Object.keys(content.scripts).forEach(function (key) {
43-
if (key === "convert-to-single-host" || key === "test") {
44-
delete content.scripts[key];
45-
}
46-
});
41+
// remove scripts that are unrelated to the selected host
42+
Object.keys(content.scripts).forEach(function (key) {
43+
if (key === "convert-to-single-host" || key === "test") {
44+
delete content.scripts[key];
45+
}
46+
});
4747

48-
// remove test-related packages
49-
Object.keys(content.devDependencies).forEach(function (key) {
50-
if (testPackages.includes(key)) {
51-
delete content.devDependencies[key]
52-
}
53-
});
48+
// remove test-related packages
49+
Object.keys(content.devDependencies).forEach(function (key) {
50+
if (testPackages.includes(key)) {
51+
delete content.devDependencies[key];
52+
}
53+
});
5454

55-
// write updated json to file
56-
await writeFileAsync(packageJson, JSON.stringify(content, null, 2));
55+
// write updated json to file
56+
await writeFileAsync(packageJson, JSON.stringify(content, null, 2));
5757
}
5858

5959
async function updateLaunchJsonFile() {
60-
// remove 'Debug Tests' configuration from launch.json
61-
const launchJson = `.vscode/launch.json`;
62-
const launchJsonContent = await readFileAsync(launchJson, "utf8");
63-
const regex = /"configurations": \[\r?\n(.*{(.*\r?\n)*?.*"name": "Debug Tests",\r?\n(.*\r?\n)*?.*},)/gm;
64-
const updatedContent = launchJsonContent.replace(regex, `"configurations": [`);
65-
await writeFileAsync(launchJson, updatedContent);
60+
// remove 'Debug Tests' configuration from launch.json
61+
const launchJson = `.vscode/launch.json`;
62+
const launchJsonContent = await readFileAsync(launchJson, "utf8");
63+
const regex = /(.+{\r?\n.*"name": "Debug (?:UI|Unit) Tests",\r?\n(?:.*\r?\n)*?.*},.*\r?\n)/gm;
64+
const updatedContent = launchJsonContent.replace(regex, "");
65+
await writeFileAsync(launchJson, updatedContent);
6666
}
6767

6868
function deleteFolder(folder) {
69-
try {
70-
if (fs.existsSync(folder)) {
71-
fs.readdirSync(folder).forEach(function (file, index) {
72-
const curPath = `${folder}/${file}`;
69+
try {
70+
if (fs.existsSync(folder)) {
71+
fs.readdirSync(folder).forEach(function (file, index) {
72+
const curPath = `${folder}/${file}`;
7373

74-
if (fs.lstatSync(curPath).isDirectory()) {
75-
deleteFolder(curPath);
76-
}
77-
else {
78-
fs.unlinkSync(curPath);
79-
}
80-
});
81-
fs.rmdirSync(folder);
74+
if (fs.lstatSync(curPath).isDirectory()) {
75+
deleteFolder(curPath);
76+
} else {
77+
fs.unlinkSync(curPath);
8278
}
83-
} catch (err) {
84-
throw new Error(`Unable to delete folder "${folder}".\n${err}`);
79+
});
80+
fs.rmdirSync(folder);
8581
}
82+
} catch (err) {
83+
throw new Error(`Unable to delete folder "${folder}".\n${err}`);
84+
}
8685
}
8786

8887
/**
8988
* Remove test infrastructure from project.
9089
*/
91-
removeTestInfraStructure().catch(err => {
92-
console.error(`Error: ${err instanceof Error ? err.message : err}`);
93-
process.exitCode = 1;
90+
removeTestInfraStructure().catch((err) => {
91+
console.error(`Error: ${err instanceof Error ? err.message : err}`);
92+
process.exitCode = 1;
9493
});

0 commit comments

Comments
 (0)