dceky 1.2.1 → 1.2.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.
Files changed (32) hide show
  1. package/README.md +23 -17
  2. package/lib/src/genConfiguration/index.js +0 -9
  3. package/lib/src/genConfiguration/index.js.map +1 -1
  4. package/lib/start/constants/DEFAULT_THREADS_PER_COMBO.d.ts +1 -1
  5. package/lib/start/constants/DEFAULT_THREADS_PER_COMBO.js +1 -1
  6. package/lib/start/helpers/embedScreenshotsInReportData.d.ts +14 -0
  7. package/lib/start/helpers/embedScreenshotsInReportData.js +139 -0
  8. package/lib/start/helpers/embedScreenshotsInReportData.js.map +1 -0
  9. package/lib/start/helpers/executeCypress.js +1 -1
  10. package/lib/start/helpers/executeCypress.js.map +1 -1
  11. package/lib/start/helpers/generateHtmlReport.js +7 -0
  12. package/lib/start/helpers/generateHtmlReport.js.map +1 -1
  13. package/lib/start/helpers/getCypressDetectedBrowsersForChooser.d.ts +2 -1
  14. package/lib/start/helpers/getCypressDetectedBrowsersForChooser.js +34 -22
  15. package/lib/start/helpers/getCypressDetectedBrowsersForChooser.js.map +1 -1
  16. package/lib/start/helpers/mergeAllReportsAndGenerateHtml.js +52 -0
  17. package/lib/start/helpers/mergeAllReportsAndGenerateHtml.js.map +1 -1
  18. package/lib/start/helpers/reportHomepage.ejs +18 -7
  19. package/lib/start/index.d.ts +2 -2
  20. package/lib/start/index.js +214 -175
  21. package/lib/start/index.js.map +1 -1
  22. package/package.json +2 -1
  23. package/src/genConfiguration/index.ts +0 -13
  24. package/start/constants/DEFAULT_THREADS_PER_COMBO.ts +1 -1
  25. package/start/helpers/embedScreenshotsInReportData.ts +171 -0
  26. package/start/helpers/executeCypress.ts +1 -1
  27. package/start/helpers/generateHtmlReport.ts +12 -0
  28. package/start/helpers/getCypressDetectedBrowsersForChooser.ts +41 -23
  29. package/start/helpers/mergeAllReportsAndGenerateHtml.ts +60 -0
  30. package/start/helpers/reportHomepage.ejs +18 -7
  31. package/start/index.ts +218 -181
  32. package/start/helpers/extractArgValue.ts +0 -42
@@ -1,11 +1,20 @@
1
1
  "use strict";
2
2
  /* eslint-disable no-console */
3
3
  /**
4
- * Checks arguments and environment variables (for PROFILE, BROWSER, and HEADLESS),
5
- * asks user for missing selections, and launches Cypress
4
+ * Checks environment variables (for PROFILE, BROWSER, and HEADLESS),
5
+ * asks the user for missing selections, and launches Cypress
6
6
  * @author Gardenia Liu
7
7
  * @author Yuen Ler Chow
8
8
  */
9
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
+ return new (P || (P = Promise))(function (resolve, reject) {
12
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
16
+ });
17
+ };
9
18
  var __importDefault = (this && this.__importDefault) || function (mod) {
10
19
  return (mod && mod.__esModule) ? mod : { "default": mod };
11
20
  };
@@ -13,13 +22,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
22
  // Import libs
14
23
  const fs_1 = __importDefault(require("fs"));
15
24
  const path_1 = __importDefault(require("path"));
25
+ const dotenv_1 = __importDefault(require("dotenv"));
26
+ const clear_1 = __importDefault(require("clear"));
16
27
  // Import helpers
17
28
  const showChooser_1 = __importDefault(require("./helpers/showChooser"));
18
29
  const parseCommaSeparated_1 = __importDefault(require("./helpers/parseCommaSeparated"));
19
30
  const findProfilesByNames_1 = __importDefault(require("./helpers/findProfilesByNames"));
20
31
  const validateBrowsers_1 = __importDefault(require("./helpers/validateBrowsers"));
21
- const extractArgValue_1 = __importDefault(require("./helpers/extractArgValue"));
22
32
  const getRootPath_1 = __importDefault(require("./helpers/getRootPath"));
33
+ const prompt_1 = __importDefault(require("./helpers/prompt"));
34
+ const print_1 = __importDefault(require("./helpers/print"));
23
35
  const executeCypress_1 = __importDefault(require("./helpers/executeCypress"));
24
36
  const getCypressDetectedBrowsersForChooser_1 = __importDefault(require("./helpers/getCypressDetectedBrowsersForChooser"));
25
37
  const getE2ETestFoldersForChooser_1 = __importDefault(require("./helpers/getE2ETestFoldersForChooser"));
@@ -30,6 +42,8 @@ const ALL_E2E_TESTS_LABEL_1 = __importDefault(require("./constants/ALL_E2E_TESTS
30
42
  const ALL_E2E_TESTS_SPEC_PATTERN_1 = __importDefault(require("./constants/ALL_E2E_TESTS_SPEC_PATTERN"));
31
43
  // Get the project directory
32
44
  const pwd = (0, getRootPath_1.default)();
45
+ // Load .env vars before reading startup configuration
46
+ dotenv_1.default.config({ path: path_1.default.join(pwd, '.env') });
33
47
  // Find available profiles under /cypress/profiles
34
48
  const profilesDir = path_1.default.join(pwd, 'cypress/profiles');
35
49
  if (!fs_1.default.existsSync(profilesDir)) {
@@ -52,208 +66,233 @@ if (profiles.length === 0) {
52
66
  console.error(`No profiles found in '${profilesDir}'`);
53
67
  process.exit(1);
54
68
  }
55
- // Parse CLI arguments
56
- const args = process.argv.slice(2);
57
- // Get selections from environment variables or CLI arguments
69
+ // Get selections from environment variables
58
70
  let selectedProfiles = [];
59
71
  let selectedBrowsers = [];
60
72
  let isHeadless = false;
61
73
  let selectedE2ETestFolder = ALL_E2E_TESTS_LABEL_1.default;
62
74
  let selectedE2ESpecPattern = ALL_E2E_TESTS_SPEC_PATTERN_1.default;
63
- // Check for PROFILE (env var or CLI arg)
64
- const envProfileRaw = process.env.PROFILE;
65
- const argProfileRaw = (0, extractArgValue_1.default)(args, '--profile');
66
- const profileRaw = envProfileRaw || argProfileRaw;
75
+ // Check for PROFILE
76
+ const profileRaw = process.env.PROFILE;
67
77
  if (profileRaw) {
68
78
  const profileNames = (0, parseCommaSeparated_1.default)(profileRaw);
69
79
  selectedProfiles = (0, findProfilesByNames_1.default)(profileNames, profiles);
70
80
  }
71
- // Check for BROWSER (env var or CLI arg)
72
- const envBrowserRaw = process.env.BROWSER;
73
- const argBrowserRaw = (0, extractArgValue_1.default)(args, '--browser');
74
- const browserRaw = envBrowserRaw || argBrowserRaw;
81
+ // Check for BROWSER
82
+ const browserRaw = process.env.BROWSER;
75
83
  if (browserRaw) {
76
84
  const browserNames = (0, parseCommaSeparated_1.default)(browserRaw);
77
85
  selectedBrowsers = (0, validateBrowsers_1.default)(browserNames);
78
86
  }
79
- // Check for E2E_TEST_FOLDER (env var or CLI arg)
80
- const envE2ETestFolderRaw = process.env.E2E_TEST_FOLDER;
81
- const argE2ETestFolderRaw = (0, extractArgValue_1.default)(args, '--e2eFolder');
82
- const e2eTestFolderRaw = envE2ETestFolderRaw || argE2ETestFolderRaw;
83
- // Check for HEADLESS (env var or CLI flag)
87
+ // Check for E2E_TEST_FOLDER
88
+ const e2eTestFolderRaw = process.env.E2E_TEST_FOLDER;
89
+ // Check for HEADLESS
84
90
  const envHeadlessRaw = process.env.HEADLESS;
85
- const headlessFlagValue = (0, extractArgValue_1.default)(args, '--headless');
86
- const hasHeadlessFlag = headlessFlagValue !== undefined;
87
- isHeadless = !!(envHeadlessRaw && envHeadlessRaw.toLowerCase() !== 'false') || hasHeadlessFlag;
88
- // Check for THREADS_PER_COMBO (env var or CLI arg)
89
- const envThreadsRaw = process.env.THREADS_PER_COMBO;
90
- const argThreadsRaw = (0, extractArgValue_1.default)(args, '--threadsPerCombo');
91
- const threadsRaw = envThreadsRaw || argThreadsRaw;
91
+ isHeadless = !!(envHeadlessRaw && envHeadlessRaw.toLowerCase() !== 'false');
92
+ // Check for THREADS_PER_COMBO
93
+ const threadsRaw = process.env.THREADS_PER_COMBO;
92
94
  let threadsPerCombo = DEFAULT_THREADS_PER_COMBO_1.default;
93
- if (threadsRaw) {
94
- const parsed = Number.parseInt(threadsRaw, 10);
95
- if (!Number.isNaN(parsed) && parsed > 0) {
96
- threadsPerCombo = parsed;
97
- }
98
- else {
99
- console.warn(`⚠️ Invalid THREADS_PER_COMBO value: "${threadsRaw}". Using default (${DEFAULT_THREADS_PER_COMBO_1.default}).`);
100
- }
101
- }
102
- // If headless wasn't specified, ask the user to choose
103
- if (!envHeadlessRaw && !hasHeadlessFlag) {
104
- const choices = (0, showChooser_1.default)({
105
- question: 'Run in headless mode?',
106
- options: [
107
- { tag: 'Y', description: 'Yes (headless)' },
108
- { tag: 'N', description: 'No (interactive)' },
109
- ],
110
- title: 'Select mode',
111
- allowMulti: false,
112
- });
113
- isHeadless = choices[0].tag === 'Y';
114
- }
115
- // If running headless, optionally narrow tests to one e2e folder
116
- if (isHeadless) {
117
- const choosableE2ETestFolders = (0, getE2ETestFoldersForChooser_1.default)();
118
- if (e2eTestFolderRaw) {
119
- const e2eSelection = (0, findE2ETestFolderByName_1.default)(e2eTestFolderRaw, choosableE2ETestFolders);
120
- selectedE2ETestFolder = e2eSelection.description;
121
- selectedE2ESpecPattern = e2eSelection.specPattern;
122
- }
123
- else if (choosableE2ETestFolders.length > 0) {
95
+ const start = () => __awaiter(void 0, void 0, void 0, function* () {
96
+ // If headless wasn't specified, ask the user to choose
97
+ if (!envHeadlessRaw) {
124
98
  const choices = (0, showChooser_1.default)({
125
- question: 'Choose e2e test folder:',
99
+ question: 'Run in headless mode?',
126
100
  options: [
127
- {
128
- tag: 'A',
129
- description: ALL_E2E_TESTS_LABEL_1.default,
130
- },
131
- ...choosableE2ETestFolders,
101
+ { tag: 'Y', description: 'Yes (headless)' },
102
+ { tag: 'N', description: 'No (interactive)' },
132
103
  ],
133
- title: 'Select E2E Tests',
104
+ title: 'Select mode',
134
105
  allowMulti: false,
135
106
  });
136
- const allTestsChosen = choices.some((choice) => {
137
- return choice.tag === 'A';
138
- });
139
- if (!allTestsChosen) {
140
- const selectedFolder = choosableE2ETestFolders.find((folder) => {
141
- return folder.tag === choices[0].tag;
142
- });
143
- if (selectedFolder) {
144
- selectedE2ETestFolder = selectedFolder.relativePath;
145
- selectedE2ESpecPattern = selectedFolder.specPattern;
107
+ isHeadless = choices[0].tag === 'Y';
108
+ }
109
+ // This takes 5+ seconds to run, so start it now while we wait for the user to answer other questions
110
+ const cypressDetectedBrowsersPromise = (isHeadless && selectedBrowsers.length === 0
111
+ ? (0, getCypressDetectedBrowsersForChooser_1.default)()
112
+ : null);
113
+ if (isHeadless) {
114
+ if (threadsRaw) {
115
+ const trimmedThreads = threadsRaw.trim();
116
+ const parsed = Number.parseInt(trimmedThreads, 10);
117
+ if (/^\d+$/.test(trimmedThreads) && parsed > 0) {
118
+ threadsPerCombo = parsed;
119
+ }
120
+ else {
121
+ console.warn(`⚠️ Invalid THREADS_PER_COMBO value: "${threadsRaw}". `
122
+ + 'Use a positive whole number. '
123
+ + `Using default (${DEFAULT_THREADS_PER_COMBO_1.default}).`);
146
124
  }
147
125
  }
126
+ else {
127
+ let parsedThreads = null;
128
+ (0, clear_1.default)();
129
+ print_1.default.title('Num Test Files in Parallel Per Combo');
130
+ console.log('');
131
+ print_1.default.subtitle('How many test files should run in parallel per profile/browser combo? (Press Enter for 1)');
132
+ while (parsedThreads === null) {
133
+ const response = (0, prompt_1.default)('> ', true).trim();
134
+ if (!response) {
135
+ parsedThreads = DEFAULT_THREADS_PER_COMBO_1.default;
136
+ }
137
+ else {
138
+ const parsed = Number.parseInt(response, 10);
139
+ parsedThreads = /^\d+$/.test(response) && parsed > 0 ? parsed : null;
140
+ }
141
+ if (parsedThreads === null) {
142
+ console.log('Please enter a positive whole number, or press Enter for 1.');
143
+ console.log('');
144
+ }
145
+ }
146
+ threadsPerCombo = parsedThreads;
147
+ }
148
148
  }
149
- }
150
- // If running headless and no browsers were selected, ask the user to choose
151
- if (isHeadless && selectedBrowsers.length === 0) {
152
- const choosableBrowsers = (0, getCypressDetectedBrowsersForChooser_1.default)();
153
- if (choosableBrowsers.length === 0) {
154
- console.error('No browsers detected. Run `npx cypress info`, install a supported browser, and try again.');
155
- process.exit(1);
149
+ // If running headless, optionally narrow tests to one e2e folder
150
+ if (isHeadless) {
151
+ const choosableE2ETestFolders = (0, getE2ETestFoldersForChooser_1.default)();
152
+ if (e2eTestFolderRaw) {
153
+ const e2eSelection = (0, findE2ETestFolderByName_1.default)(e2eTestFolderRaw, choosableE2ETestFolders);
154
+ selectedE2ETestFolder = e2eSelection.description;
155
+ selectedE2ESpecPattern = e2eSelection.specPattern;
156
+ }
157
+ else if (choosableE2ETestFolders.length > 0) {
158
+ const choices = (0, showChooser_1.default)({
159
+ question: 'Choose e2e test folder:',
160
+ options: [
161
+ {
162
+ tag: 'A',
163
+ description: ALL_E2E_TESTS_LABEL_1.default,
164
+ },
165
+ ...choosableE2ETestFolders,
166
+ ],
167
+ title: 'Select E2E Tests',
168
+ allowMulti: false,
169
+ });
170
+ const allTestsChosen = choices.some((choice) => {
171
+ return choice.tag === 'A';
172
+ });
173
+ if (!allTestsChosen) {
174
+ const selectedFolder = choosableE2ETestFolders.find((folder) => {
175
+ return folder.tag === choices[0].tag;
176
+ });
177
+ if (selectedFolder) {
178
+ selectedE2ETestFolder = selectedFolder.relativePath;
179
+ selectedE2ESpecPattern = selectedFolder.specPattern;
180
+ }
181
+ }
182
+ }
156
183
  }
157
- const options = choosableBrowsers.map(({ tag, name }) => {
158
- return {
159
- tag,
160
- description: name,
161
- };
162
- });
163
- // Add "All" option if there are multiple browsers
164
- if (choosableBrowsers.length > 1) {
165
- options.unshift({
166
- tag: 'A',
167
- description: 'All browsers',
184
+ // If running headless and no browsers were selected, ask the user to choose
185
+ if (isHeadless && selectedBrowsers.length === 0) {
186
+ const choosableBrowsers = yield cypressDetectedBrowsersPromise;
187
+ if (choosableBrowsers.length === 0) {
188
+ console.error('No browsers detected. Run `npx cypress info`, install a supported browser, and try again.');
189
+ process.exit(1);
190
+ }
191
+ const options = choosableBrowsers.map(({ tag, name }) => {
192
+ return {
193
+ tag,
194
+ description: name,
195
+ };
168
196
  });
169
- }
170
- const choices = (0, showChooser_1.default)({
171
- question: 'Choose browser(s) (commas for multiple: C,F)',
172
- options,
173
- title: 'Select Browser(s)',
174
- allowMulti: true,
175
- });
176
- const allBrowsersChosen = choices.some((choice) => {
177
- return choice.tag === 'A';
178
- });
179
- if (allBrowsersChosen) {
180
- selectedBrowsers = choosableBrowsers.map((b) => {
181
- return b.name;
197
+ // Add "All" option if there are multiple browsers
198
+ if (choosableBrowsers.length > 1) {
199
+ options.unshift({
200
+ tag: 'A',
201
+ description: 'All browsers',
202
+ });
203
+ }
204
+ const choices = (0, showChooser_1.default)({
205
+ question: 'Choose browser(s) (commas for multiple: C,F)',
206
+ options,
207
+ title: 'Select Browser(s)',
208
+ allowMulti: true,
182
209
  });
183
- }
184
- else {
185
- selectedBrowsers = (choices
186
- .map((choice) => {
187
- var _a;
188
- const selectedBrowser = choosableBrowsers.find((browser) => {
189
- return browser.tag.toLowerCase() === choice.tag.toLowerCase();
210
+ const allBrowsersChosen = choices.some((choice) => {
211
+ return choice.tag === 'A';
212
+ });
213
+ if (allBrowsersChosen) {
214
+ selectedBrowsers = choosableBrowsers.map((b) => {
215
+ return b.name;
190
216
  });
191
- return (_a = selectedBrowser === null || selectedBrowser === void 0 ? void 0 : selectedBrowser.name) !== null && _a !== void 0 ? _a : null;
192
- })
193
- .filter((name) => {
194
- return name !== null;
195
- }));
217
+ }
218
+ else {
219
+ selectedBrowsers = (choices
220
+ .map((choice) => {
221
+ var _a;
222
+ const selectedBrowser = choosableBrowsers.find((browser) => {
223
+ return browser.tag.toLowerCase() === choice.tag.toLowerCase();
224
+ });
225
+ return (_a = selectedBrowser === null || selectedBrowser === void 0 ? void 0 : selectedBrowser.name) !== null && _a !== void 0 ? _a : null;
226
+ })
227
+ .filter((name) => {
228
+ return name !== null;
229
+ }));
230
+ }
196
231
  }
197
- }
198
- // If no profiles were selected, ask the user to choose
199
- // - In headless mode, allow selecting multiple profiles
200
- // - In visible mode, only allow selecting a single profile
201
- // In the case where their environment selected more than one profile, but they are not headless, make them re-choose
202
- if (selectedProfiles.length === 0
203
- || (!isHeadless && selectedProfiles.length > 1)) {
204
- // Filter out "Default" profile from the chooser options
205
- const choosableProfiles = profiles.filter((p) => {
206
- return p.profileName.toLowerCase() !== 'default';
207
- });
208
- const options = choosableProfiles.map((p, idx) => {
209
- return {
210
- tag: String(idx + 1),
211
- description: p.profileName,
212
- };
213
- });
214
- // If there are multiple profiles, add an "All" option for headless mode
215
- if (isHeadless && choosableProfiles.length > 1) {
216
- options.unshift({
217
- tag: 'A',
218
- description: 'All profiles',
232
+ // If no profiles were selected, ask the user to choose
233
+ // - In headless mode, allow selecting multiple profiles
234
+ // - In visible mode, only allow selecting a single profile
235
+ // In the case where their environment selected more than one profile, but they are not headless, make them re-choose
236
+ if (selectedProfiles.length === 0
237
+ || (!isHeadless && selectedProfiles.length > 1)) {
238
+ // Filter out "Default" profile from the chooser options
239
+ const choosableProfiles = profiles.filter((p) => {
240
+ return p.profileName.toLowerCase() !== 'default';
241
+ });
242
+ const options = choosableProfiles.map((p, idx) => {
243
+ return {
244
+ tag: String(idx + 1),
245
+ description: p.profileName,
246
+ };
247
+ });
248
+ // If there are multiple profiles, add an "All" option for headless mode
249
+ if (isHeadless && choosableProfiles.length > 1) {
250
+ options.unshift({
251
+ tag: 'A',
252
+ description: 'All profiles',
253
+ });
254
+ }
255
+ const choices = (0, showChooser_1.default)({
256
+ question: (isHeadless
257
+ ? 'Choose profile(s) (commas for multiple: 1,2):'
258
+ : 'Choose profile:'),
259
+ options,
260
+ title: `Choose profile${isHeadless ? 's' : ''}`,
261
+ allowMulti: isHeadless,
262
+ });
263
+ const allProfilesChosen = choices.some((choice) => {
264
+ return choice.tag === 'A';
219
265
  });
266
+ if (allProfilesChosen) {
267
+ selectedProfiles = choosableProfiles;
268
+ }
269
+ else {
270
+ selectedProfiles = (choices
271
+ .map((choice) => {
272
+ var _a;
273
+ const profileIndex = Number.parseInt(choice.tag, 10) - 1;
274
+ if (Number.isNaN(profileIndex)) {
275
+ return null;
276
+ }
277
+ return (_a = choosableProfiles[profileIndex]) !== null && _a !== void 0 ? _a : null;
278
+ })
279
+ .filter((profile) => {
280
+ return profile !== null;
281
+ }));
282
+ }
220
283
  }
221
- const choices = (0, showChooser_1.default)({
222
- question: (isHeadless
223
- ? 'Choose profile(s) (commas for multiple: 1,2):'
224
- : 'Choose profile:'),
225
- options,
226
- title: `Choose profile${isHeadless ? 's' : ''}`,
227
- allowMulti: isHeadless,
228
- });
229
- const allProfilesChosen = choices.some((choice) => {
230
- return choice.tag === 'A';
284
+ // Execute Cypress with selected configuration
285
+ yield (0, executeCypress_1.default)({
286
+ selectedProfiles,
287
+ selectedBrowsers,
288
+ isHeadless,
289
+ threadsPerCombo,
290
+ e2eTestFolder: selectedE2ETestFolder,
291
+ e2eSpecPattern: selectedE2ESpecPattern,
231
292
  });
232
- if (allProfilesChosen) {
233
- selectedProfiles = choosableProfiles;
234
- }
235
- else {
236
- selectedProfiles = (choices
237
- .map((choice) => {
238
- var _a;
239
- const profileIndex = Number.parseInt(choice.tag, 10) - 1;
240
- if (Number.isNaN(profileIndex)) {
241
- return null;
242
- }
243
- return (_a = choosableProfiles[profileIndex]) !== null && _a !== void 0 ? _a : null;
244
- })
245
- .filter((profile) => {
246
- return profile !== null;
247
- }));
248
- }
249
- }
250
- // Execute Cypress with selected configuration
251
- (0, executeCypress_1.default)({
252
- selectedProfiles,
253
- selectedBrowsers,
254
- isHeadless,
255
- threadsPerCombo,
256
- e2eTestFolder: selectedE2ETestFolder,
257
- e2eSpecPattern: selectedE2ESpecPattern,
293
+ });
294
+ start().catch((error) => {
295
+ console.error(error);
296
+ process.exit(1);
258
297
  });
259
298
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../start/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../start/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dceky",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "description": "Cypress toolkit for Harvard DCE",
5
5
  "main": "./lib/src/index.js",
6
6
  "types": "./lib/src/index.d.ts",
@@ -36,6 +36,7 @@
36
36
  "clear": "^0.1.0",
37
37
  "cypress-iframe": "^1.0.1",
38
38
  "deepmerge": "4.3.1",
39
+ "dotenv": "^17.4.2",
39
40
  "ejs": "^3.1.10",
40
41
  "prompt-sync": "^4.2.0",
41
42
  "set-cookie-parser": "^3.1.0"
@@ -2,7 +2,6 @@
2
2
  /* eslint-disable global-require */
3
3
  /* eslint-disable import/no-dynamic-require */
4
4
  import path from 'path';
5
- import fs from 'fs';
6
5
 
7
6
  // Import cypress
8
7
  import { defineConfig } from 'cypress';
@@ -112,23 +111,11 @@ const genConfiguration = () => {
112
111
  baseUrl = `https://${baseUrl}`;
113
112
  }
114
113
 
115
- // Look for a /cypress/support/setupNodeEvents.ts file and add it to the config if it exists
116
- const setupNodeEventsPath = path.join(CWD, '/cypress/support/setupNodeEvents.ts');
117
- const setupNodeEventsExists = fs.existsSync(setupNodeEventsPath);
118
- let setupNodeEvents: (
119
- ((on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) => Cypress.PluginConfigOptions | void)
120
- | undefined
121
- );
122
- if (setupNodeEventsExists) {
123
- setupNodeEvents = require(setupNodeEventsPath).default;
124
- }
125
-
126
114
  // Return the configuration object
127
115
  return defineConfig({
128
116
  e2e: {
129
117
  experimentalWebKitSupport: true,
130
118
  experimentalOriginDependencies: true,
131
- setupNodeEvents,
132
119
  baseUrl,
133
120
  expose: exposed,
134
121
  env: securedEnv,
@@ -2,6 +2,6 @@
2
2
  * Default number of threads per combo
3
3
  * @author Yuen Ler Chow
4
4
  */
5
- const DEFAULT_THREADS_PER_COMBO = 2;
5
+ const DEFAULT_THREADS_PER_COMBO = 1;
6
6
 
7
7
  export default DEFAULT_THREADS_PER_COMBO;