@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 CHANGED
@@ -1,12 +1,20 @@
1
1
  # Change Log
2
2
 
3
- All notable changes to the "@qavajs/cli" will be documented in this file.
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.1.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 ts-node package if module system is typescript
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([stepDefinitionGlob, ...stepsPackagesGlobs]),
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 run --config config.${isTypescript ? 'ts' : 'js'}`);
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.1.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.2",
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.4.0",
35
- "vitest": "^1.4.0"
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 ts-node package if module system is typescript
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([stepDefinitionGlob, ...stepsPackagesGlobs]),
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 run --config config.${isTypescript ? 'ts' : 'js'}`);
212
+ console.log(`npx qavajs --config config.${isTypescript ? 'ts' : 'js'}`);
206
213
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "qavajs_project",
3
+ "version": "1.0.0",
4
+ "description": "qavajs project",
5
+ "scripts": {
6
+ "test": "qavajs run"
7
+ },
8
+ "dependencies": {}
9
+ }