@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 +6 -0
- package/lib/deps.js +9 -12
- package/lib/install.js +26 -16
- package/package.json +7 -8
- package/src/deps.ts +10 -13
- package/src/install.ts +11 -6
- package/templates/po.ejs +4 -4
- package/src/@types/yarn-install.d.ts +0 -17
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/
|
|
7
|
-
'@qavajs/cli',
|
|
8
|
-
'@qavajs/validation'
|
|
6
|
+
'@qavajs/core@2'
|
|
9
7
|
];
|
|
10
8
|
exports.steps = [
|
|
11
|
-
{ module: 'playwright', packageName: '@qavajs/steps-playwright', version: '
|
|
12
|
-
{ module: 'wdio', packageName: '@qavajs/steps-wdio', version: '
|
|
13
|
-
{ module: 'api', packageName: '@qavajs/steps-api', version: '
|
|
14
|
-
{ module: 'files', packageName: '@qavajs/steps-files', version: '
|
|
15
|
-
{ module: 'sql', packageName: '@qavajs/steps-sql', version: '
|
|
16
|
-
{ module: 'accessibility', packageName: '@qavajs/steps-accessibility', version: '
|
|
17
|
-
{ module: 'lighthouse', packageName: '@qavajs/steps-lighthouse', version: '
|
|
18
|
-
{ module: 'visual testing', packageName: '@qavajs/steps-visual-testing', version: '
|
|
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 (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
|
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 = [
|
|
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 = [
|
|
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
|
-
(
|
|
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
|
|
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.
|
|
23
|
+
"@inquirer/prompts": "^7.2.3",
|
|
24
24
|
"ejs": "^3.1.10",
|
|
25
|
-
"fs-extra": "^11.
|
|
26
|
-
"typescript": "^5.
|
|
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.
|
|
33
|
-
"@vitest/coverage-v8": "^
|
|
34
|
-
"vitest": "^
|
|
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/
|
|
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: '
|
|
17
|
-
{ module: 'wdio', packageName: '@qavajs/steps-wdio', version: '
|
|
18
|
-
{ module: 'api', packageName: '@qavajs/steps-api', version: '
|
|
19
|
-
{ module: 'files', packageName: '@qavajs/steps-files', version: '
|
|
20
|
-
{ module: 'sql', packageName: '@qavajs/steps-sql', version: '
|
|
21
|
-
{ module: 'accessibility', packageName: '@qavajs/steps-accessibility', version: '
|
|
22
|
-
{ module: 'lighthouse', packageName: '@qavajs/steps-lighthouse', version: '
|
|
23
|
-
{ module: 'visual testing', packageName: '@qavajs/steps-visual-testing', version: '
|
|
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
|
|
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> = [
|
|
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 = [
|
|
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
|
-
|
|
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 {
|
|
2
|
+
<%-'import { locator } from "'-%><%-poModule%>";
|
|
3
3
|
<%} else {-%>
|
|
4
|
-
<%-'const {
|
|
4
|
+
<%-'const { locator } = require('%>"<%-poModule%>");
|
|
5
5
|
<%}%>
|
|
6
6
|
<% if (moduleSystem === 'ES Modules' || moduleSystem === 'Typescript') {-%><%-'export default '%><%} else {%><%-'module.exports = '%><%}%>class App {
|
|
7
|
-
Body =
|
|
8
|
-
GetStartedButton =
|
|
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
|
-
}
|