@atomicsmash/init-testing 2.1.3-beta.0 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +5 -5
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +18 -9
- package/package.json +1 -1
- package/toCopy/tests/e2e/example/example.test.mts +13 -11
package/dist/cli.js
CHANGED
|
@@ -49,7 +49,7 @@ const copyFiles = await readdir(copyFolder, {
|
|
|
49
49
|
recursive: true,
|
|
50
50
|
});
|
|
51
51
|
for (const dirent of copyFiles) {
|
|
52
|
-
let relativePath = pathRelative(copyFolder,
|
|
52
|
+
let relativePath = pathRelative(copyFolder, dirent.parentPath);
|
|
53
53
|
if (relativePath !== "" && !relativePath.endsWith("/")) {
|
|
54
54
|
relativePath = `${relativePath}/`;
|
|
55
55
|
}
|
|
@@ -101,7 +101,7 @@ for (const dirent of copyFiles) {
|
|
|
101
101
|
await writeFile(`${process.cwd()}/${relativePath}${dirent.name}`, data, { encoding: "utf8", flag: argv.overwriteFiles ? "w" : "wx" });
|
|
102
102
|
return `${relativePath}${dirent.name} copied successfully.`;
|
|
103
103
|
})
|
|
104
|
-
.catch((error) => `${relativePath}${dirent.name} failed to copy. Error: ${error}`));
|
|
104
|
+
.catch((error) => `${relativePath}${dirent.name} failed to copy. Error: ${error instanceof Error ? error : typeof error === "string" ? error : "Unknown error."}`));
|
|
105
105
|
}
|
|
106
106
|
const [nodeMajor, nodeMinor] = process.versions.node.split(".");
|
|
107
107
|
await Promise.all([
|
|
@@ -132,7 +132,7 @@ await Promise.all([
|
|
|
132
132
|
type: "dev",
|
|
133
133
|
}),
|
|
134
134
|
packageManager.ensurePackageIsInstalled("@types/node", {
|
|
135
|
-
packageConstraint: `${nodeMajor}.${nodeMinor}.x
|
|
135
|
+
packageConstraint: nodeMajor && nodeMinor ? `${nodeMajor}.${nodeMinor}.x` : "latest",
|
|
136
136
|
type: "dev",
|
|
137
137
|
}),
|
|
138
138
|
!hasRootTSConfig
|
|
@@ -144,7 +144,7 @@ await Promise.all([
|
|
|
144
144
|
])
|
|
145
145
|
.then((results) => {
|
|
146
146
|
if (results.some((result) => {
|
|
147
|
-
return result.status === "fulfilled" && result.value
|
|
147
|
+
return result.status === "fulfilled" && result.value;
|
|
148
148
|
})) {
|
|
149
149
|
const installedPackages = [
|
|
150
150
|
...packageManager.commands.install,
|
|
@@ -153,7 +153,7 @@ await Promise.all([
|
|
|
153
153
|
packageManager.runCommands();
|
|
154
154
|
console.log(`Packages installed: ${installedPackages.join(",")}.`);
|
|
155
155
|
}
|
|
156
|
-
return results[1].status === "fulfilled" && results[1].value
|
|
156
|
+
return results[1].status === "fulfilled" && results[1].value;
|
|
157
157
|
})
|
|
158
158
|
.then((shouldInstallPlaywright) => {
|
|
159
159
|
if (shouldInstallPlaywright) {
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAqBA,qBAAa,cAAc;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAkB;IACzC,QAAQ;QACP;;WAEG;eACU,MAAM,EAAE;QACrB;;WAEG;iBACY,MAAM,EAAE;QACvB;;WAEG;oBACe,MAAM,EAAE;MACzB;gBAEU,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;IAK1D;;OAEG;IACH,WAAW;IA2BX;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM;;;;;;;;;IA2BrC;;;;;;;;OAQG;IACG,wBAAwB,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;KACxB;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAqBA,qBAAa,cAAc;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAkB;IACzC,QAAQ;QACP;;WAEG;eACU,MAAM,EAAE;QACrB;;WAEG;iBACY,MAAM,EAAE;QACvB;;WAEG;oBACe,MAAM,EAAE;MACzB;gBAEU,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO;IAK1D;;OAEG;IACH,WAAW;IA2BX;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM;;;;;;;;;IA2BrC;;;;;;;;OAQG;IACG,wBAAwB,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;KACxB;CA2GF"}
|
package/dist/utils.js
CHANGED
|
@@ -95,44 +95,53 @@ export class PackageManager {
|
|
|
95
95
|
if (dependencyInfo === null) {
|
|
96
96
|
console.log(`${packageName} is missing, we will automatically install it for you.`);
|
|
97
97
|
this.commands.devInstall.push(`${packageName}@"${packageConstraintRange}"`);
|
|
98
|
-
|
|
98
|
+
resolve(true);
|
|
99
|
+
return;
|
|
99
100
|
}
|
|
100
101
|
if (greaterThanRange(dependencyInfo.currentVersion, packageConstraintRange)) {
|
|
101
102
|
console.log(`The package ${packageName} is already installed and is newer than the requested version. You may encounter issues with your testing setup.`);
|
|
102
|
-
|
|
103
|
+
reject(new Error("NEWER_PACKAGE_FOUND"));
|
|
104
|
+
return;
|
|
103
105
|
}
|
|
104
106
|
if (lessThanRange(dependencyInfo.currentVersion, packageConstraintRange)) {
|
|
105
107
|
console.log(`The package ${packageName} is already installed and is older than the requested version. You should manually update the package to match the range: ${packageConstraintRange}.`);
|
|
106
|
-
|
|
108
|
+
reject(new Error("OLDER_PACKAGE_FOUND"));
|
|
109
|
+
return;
|
|
107
110
|
}
|
|
108
111
|
console.log(`An acceptable version of ${packageName} is already installed, skipping...`);
|
|
109
|
-
|
|
112
|
+
resolve(false);
|
|
113
|
+
return;
|
|
110
114
|
}
|
|
111
115
|
if (dependencyInfo === null) {
|
|
112
116
|
console.log(`${packageName} is missing, we will automatically install it for you.`);
|
|
113
117
|
this.commands.install.push(`${packageName}@"${packageConstraintRange}"`);
|
|
114
|
-
|
|
118
|
+
resolve(true);
|
|
119
|
+
return;
|
|
115
120
|
}
|
|
116
121
|
const isFoundAsDevDependency = dependencyInfo.type === "dev";
|
|
117
122
|
if (greaterThanRange(dependencyInfo.currentVersion, packageConstraintRange)) {
|
|
118
123
|
console.log(`The package ${packageName} is already installed and is newer than the requested version. You may encounter issues with your testing setup.${isFoundAsDevDependency
|
|
119
124
|
? ` You should also move this dependency to be a normal dependency.`
|
|
120
125
|
: ""}`);
|
|
121
|
-
|
|
126
|
+
reject(new Error("NEWER_PACKAGE_FOUND"));
|
|
127
|
+
return;
|
|
122
128
|
}
|
|
123
129
|
if (lessThanRange(dependencyInfo.currentVersion, packageConstraintRange)) {
|
|
124
130
|
console.log(`The package ${packageName} is already installed and is older than the requested version. You should manually update the package to match the range: ${packageConstraintRange}.${isFoundAsDevDependency
|
|
125
131
|
? ` You should also move this dependency to be a normal dependency.`
|
|
126
132
|
: ""}`);
|
|
127
|
-
|
|
133
|
+
reject(new Error("OLDER_PACKAGE_FOUND"));
|
|
134
|
+
return;
|
|
128
135
|
}
|
|
129
136
|
if (isFoundAsDevDependency) {
|
|
130
137
|
console.log(`An acceptable version of ${packageName} is already installed, updating it to a normal dependency...`);
|
|
131
138
|
this.commands.install.push(`${packageName}@"${packageConstraintRange}"`);
|
|
132
|
-
|
|
139
|
+
resolve(true);
|
|
140
|
+
return;
|
|
133
141
|
}
|
|
134
142
|
console.log(`An acceptable version of ${packageName} is already installed, skipping...`);
|
|
135
|
-
|
|
143
|
+
resolve(false);
|
|
144
|
+
return;
|
|
136
145
|
});
|
|
137
146
|
}
|
|
138
147
|
}
|
package/package.json
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import { test, expect } from
|
|
1
|
+
import { test, expect } from "@playwright/test";
|
|
2
2
|
|
|
3
|
-
test(
|
|
4
|
-
|
|
3
|
+
test("has title", async ({ page }) => {
|
|
4
|
+
await page.goto("https://playwright.dev/");
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
// Expect a title "to contain" a substring.
|
|
7
|
+
await expect(page).toHaveTitle(/Playwright/);
|
|
8
8
|
});
|
|
9
9
|
|
|
10
|
-
test(
|
|
11
|
-
|
|
10
|
+
test("get started link", async ({ page }) => {
|
|
11
|
+
await page.goto("https://playwright.dev/");
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
// Click the get started link.
|
|
14
|
+
await page.getByRole("link", { name: "Get started" }).click();
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
// Expects page to have a heading with the name of Installation.
|
|
17
|
+
await expect(
|
|
18
|
+
page.getByRole("heading", { name: "Installation" }),
|
|
19
|
+
).toBeVisible();
|
|
18
20
|
});
|