@qavajs/create 0.1.0 → 0.3.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 +11 -3
- package/lib/deps.js +3 -3
- package/lib/install.js +9 -5
- package/package.json +4 -4
- package/src/deps.ts +3 -3
- package/src/install.ts +12 -5
- package/templates/package.json +9 -0
package/CHANGELOG.MD
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
All notable changes to the "@qavajs/
|
|
3
|
+
All notable changes to the "@qavajs/create" will be documented in this file.
|
|
4
4
|
|
|
5
5
|
Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
|
|
6
6
|
|
|
7
7
|
:rocket: - new feature
|
|
8
8
|
:beetle: - bugfix
|
|
9
9
|
:x: - deprecation
|
|
10
|
-
|
|
11
|
-
## 0.
|
|
10
|
+
|
|
11
|
+
## [0.3.0]
|
|
12
|
+
- :rocket: added @qavajs/validation as dependency
|
|
13
|
+
- :rocket: added @qavajs/steps-memory as default module
|
|
14
|
+
|
|
15
|
+
## [0.2.0]
|
|
16
|
+
- :rocket: added typescript to required modules
|
|
17
|
+
- :rocket: added package.json template
|
|
18
|
+
|
|
19
|
+
## [0.1.0]
|
|
12
20
|
- :rocket: implemented initializer
|
package/lib/deps.js
CHANGED
|
@@ -4,13 +4,13 @@ exports.additionalModules = exports.modules = exports.format = exports.steps = v
|
|
|
4
4
|
exports.default = [
|
|
5
5
|
'@cucumber/cucumber',
|
|
6
6
|
'@qavajs/memory',
|
|
7
|
-
'@qavajs/cli'
|
|
7
|
+
'@qavajs/cli',
|
|
8
|
+
'@qavajs/validation'
|
|
8
9
|
];
|
|
9
10
|
exports.steps = [
|
|
10
|
-
{ module: 'wdio', packageName: '@qavajs/steps-wdio' },
|
|
11
11
|
{ module: 'playwright', packageName: '@qavajs/steps-playwright' },
|
|
12
|
+
{ module: 'wdio', packageName: '@qavajs/steps-wdio' },
|
|
12
13
|
{ module: 'api', packageName: '@qavajs/steps-api' },
|
|
13
|
-
{ module: 'memory', packageName: '@qavajs/steps-memory' },
|
|
14
14
|
{ module: 'files', packageName: '@qavajs/steps-files' },
|
|
15
15
|
{ module: 'sql', packageName: '@qavajs/steps-sql' },
|
|
16
16
|
{ module: 'accessibility', packageName: '@qavajs/steps-accessibility' },
|
package/lib/install.js
CHANGED
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
const promises_1 = require("fs/promises");
|
|
38
|
+
const promises_1 = require("node:fs/promises");
|
|
39
39
|
const fs_extra_1 = require("fs-extra");
|
|
40
40
|
const path_1 = require("path");
|
|
41
41
|
const yarn_install_1 = __importDefault(require("yarn-install"));
|
|
@@ -93,7 +93,7 @@ function install() {
|
|
|
93
93
|
choices: packs(deps_1.additionalModules)
|
|
94
94
|
},
|
|
95
95
|
]);
|
|
96
|
-
const stepsPackages = packages(answers.steps, deps_1.steps);
|
|
96
|
+
const stepsPackages = ['@qavajs/steps-memory', ...packages(answers.steps, deps_1.steps)];
|
|
97
97
|
const formatPackages = packages(answers.formats, deps_1.format);
|
|
98
98
|
const modulePackages = packages(answers.modules, deps_1.modules);
|
|
99
99
|
const additionalPackages = packages(answers.additionalModules, deps_1.additionalModules);
|
|
@@ -107,10 +107,14 @@ function install() {
|
|
|
107
107
|
}
|
|
108
108
|
const isPOIncluded = isWdioIncluded || isPlaywrightIncluded;
|
|
109
109
|
const isTemplateIncluded = answers.modules.includes('template');
|
|
110
|
-
// add
|
|
110
|
+
// add package.json
|
|
111
|
+
const packageJsonTemplate = yield (0, promises_1.readFile)((0, path_1.resolve)(__dirname, '../templates/package.json'), 'utf-8');
|
|
112
|
+
yield (0, promises_1.writeFile)(`./package.json`, packageJsonTemplate, 'utf-8');
|
|
113
|
+
// add ts-node and typescript packages if module system is typescript
|
|
111
114
|
// put tsconfig
|
|
112
115
|
if (isTypescript) {
|
|
113
116
|
requiredDeps.push('ts-node');
|
|
117
|
+
requiredDeps.push('typescript');
|
|
114
118
|
const tsconfig = yield (0, promises_1.readFile)((0, path_1.resolve)(__dirname, '../templates/tsconfig.json'), 'utf-8');
|
|
115
119
|
yield (0, promises_1.writeFile)(`./tsconfig.json`, tsconfig, 'utf-8');
|
|
116
120
|
}
|
|
@@ -119,7 +123,7 @@ function install() {
|
|
|
119
123
|
const stepDefinitionGlob = `step_definition/*.${isTypescript ? 'ts' : 'js'}`;
|
|
120
124
|
const stepsPackagesGlobs = [...stepsPackages].map(p => `node_modules/${p}/index.js`);
|
|
121
125
|
const config = configEjs({
|
|
122
|
-
steps: JSON.stringify([
|
|
126
|
+
steps: JSON.stringify([...stepsPackagesGlobs, stepDefinitionGlob]),
|
|
123
127
|
moduleSystem: answers.moduleSystem,
|
|
124
128
|
modules: JSON.stringify(modulePackages),
|
|
125
129
|
format: JSON.stringify(deps_1.format
|
|
@@ -193,7 +197,7 @@ function install() {
|
|
|
193
197
|
respectNpm5: true
|
|
194
198
|
});
|
|
195
199
|
console.log('test script:');
|
|
196
|
-
console.log(`npx qavajs
|
|
200
|
+
console.log(`npx qavajs --config config.${isTypescript ? 'ts' : 'js'}`);
|
|
197
201
|
});
|
|
198
202
|
}
|
|
199
203
|
exports.default = install;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qavajs/create",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "initializer of @qavajs project",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"ejs": "^3.1.9",
|
|
24
24
|
"fs-extra": "^11.2.0",
|
|
25
25
|
"inquirer": "^9.2.16",
|
|
26
|
-
"typescript": "^5.4.
|
|
26
|
+
"typescript": "^5.4.5",
|
|
27
27
|
"yarn-install": "^1.0.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@types/fs-extra": "^11.0.4",
|
|
32
32
|
"@types/inquirer": "^9.0.7",
|
|
33
33
|
"@types/node": "^20.11.28",
|
|
34
|
-
"@vitest/coverage-v8": "^1.
|
|
35
|
-
"vitest": "^1.
|
|
34
|
+
"@vitest/coverage-v8": "^1.6.0",
|
|
35
|
+
"vitest": "^1.6.0"
|
|
36
36
|
}
|
|
37
37
|
}
|
package/src/deps.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export default [
|
|
2
2
|
'@cucumber/cucumber',
|
|
3
3
|
'@qavajs/memory',
|
|
4
|
-
'@qavajs/cli'
|
|
4
|
+
'@qavajs/cli',
|
|
5
|
+
'@qavajs/validation'
|
|
5
6
|
]
|
|
6
7
|
|
|
7
8
|
export type ModuleDefinition = {
|
|
@@ -11,10 +12,9 @@ export type ModuleDefinition = {
|
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
export const steps: Array<ModuleDefinition> = [
|
|
14
|
-
{ module: 'wdio', packageName: '@qavajs/steps-wdio' },
|
|
15
15
|
{ module: 'playwright', packageName: '@qavajs/steps-playwright' },
|
|
16
|
+
{ module: 'wdio', packageName: '@qavajs/steps-wdio' },
|
|
16
17
|
{ module: 'api', packageName: '@qavajs/steps-api' },
|
|
17
|
-
{ module: 'memory', packageName: '@qavajs/steps-memory' },
|
|
18
18
|
{ module: 'files', packageName: '@qavajs/steps-files' },
|
|
19
19
|
{ module: 'sql', packageName: '@qavajs/steps-sql' },
|
|
20
20
|
{ module: 'accessibility', packageName: '@qavajs/steps-accessibility' },
|
package/src/install.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { readFile, writeFile } from 'fs/promises';
|
|
1
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { ensureDir } from 'fs-extra';
|
|
3
3
|
import { resolve } from 'path';
|
|
4
4
|
import yarnInstall from 'yarn-install';
|
|
@@ -67,7 +67,7 @@ export default async function install(): Promise<void> {
|
|
|
67
67
|
},
|
|
68
68
|
]) as Answers;
|
|
69
69
|
|
|
70
|
-
const stepsPackages: Array<string> = packages(answers.steps, steps);
|
|
70
|
+
const stepsPackages: Array<string> = ['@qavajs/steps-memory', ...packages(answers.steps, steps)];
|
|
71
71
|
const formatPackages: Array<string> = packages(answers.formats, format);
|
|
72
72
|
const modulePackages: Array<string> = packages(answers.modules, modules);
|
|
73
73
|
const additionalPackages: Array<string> = packages(answers.additionalModules, additionalModules);
|
|
@@ -83,10 +83,17 @@ export default async function install(): Promise<void> {
|
|
|
83
83
|
const isPOIncluded: boolean = isWdioIncluded || isPlaywrightIncluded;
|
|
84
84
|
const isTemplateIncluded: boolean = answers.modules.includes('template');
|
|
85
85
|
|
|
86
|
-
// add
|
|
86
|
+
// add package.json
|
|
87
|
+
const packageJsonTemplate = await readFile(
|
|
88
|
+
resolve(__dirname, '../templates/package.json'),
|
|
89
|
+
'utf-8'
|
|
90
|
+
);
|
|
91
|
+
await writeFile(`./package.json`, packageJsonTemplate, 'utf-8');
|
|
92
|
+
// add ts-node and typescript packages if module system is typescript
|
|
87
93
|
// put tsconfig
|
|
88
94
|
if (isTypescript) {
|
|
89
95
|
requiredDeps.push('ts-node');
|
|
96
|
+
requiredDeps.push('typescript');
|
|
90
97
|
const tsconfig = await readFile(
|
|
91
98
|
resolve(__dirname, '../templates/tsconfig.json'),
|
|
92
99
|
'utf-8'
|
|
@@ -101,7 +108,7 @@ export default async function install(): Promise<void> {
|
|
|
101
108
|
const stepDefinitionGlob = `step_definition/*.${isTypescript ? 'ts' : 'js'}`;
|
|
102
109
|
const stepsPackagesGlobs = [...stepsPackages].map(p => `node_modules/${p}/index.js`);
|
|
103
110
|
const config = configEjs({
|
|
104
|
-
steps: JSON.stringify([
|
|
111
|
+
steps: JSON.stringify([...stepsPackagesGlobs, stepDefinitionGlob]),
|
|
105
112
|
moduleSystem: answers.moduleSystem,
|
|
106
113
|
modules: JSON.stringify(modulePackages),
|
|
107
114
|
format: JSON.stringify(
|
|
@@ -202,5 +209,5 @@ export default async function install(): Promise<void> {
|
|
|
202
209
|
});
|
|
203
210
|
|
|
204
211
|
console.log('test script:');
|
|
205
|
-
console.log(`npx qavajs
|
|
212
|
+
console.log(`npx qavajs --config config.${isTypescript ? 'ts' : 'js'}`);
|
|
206
213
|
}
|