@qavajs/create 1.0.1 → 2.1.0

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/CHANGELOG.MD CHANGED
@@ -8,6 +8,12 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
8
8
  :beetle: - bugfix
9
9
  :x: - deprecation
10
10
 
11
+ ## [2.1.0]
12
+ - :rocket: removed yarn-install dependency
13
+
14
+ ## [2.0.0]
15
+ - :rocket: release v2
16
+
11
17
  ## [1.0.0]
12
18
  - :rocket: release
13
19
 
package/lib/deps.js CHANGED
@@ -3,20 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.additionalModules = exports.modules = exports.format = exports.steps = void 0;
4
4
  exports.default = [
5
5
  '@cucumber/cucumber',
6
- '@qavajs/memory',
7
- '@qavajs/cli',
8
- '@qavajs/validation'
6
+ '@qavajs/core@2'
9
7
  ];
10
8
  exports.steps = [
11
- { module: 'playwright', packageName: '@qavajs/steps-playwright', version: '1' },
12
- { module: 'wdio', packageName: '@qavajs/steps-wdio', version: '1' },
13
- { module: 'api', packageName: '@qavajs/steps-api', version: '1' },
14
- { module: 'files', packageName: '@qavajs/steps-files', version: '1' },
15
- { module: 'sql', packageName: '@qavajs/steps-sql', version: '1' },
16
- { module: 'accessibility', packageName: '@qavajs/steps-accessibility', version: '1' },
17
- { module: 'lighthouse', packageName: '@qavajs/steps-lighthouse', version: '1' },
18
- { module: 'visual testing', packageName: '@qavajs/steps-visual-testing', version: '1' },
19
- { module: 'memory', packageName: '@qavajs/steps-memory', version: '1' }
9
+ { module: 'playwright', packageName: '@qavajs/steps-playwright', version: '2' },
10
+ { module: 'wdio', packageName: '@qavajs/steps-wdio', version: '2' },
11
+ { module: 'api', packageName: '@qavajs/steps-api', version: '2' },
12
+ { module: 'files', packageName: '@qavajs/steps-files', version: '2' },
13
+ { module: 'sql', packageName: '@qavajs/steps-sql', version: '2' },
14
+ { module: 'accessibility', packageName: '@qavajs/steps-accessibility', version: '2' },
15
+ { module: 'lighthouse', packageName: '@qavajs/steps-lighthouse', version: '2' },
16
+ { module: 'visual testing', packageName: '@qavajs/steps-visual-testing', version: '2' }
20
17
  ];
21
18
  exports.format = [
22
19
  { module: 'report portal', packageName: '@qavajs/format-report-portal', out: 'report/rp.out' },
package/lib/install.js CHANGED
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -31,15 +41,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
41
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
42
  });
33
43
  };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
44
  Object.defineProperty(exports, "__esModule", { value: true });
38
45
  exports.default = install;
39
46
  const promises_1 = require("node:fs/promises");
40
47
  const fs_extra_1 = require("fs-extra");
41
48
  const node_path_1 = require("node:path");
42
- const yarn_install_1 = __importDefault(require("yarn-install"));
49
+ const node_child_process_1 = require("node:child_process");
50
+ function installModules({ deps, cwd }) {
51
+ const modules = deps.join(' ');
52
+ (0, node_child_process_1.execSync)(`npm install ${modules}`, { cwd });
53
+ }
43
54
  const deps_1 = __importStar(require("./deps"));
44
55
  const ejs_1 = require("ejs");
45
56
  const prompts_1 = require("@inquirer/prompts");
@@ -92,7 +103,7 @@ function install() {
92
103
  choices: packs(deps_1.additionalModules)
93
104
  })
94
105
  };
95
- const stepsPackages = [...packages(['memory'], deps_1.steps), ...packages(answers.steps, deps_1.steps)];
106
+ const stepsPackages = ['@qavajs/steps-memory@2', ...packages(answers.steps, deps_1.steps)];
96
107
  const formatPackages = packages(answers.formats, deps_1.format);
97
108
  const modulePackages = packages(answers.modules, deps_1.modules);
98
109
  const additionalPackages = packages(answers.additionalModules, deps_1.additionalModules);
@@ -123,7 +134,7 @@ function install() {
123
134
  const configTemplate = yield (0, promises_1.readFile)((0, node_path_1.resolve)(__dirname, '../templates/config.ejs'), 'utf-8');
124
135
  const configEjs = (0, ejs_1.compile)(configTemplate);
125
136
  const stepDefinitionGlob = `step_definition/*.${isTypescript ? 'ts' : 'js'}`;
126
- const stepsPackagesGlobs = [...requireGlob(['memory'], deps_1.steps), ...requireGlob(answers.steps, deps_1.steps)];
137
+ const stepsPackagesGlobs = ['node_modules/@qavajs/steps-memory/index.js', ...requireGlob(answers.steps, deps_1.steps)];
127
138
  const config = configEjs({
128
139
  steps: JSON.stringify([...stepsPackagesGlobs, stepDefinitionGlob]),
129
140
  moduleSystem: answers.moduleSystem,
@@ -192,10 +203,9 @@ function install() {
192
203
  ];
193
204
  console.log('installing packages...');
194
205
  console.log(modulesToInstall);
195
- (0, yarn_install_1.default)({
206
+ installModules({
196
207
  deps: modulesToInstall,
197
- cwd: process.cwd(),
198
- respectNpm5: true
208
+ cwd: process.cwd()
199
209
  });
200
210
  console.log('test script:');
201
211
  console.log(`npx qavajs --config config.${isTypescript ? 'ts' : 'js'}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qavajs/create",
3
- "version": "1.0.1",
3
+ "version": "2.1.0",
4
4
  "description": "initializer of @qavajs project",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -20,17 +20,16 @@
20
20
  "author": "Alexandr Galichenko",
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
- "@inquirer/prompts": "^7.0.1",
23
+ "@inquirer/prompts": "^7.2.3",
24
24
  "ejs": "^3.1.10",
25
- "fs-extra": "^11.2.0",
26
- "typescript": "^5.6.3",
27
- "yarn-install": "^1.0.0"
25
+ "fs-extra": "^11.3.0",
26
+ "typescript": "^5.7.3"
28
27
  },
29
28
  "devDependencies": {
30
29
  "@types/ejs": "^3.1.5",
31
30
  "@types/fs-extra": "^11.0.4",
32
- "@types/node": "^22.8.2",
33
- "@vitest/coverage-v8": "^2.1.4",
34
- "vitest": "^2.1.4"
31
+ "@types/node": "^22.10.7",
32
+ "@vitest/coverage-v8": "^3.0.1",
33
+ "vitest": "^3.0.1"
35
34
  }
36
35
  }
package/src/deps.ts CHANGED
@@ -1,27 +1,24 @@
1
1
  export default [
2
2
  '@cucumber/cucumber',
3
- '@qavajs/memory',
4
- '@qavajs/cli',
5
- '@qavajs/validation'
3
+ '@qavajs/core@2'
6
4
  ]
7
5
 
8
6
  export type ModuleDefinition = {
9
7
  module: string,
10
8
  packageName: string,
11
9
  out?: string,
12
- version?: string
10
+ version?: string,
13
11
  }
14
12
 
15
13
  export const steps: Array<ModuleDefinition> = [
16
- { module: 'playwright', packageName: '@qavajs/steps-playwright', version: '1' },
17
- { module: 'wdio', packageName: '@qavajs/steps-wdio', version: '1' },
18
- { module: 'api', packageName: '@qavajs/steps-api', version: '1' },
19
- { module: 'files', packageName: '@qavajs/steps-files', version: '1' },
20
- { module: 'sql', packageName: '@qavajs/steps-sql', version: '1' },
21
- { module: 'accessibility', packageName: '@qavajs/steps-accessibility', version: '1' },
22
- { module: 'lighthouse', packageName: '@qavajs/steps-lighthouse', version: '1' },
23
- { module: 'visual testing', packageName: '@qavajs/steps-visual-testing', version: '1' },
24
- { module: 'memory', packageName: '@qavajs/steps-memory', version: '1' }
14
+ { module: 'playwright', packageName: '@qavajs/steps-playwright', version: '2' },
15
+ { module: 'wdio', packageName: '@qavajs/steps-wdio', version: '2' },
16
+ { module: 'api', packageName: '@qavajs/steps-api', version: '2' },
17
+ { module: 'files', packageName: '@qavajs/steps-files', version: '2' },
18
+ { module: 'sql', packageName: '@qavajs/steps-sql', version: '2' },
19
+ { module: 'accessibility', packageName: '@qavajs/steps-accessibility', version: '2' },
20
+ { module: 'lighthouse', packageName: '@qavajs/steps-lighthouse', version: '2'},
21
+ { module: 'visual testing', packageName: '@qavajs/steps-visual-testing', version: '2' }
25
22
  ]
26
23
 
27
24
  export const format: Array<ModuleDefinition> = [
package/src/install.ts CHANGED
@@ -1,7 +1,13 @@
1
1
  import { readFile, writeFile } from 'node:fs/promises';
2
2
  import { ensureDir } from 'fs-extra';
3
3
  import { resolve } from 'node:path';
4
- import yarnInstall from 'yarn-install';
4
+ import { execSync } from 'node:child_process';
5
+
6
+ function installModules({ deps, cwd }: { deps: any[], cwd: string }) {
7
+ const modules = deps.join(' ');
8
+ execSync(`npm install ${modules}`, { cwd });
9
+ }
10
+
5
11
  import deps, { steps, format, modules, additionalModules, ModuleDefinition } from './deps';
6
12
  import { compile } from 'ejs';
7
13
  import { select, checkbox } from '@inquirer/prompts';
@@ -56,7 +62,7 @@ export default async function install(): Promise<void> {
56
62
  })
57
63
  };
58
64
 
59
- const stepsPackages: Array<string> = [...packages(['memory'], steps), ...packages(answers.steps, steps)];
65
+ const stepsPackages: Array<string> = ['@qavajs/steps-memory@2', ...packages(answers.steps, steps)];
60
66
  const formatPackages: Array<string> = packages(answers.formats, format);
61
67
  const modulePackages: Array<string> = packages(answers.modules, modules);
62
68
  const additionalPackages: Array<string> = packages(answers.additionalModules, additionalModules);
@@ -102,7 +108,7 @@ export default async function install(): Promise<void> {
102
108
  );
103
109
  const configEjs = compile(configTemplate);
104
110
  const stepDefinitionGlob = `step_definition/*.${isTypescript ? 'ts' : 'js'}`;
105
- const stepsPackagesGlobs = [...requireGlob(['memory'], steps), ...requireGlob(answers.steps, steps)];
111
+ const stepsPackagesGlobs = ['node_modules/@qavajs/steps-memory/index.js', ...requireGlob(answers.steps, steps)];
106
112
  const config = configEjs({
107
113
  steps: JSON.stringify([...stepsPackagesGlobs, stepDefinitionGlob]),
108
114
  moduleSystem: answers.moduleSystem,
@@ -197,10 +203,9 @@ export default async function install(): Promise<void> {
197
203
  console.log('installing packages...');
198
204
  console.log(modulesToInstall);
199
205
 
200
- yarnInstall({
206
+ installModules({
201
207
  deps: modulesToInstall,
202
- cwd: process.cwd(),
203
- respectNpm5: true
208
+ cwd: process.cwd()
204
209
  });
205
210
 
206
211
  console.log('test script:');
package/templates/po.ejs CHANGED
@@ -1,9 +1,9 @@
1
1
  <% if (moduleSystem === 'ES Modules' || moduleSystem === 'Typescript') {-%>
2
- <%-'import { $, $$, Component } from "'-%><%-poModule%>";
2
+ <%-'import { locator } from "'-%><%-poModule%>";
3
3
  <%} else {-%>
4
- <%-'const { $, $$, Component } = require('%>"<%-poModule%>");
4
+ <%-'const { locator } = require('%>"<%-poModule%>");
5
5
  <%}%>
6
6
  <% if (moduleSystem === 'ES Modules' || moduleSystem === 'Typescript') {-%><%-'export default '%><%} else {%><%-'module.exports = '%><%}%>class App {
7
- Body = $("body");
8
- GetStartedButton = $("a.button[href='/docs/intro']");
7
+ Body = locator("body");
8
+ GetStartedButton = locator("a.button[href='/docs/intro']");
9
9
  }
@@ -1,17 +0,0 @@
1
- declare module 'yarn-install' {
2
- export default function yarnInstall(
3
- params: {
4
- deps: string[]
5
- cwd?: string
6
- registry?: string
7
- dev?: boolean
8
- global?: boolean
9
- remove?: boolean
10
- production?: boolean
11
- respectNpm5?: boolean
12
- }
13
- ): {
14
- stderr: string
15
- status: number
16
- }
17
- }