@atomicsmash/init-testing 2.1.2 → 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 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, `${dirent.path}`);
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 === true;
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 === true;
156
+ return results[1].status === "fulfilled" && results[1].value;
157
157
  })
158
158
  .then((shouldInstallPlaywright) => {
159
159
  if (shouldInstallPlaywright) {
@@ -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;CAkGF"}
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
- return resolve(true);
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
- return reject(new Error("NEWER_PACKAGE_FOUND"));
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
- return reject(new Error("OLDER_PACKAGE_FOUND"));
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
- return resolve(false);
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
- return resolve(true);
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
- return reject(new Error("NEWER_PACKAGE_FOUND"));
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
- return reject(new Error("OLDER_PACKAGE_FOUND"));
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
- return resolve(true);
139
+ resolve(true);
140
+ return;
133
141
  }
134
142
  console.log(`An acceptable version of ${packageName} is already installed, skipping...`);
135
- return resolve(false);
143
+ resolve(false);
144
+ return;
136
145
  });
137
146
  }
138
147
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@atomicsmash/init-testing",
3
3
  "type": "module",
4
- "version": "2.1.2",
4
+ "version": "2.1.3",
5
5
  "description": "Allow us to easily add automated testing setup to any npm setup.",
6
6
  "keywords": [
7
7
  "atomic",
@@ -43,8 +43,8 @@
43
43
  "lint:types": "tsc"
44
44
  },
45
45
  "dependencies": {
46
- "semver": "^7.7.3",
47
- "yargs": "^17.7.2"
46
+ "semver": "^7.7.4",
47
+ "yargs": "^18.0.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/semver": "^7.7.1",
@@ -1,18 +1,20 @@
1
- import { test, expect } from '@playwright/test';
1
+ import { test, expect } from "@playwright/test";
2
2
 
3
- test('has title', async ({ page }) => {
4
- await page.goto('https://playwright.dev/');
3
+ test("has title", async ({ page }) => {
4
+ await page.goto("https://playwright.dev/");
5
5
 
6
- // Expect a title "to contain" a substring.
7
- await expect(page).toHaveTitle(/Playwright/);
6
+ // Expect a title "to contain" a substring.
7
+ await expect(page).toHaveTitle(/Playwright/);
8
8
  });
9
9
 
10
- test('get started link', async ({ page }) => {
11
- await page.goto('https://playwright.dev/');
10
+ test("get started link", async ({ page }) => {
11
+ await page.goto("https://playwright.dev/");
12
12
 
13
- // Click the get started link.
14
- await page.getByRole('link', { name: 'Get started' }).click();
13
+ // Click the get started link.
14
+ await page.getByRole("link", { name: "Get started" }).click();
15
15
 
16
- // Expects page to have a heading with the name of Installation.
17
- await expect(page.getByRole('heading', { name: 'Installation' })).toBeVisible();
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
  });