dceky 1.0.5-beta.ky-declarations.7 → 1.0.5-beta.ky-declarations.9

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 (35) hide show
  1. package/lib/postinstall/helpers/exec.d.ts +8 -0
  2. package/lib/postinstall/helpers/exec.js +18 -0
  3. package/lib/postinstall/helpers/exec.js.map +1 -0
  4. package/lib/postinstall/helpers/getRootPath.d.ts +7 -0
  5. package/lib/postinstall/helpers/getRootPath.js +17 -0
  6. package/lib/postinstall/helpers/getRootPath.js.map +1 -0
  7. package/lib/postinstall/index.d.ts +5 -0
  8. package/lib/postinstall/index.js +58 -0
  9. package/lib/postinstall/index.js.map +1 -0
  10. package/lib/setup/checkRequiredFiles/genEmptyGlobalFile.js +17 -1
  11. package/lib/setup/checkRequiredFiles/genEmptyGlobalFile.js.map +1 -1
  12. package/lib/setup/checkRequiredFiles/genEmptyProfileFile.js +17 -1
  13. package/lib/setup/checkRequiredFiles/genEmptyProfileFile.js.map +1 -1
  14. package/lib/setup/checkRequiredFiles/index.js +3 -9
  15. package/lib/setup/checkRequiredFiles/index.js.map +1 -1
  16. package/lib/setup/genKyCommandDeclarations.js +8 -18
  17. package/lib/setup/genKyCommandDeclarations.js.map +1 -1
  18. package/lib/setup/setupCypressDependencies.js +4 -2
  19. package/lib/setup/setupCypressDependencies.js.map +1 -1
  20. package/lib/src/genConfiguration/helpers/resolveDependents.js +1 -1
  21. package/lib/src/genConfiguration/helpers/resolveDependents.js.map +1 -1
  22. package/lib/src/genConfiguration/index.js +3 -0
  23. package/lib/src/genConfiguration/index.js.map +1 -1
  24. package/package.json +3 -2
  25. package/postinstall/helpers/exec.ts +17 -0
  26. package/postinstall/helpers/getRootPath.ts +13 -0
  27. package/postinstall/index.ts +68 -0
  28. package/setup/checkRequiredFiles/genEmptyGlobalFile.ts +17 -1
  29. package/setup/checkRequiredFiles/genEmptyProfileFile.ts +17 -1
  30. package/setup/checkRequiredFiles/index.ts +3 -10
  31. package/setup/genKyCommandDeclarations.ts +6 -7
  32. package/setup/setupCypressDependencies.ts +4 -2
  33. package/src/genConfiguration/helpers/resolveDependents.ts +1 -1
  34. package/src/genConfiguration/index.ts +4 -1
  35. package/tsconfig.json +1 -1
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Execute a command
3
+ * @author Gabe Abrams
4
+ * @param command the command to execute
5
+ * @param printToStdOut if true, print to standard out instead of returning
6
+ */
7
+ declare const exec: (command: string, printToStdOut?: boolean) => string;
8
+ export default exec;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var child_process_1 = require("child_process");
4
+ /**
5
+ * Execute a command
6
+ * @author Gabe Abrams
7
+ * @param command the command to execute
8
+ * @param printToStdOut if true, print to standard out instead of returning
9
+ */
10
+ var exec = function (command, printToStdOut) {
11
+ if (printToStdOut) {
12
+ (0, child_process_1.execSync)(command, { stdio: 'inherit' });
13
+ return '';
14
+ }
15
+ return (0, child_process_1.execSync)(command).toString();
16
+ };
17
+ exports.default = exec;
18
+ //# sourceMappingURL=exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../postinstall/helpers/exec.ts"],"names":[],"mappings":";;AAAA,+CAAyC;AAEzC;;;;;GAKG;AACH,IAAM,IAAI,GAAG,UAAC,OAAe,EAAE,aAAuB;IACpD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAA,wBAAQ,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAA,wBAAQ,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtC,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Get the root path of the project
3
+ * @author Yuen Ler Chow
4
+ * @returns the root path of the project
5
+ */
6
+ declare const getRootPath: () => string;
7
+ export default getRootPath;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var path_1 = __importDefault(require("path"));
7
+ /**
8
+ * Get the root path of the project
9
+ * @author Yuen Ler Chow
10
+ * @returns the root path of the project
11
+ */
12
+ var getRootPath = function () {
13
+ var root = path_1.default.join(__dirname, '../../../../');
14
+ return root;
15
+ };
16
+ exports.default = getRootPath;
17
+ //# sourceMappingURL=getRootPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRootPath.js","sourceRoot":"","sources":["../../../postinstall/helpers/getRootPath.ts"],"names":[],"mappings":";;;;;AAAA,8CAAwB;AAExB;;;;GAIG;AACH,IAAM,WAAW,GAAG;IAClB,IAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Adds scripts to the top-level project
3
+ * @author Gabe Abrams
4
+ */
5
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /* eslint-disable no-console */
3
+ /**
4
+ * Adds scripts to the top-level project
5
+ * @author Gabe Abrams
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ // Import libs
12
+ var fs_1 = __importDefault(require("fs"));
13
+ var path_1 = __importDefault(require("path"));
14
+ // Import helpers
15
+ var exec_1 = __importDefault(require("./helpers/exec"));
16
+ var getRootPath_1 = __importDefault(require("./helpers/getRootPath"));
17
+ // Get the project directory
18
+ var root = (0, getRootPath_1.default)();
19
+ // Read the root package.json
20
+ // eslint-disable-next-line global-require, import/no-dynamic-require
21
+ var pkgJson = require(path_1.default.join(root, 'package.json'));
22
+ // Ensure scripts field exists
23
+ if (!pkgJson.scripts) {
24
+ pkgJson.scripts = {};
25
+ }
26
+ // Keep track if something was modified
27
+ var modified = false;
28
+ // Add ky:setup script
29
+ if (!pkgJson.scripts['ky:setup']) {
30
+ pkgJson.scripts['ky:setup'] = 'npm explore dceky -- npm run ky:setup';
31
+ modified = true;
32
+ }
33
+ // Add ky:start script
34
+ if (!pkgJson.scripts['ky:start']) {
35
+ pkgJson.scripts['ky:start'] = 'npm explore dceky -- npm run ky:start';
36
+ modified = true;
37
+ }
38
+ // Add ky:dev script
39
+ if (!pkgJson.scripts['ky:dev']) {
40
+ pkgJson.scripts['ky:dev'] = 'npm explore dceky -- npm run ky:dev';
41
+ modified = true;
42
+ }
43
+ // Write back the modified package.json
44
+ fs_1.default.writeFileSync(path_1.default.join(root, 'package.json'), JSON.stringify(pkgJson, null, 2), 'utf8');
45
+ // Automatically set up
46
+ if (modified) {
47
+ console.log('\nRunning initial ky setup...');
48
+ (0, exec_1.default)("cd ".concat(root, " && npm run ky:setup"), true);
49
+ }
50
+ // Notify user
51
+ if (modified) {
52
+ console.log('\nAdded dceky scripts to package.json');
53
+ console.log('You can now run:');
54
+ console.log(' npm run ky:start # Start ky tests');
55
+ console.log(' npm run ky:setup # Setup or update ky-managed files in this project');
56
+ console.log(' npm run ky:dev # Start ky tests after ensuring set up');
57
+ }
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../postinstall/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B;;;GAGG;;;;;AAEH,cAAc;AACd,0CAAoB;AACpB,8CAAwB;AAExB,iBAAiB;AACjB,wDAAkC;AAClC,sEAAgD;AAEhD,4BAA4B;AAC5B,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;AAE3B,6BAA6B;AAC7B,qEAAqE;AACrE,IAAM,OAAO,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;AAEzD,8BAA8B;AAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACrB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,uCAAuC;AACvC,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,sBAAsB;AACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IACjC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,uCAAuC,CAAC;IACtE,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,sBAAsB;AACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IACjC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,uCAAuC,CAAC;IACtE,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,oBAAoB;AACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,qCAAqC,CAAC;IAClE,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,uCAAuC;AACvC,YAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAChC,MAAM,CACP,CAAC;AAEF,uBAAuB;AACvB,IAAI,QAAQ,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAA,cAAI,EAAC,aAAM,IAAI,yBAAsB,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,cAAc;AACd,IAAI,QAAQ,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;AAC7E,CAAC"}
@@ -31,7 +31,23 @@ var genEmptyGlobalFile = function (name) {
31
31
  ' */',
32
32
  '',
33
33
  "const Global".concat(name, " = {"),
34
- " // Add your global ".concat(name.toLowerCase(), " here"),
34
+ ' // Static Value Examples:',
35
+ ' // baseURL: \'immersive.dcex.harvard.edu\'',
36
+ ' // loginSystem: \'HarvardKey\'',
37
+ '',
38
+ ' // Dependent Value Example:',
39
+ ' // loginHost: {',
40
+ ' // dependsOn: \'loginSystem\',',
41
+ ' // HarvardKey: \'login.harvard.edu\',',
42
+ ' // AdminPanel: \'admin.dcex.harvard.edu/login\',',
43
+ ' // },',
44
+ '',
45
+ ' // Dependent Value Example with Default:',
46
+ ' // appName: {',
47
+ ' // dependsOn: \'baseURL\',',
48
+ ' // default: \'Immersive Classroom\',',
49
+ ' // \'immersive-stage.dcex.harvard.edu\': \'Immersive Stage\',',
50
+ ' // },',
35
51
  '};',
36
52
  '',
37
53
  "export default Global".concat(name, ";"),
@@ -1 +1 @@
1
- {"version":3,"file":"genEmptyGlobalFile.js","sourceRoot":"","sources":["../../../setup/checkRequiredFiles/genEmptyGlobalFile.ts"],"names":[],"mappings":";;;;;AAAA,0CAAoB;AACpB,8CAAwB;AAExB,wBAAwB;AACxB,uEAAiD;AAEjD;;;;GAIG;AACH,IAAM,kBAAkB,GAAG,UAAC,IAAY;IACtC,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,iBAAiB;IACjB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,6CAAsC,IAAI,QAAK,CAAC,CAAC;IAE7D,IAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACtD,IAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAS,IAAI,QAAK,CAAC,CAAC;IAE7D,gCAAgC;IAChC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,uBAAuB;QACvB,YAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,sCAAsC;IACtC,IAAM,YAAY,GAAG;QACnB,KAAK;QACL,oBAAa,IAAI,CAAE;QACnB,KAAK;QACL,EAAE;QACF,sBAAe,IAAI,SAAM;QACzB,+BAAwB,IAAI,CAAC,WAAW,EAAE,UAAO;QACjD,IAAI;QACJ,EAAE;QACF,+BAAwB,IAAI,MAAG;QAC/B,EAAE;KACH,CAAC;IACF,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAE9D,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"genEmptyGlobalFile.js","sourceRoot":"","sources":["../../../setup/checkRequiredFiles/genEmptyGlobalFile.ts"],"names":[],"mappings":";;;;;AAAA,0CAAoB;AACpB,8CAAwB;AAExB,wBAAwB;AACxB,uEAAiD;AAEjD;;;;GAIG;AACH,IAAM,kBAAkB,GAAG,UAAC,IAAY;IACtC,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,iBAAiB;IACjB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,6CAAsC,IAAI,QAAK,CAAC,CAAC;IAE7D,IAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACtD,IAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAS,IAAI,QAAK,CAAC,CAAC;IAE7D,gCAAgC;IAChC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,uBAAuB;QACvB,YAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,sCAAsC;IACtC,IAAM,YAAY,GAAG;QACnB,KAAK;QACL,oBAAa,IAAI,CAAE;QACnB,KAAK;QACL,EAAE;QACF,sBAAe,IAAI,SAAM;QACzB,6BAA6B;QAC7B,8CAA8C;QAC9C,kCAAkC;QAClC,EAAE;QACF,+BAA+B;QAC/B,mBAAmB;QACnB,oCAAoC;QACpC,2CAA2C;QAC3C,sDAAsD;QACtD,SAAS;QACT,EAAE;QACF,4CAA4C;QAC5C,iBAAiB;QACjB,gCAAgC;QAChC,0CAA0C;QAC1C,mEAAmE;QACnE,SAAS;QACT,IAAI;QACJ,EAAE;QACF,+BAAwB,IAAI,MAAG;QAC/B,EAAE;KACH,CAAC;IACF,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAE9D,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
@@ -31,7 +31,23 @@ var genEmptyProfileFile = function (name) {
31
31
  ' */',
32
32
  '',
33
33
  "const ".concat(name, "Profile = {"),
34
- ' // Add profile values here',
34
+ ' // Static Value Examples:',
35
+ ' // baseURL: \'immersive.dcex.harvard.edu\'',
36
+ ' // loginSystem: \'HarvardKey\'',
37
+ '',
38
+ ' // Dependent Value Example:',
39
+ ' // loginHost: {',
40
+ ' // dependsOn: \'loginSystem\',',
41
+ ' // HarvardKey: \'login.harvard.edu\',',
42
+ ' // AdminPanel: \'admin.dcex.harvard.edu/login\',',
43
+ ' // },',
44
+ '',
45
+ ' // Dependent Value Example with Default:',
46
+ ' // appName: {',
47
+ ' // dependsOn: \'baseURL\',',
48
+ ' // default: \'Immersive Classroom\',',
49
+ ' // \'immersive-stage.dcex.harvard.edu\': \'Immersive Stage\',',
50
+ ' // },',
35
51
  '};',
36
52
  '',
37
53
  "export default ".concat(name, "Profile;"),
@@ -1 +1 @@
1
- {"version":3,"file":"genEmptyProfileFile.js","sourceRoot":"","sources":["../../../setup/checkRequiredFiles/genEmptyProfileFile.ts"],"names":[],"mappings":";;;;;AAAA,0CAAoB;AACpB,8CAAwB;AAExB,wBAAwB;AACxB,uEAAiD;AAEjD;;;;GAIG;AACH,IAAM,mBAAmB,GAAG,UAAC,IAAY;IACvC,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,iBAAiB;IACjB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,uCAAgC,IAAI,gBAAa,CAAC,CAAC;IAE/D,IAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACxD,IAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAG,IAAI,gBAAa,CAAC,CAAC;IAEhE,gCAAgC;IAChC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,uBAAuB;QACvB,YAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,sCAAsC;IACtC,IAAM,YAAY,GAAG;QACnB,KAAK;QACL,aAAM,IAAI,aAAU;QACpB,KAAK;QACL,EAAE;QACF,gBAAS,IAAI,gBAAa;QAC1B,8BAA8B;QAC9B,IAAI;QACJ,EAAE;QACF,yBAAkB,IAAI,aAAU;QAChC,EAAE;KACH,CAAC;IACF,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAE9D,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"genEmptyProfileFile.js","sourceRoot":"","sources":["../../../setup/checkRequiredFiles/genEmptyProfileFile.ts"],"names":[],"mappings":";;;;;AAAA,0CAAoB;AACpB,8CAAwB;AAExB,wBAAwB;AACxB,uEAAiD;AAEjD;;;;GAIG;AACH,IAAM,mBAAmB,GAAG,UAAC,IAAY;IACvC,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,iBAAiB;IACjB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,uCAAgC,IAAI,gBAAa,CAAC,CAAC;IAE/D,IAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACxD,IAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAG,IAAI,gBAAa,CAAC,CAAC;IAEhE,gCAAgC;IAChC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,uBAAuB;QACvB,YAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,sCAAsC;IACtC,IAAM,YAAY,GAAG;QACnB,KAAK;QACL,aAAM,IAAI,aAAU;QACpB,KAAK;QACL,EAAE;QACF,gBAAS,IAAI,gBAAa;QAC1B,6BAA6B;QAC7B,8CAA8C;QAC9C,kCAAkC;QAClC,EAAE;QACF,+BAA+B;QAC/B,mBAAmB;QACnB,oCAAoC;QACpC,2CAA2C;QAC3C,sDAAsD;QACtD,SAAS;QACT,EAAE;QACF,4CAA4C;QAC5C,iBAAiB;QACjB,gCAAgC;QAChC,0CAA0C;QAC1C,mEAAmE;QACnE,SAAS;QACT,IAAI;QACJ,EAAE;QACF,yBAAkB,IAAI,aAAU;QAChC,EAAE;KACH,CAAC;IACF,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAE9D,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
@@ -18,8 +18,6 @@ var checkRequiredFiles = function () {
18
18
  var root = (0, getRootPath_1.default)();
19
19
  var globalsPath = path_1.default.join(root, 'cypress/globals');
20
20
  var profilesPath = path_1.default.join(root, 'cypress/profiles');
21
- // Common file extensions to check
22
- var extensions = ['.js', '.ts', '.json', '.mjs', '.cjs'];
23
21
  // Required global files
24
22
  var requiredGlobals = [
25
23
  'Credentials',
@@ -28,13 +26,11 @@ var checkRequiredFiles = function () {
28
26
  ];
29
27
  // Determine profile file name (default is stage)
30
28
  var profileName = process.env.CYPRESS_PROFILE || 'Stage';
31
- var requiredProfile = "".concat(profileName, ".Profile");
29
+ var requiredProfile = "".concat(profileName, ".Profile.ts");
32
30
  // Check global files
33
31
  requiredGlobals.forEach(function (globalName) {
34
32
  var filePath = path_1.default.join(globalsPath, "Global".concat(globalName, ".ts"));
35
- var found = extensions.some(function (ext) {
36
- return (0, fs_1.existsSync)("".concat(filePath).concat(ext));
37
- });
33
+ var found = (0, fs_1.existsSync)(filePath);
38
34
  if (!found) {
39
35
  // Create the file
40
36
  (0, genEmptyGlobalFile_1.default)(globalName);
@@ -42,9 +38,7 @@ var checkRequiredFiles = function () {
42
38
  });
43
39
  // Check profile file
44
40
  var profileFilePath = path_1.default.join(profilesPath, requiredProfile);
45
- var profileFound = extensions.some(function (ext) {
46
- return (0, fs_1.existsSync)("".concat(profileFilePath).concat(ext));
47
- });
41
+ var profileFound = (0, fs_1.existsSync)(profileFilePath);
48
42
  if (!profileFound) {
49
43
  (0, genEmptyProfileFile_1.default)(profileName);
50
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../setup/checkRequiredFiles/index.ts"],"names":[],"mappings":";;;;;AAAA,cAAc;AACd,yBAAgC;AAChC,8CAAwB;AAExB,wBAAwB;AACxB,uEAAiD;AACjD,4EAAsD;AACtD,8EAAwD;AAExD;;;GAGG;AACH,IAAM,kBAAkB,GAAG;IACzB,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,IAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACvD,IAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAEzD,kCAAkC;IAClC,IAAM,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3D,wBAAwB;IACxB,IAAM,eAAe,GAAG;QACtB,aAAa;QACb,WAAW;QACX,QAAQ;KACT,CAAC;IAEF,iDAAiD;IACjD,IAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC;IAC3D,IAAM,eAAe,GAAG,UAAG,WAAW,aAAU,CAAC;IAEjD,qBAAqB;IACrB,eAAe,CAAC,OAAO,CAAC,UAAC,UAAU;QACjC,IAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAS,UAAU,QAAK,CAAC,CAAC;QAClE,IAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,GAAG;YAChC,OAAO,IAAA,eAAU,EAAC,UAAG,QAAQ,SAAG,GAAG,CAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,kBAAkB;YAClB,IAAA,4BAAkB,EAAC,UAAU,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,IAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACjE,IAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,GAAG;QACvC,OAAO,IAAA,eAAU,EAAC,UAAG,eAAe,SAAG,GAAG,CAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAA,6BAAmB,EAAC,WAAW,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../setup/checkRequiredFiles/index.ts"],"names":[],"mappings":";;;;;AAAA,cAAc;AACd,yBAAgC;AAChC,8CAAwB;AAExB,wBAAwB;AACxB,uEAAiD;AACjD,4EAAsD;AACtD,8EAAwD;AAExD;;;GAGG;AACH,IAAM,kBAAkB,GAAG;IACzB,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,IAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACvD,IAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAEzD,wBAAwB;IACxB,IAAM,eAAe,GAAG;QACtB,aAAa;QACb,WAAW;QACX,QAAQ;KACT,CAAC;IAEF,iDAAiD;IACjD,IAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC;IAC3D,IAAM,eAAe,GAAG,UAAG,WAAW,gBAAa,CAAC;IAEpD,qBAAqB;IACrB,eAAe,CAAC,OAAO,CAAC,UAAC,UAAU;QACjC,IAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAS,UAAU,QAAK,CAAC,CAAC;QAClE,IAAM,KAAK,GAAG,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,kBAAkB;YAClB,IAAA,4BAAkB,EAAC,UAAU,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,IAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACjE,IAAM,YAAY,GAAG,IAAA,eAAU,EAAC,eAAe,CAAC,CAAC;IACjD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAA,6BAAmB,EAAC,WAAW,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -43,8 +34,6 @@ var genKyCommandDeclarations = function () {
43
34
  // Get paths
44
35
  var kyCommandsDir = path_1.default.join(root, 'node_modules/dceky/src/commands');
45
36
  var declarationsPath = path_1.default.join(root, 'cypress/support/kyCommandDeclarations.ts');
46
- console.log('Generating Ky command declarations file...');
47
- console.log(kyCommandsDir, declarationsPath);
48
37
  // Find all command files
49
38
  var commandFiles = (fs_1.default
50
39
  // Read all files in the commands directory
@@ -57,8 +46,6 @@ var genKyCommandDeclarations = function () {
57
46
  .filter(function (file) {
58
47
  return file !== 'index.ts';
59
48
  }));
60
- console.log("Found ".concat(commandFiles.length, " Ky command files."));
61
- console.log(commandFiles);
62
49
  // Read the files, extract declarations
63
50
  var unprocessedDeclarations = [];
64
51
  for (var i = 0; i < commandFiles.length; i += 1) {
@@ -83,20 +70,23 @@ var genKyCommandDeclarations = function () {
83
70
  // }
84
71
  var match = declaration.match(/declare global \{\s*namespace Cypress \{\s*interface Chainable \{\s*([\s\S]*?)\s*\}\s*\}\s*\}/);
85
72
  if (match && match[1] && match[1].trim()) {
86
- return match[1].trim();
73
+ // Surround with spacing
74
+ return " ".concat(match[1]);
87
75
  }
88
76
  return '';
89
77
  });
78
+ // Join processed declarations
79
+ var mergedProcessedDeclarations = processedDeclarations.join('\n\n');
90
80
  // Merge declarations into one and re-wrap
91
- var finalDeclarations = __spreadArray(__spreadArray([
81
+ var finalDeclarations = [
92
82
  '/// <reference types="cypress" />',
93
83
  '',
94
84
  '// Auto-generated by dceky - do not edit manually',
95
85
  '',
96
86
  'declare global {',
97
87
  ' namespace Cypress {',
98
- ' interface Chainable {'
99
- ], processedDeclarations, true), [
88
+ ' interface Chainable {',
89
+ mergedProcessedDeclarations,
100
90
  ' }',
101
91
  ' }',
102
92
  '}',
@@ -104,7 +94,7 @@ var genKyCommandDeclarations = function () {
104
94
  '// Export identity function to make this a module',
105
95
  'export default () => {};',
106
96
  '',
107
- ], false).join('\n');
97
+ ].join('\n');
108
98
  // Write to file
109
99
  fs_1.default.writeFileSync(declarationsPath, finalDeclarations, 'utf8');
110
100
  };
@@ -1 +1 @@
1
- {"version":3,"file":"genKyCommandDeclarations.js","sourceRoot":"","sources":["../../setup/genKyCommandDeclarations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"genKyCommandDeclarations.js","sourceRoot":"","sources":["../../setup/genKyCommandDeclarations.ts"],"names":[],"mappings":";;;;;AAAA,kBAAkB;AAClB,0CAAoB;AACpB,8CAAwB;AAExB,wBAAwB;AACxB,sEAAgD;AAEhD,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAE5E,IAAM,OAAO,GAAG;IACd,8CAA8C;IAC9C,8CAA8C;IAC9C,8CAA8C;CAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,IAAM,KAAK,GAAG;IACZ,8CAA8C;IAC9C,8CAA8C;IAC9C,8CAA8C;CAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAE5E;;;GAGG;AACH,IAAM,wBAAwB,GAAG;;IAC/B,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,YAAY;IACZ,IAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAC;IACzE,IAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;IAErF,yBAAyB;IACzB,IAAM,YAAY,GAAG,CACnB,YAAE;QACA,2CAA2C;SAC1C,WAAW,CAAC,aAAa,CAAC;QAC3B,yBAAyB;SACxB,MAAM,CAAC,UAAC,IAAI;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;QACF,qBAAqB;SACpB,MAAM,CAAC,UAAC,IAAI;QACX,OAAO,IAAI,KAAK,UAAU,CAAC;IAC7B,CAAC,CAAC,CACL,CAAC;IAEF,uCAAuC;IACvC,IAAM,uBAAuB,GAAa,EAAE,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAChD,IAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEvD,8BAA8B;QAC9B,IAAM,gBAAgB,GAAG,MAAA,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,gBAAgB,EAAE,CAAC;YACrB,uBAAuB,CAAC,IAAI,CAAC,UAAG,gBAAgB,OAAI,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAM,qBAAqB,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAC,WAAW;QACpE,6BAA6B;QAC7B,mBAAmB;QACnB,wBAAwB;QACxB,4BAA4B;QAC5B,gCAAgC;QAChC,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAC7B,+FAA+F,CAChG,CAAC;QACF,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,wBAAwB;YACxB,OAAO,gBAAS,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,IAAM,2BAA2B,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvE,0CAA0C;IAC1C,IAAM,iBAAiB,GAAG;QACxB,mCAAmC;QACnC,EAAE;QACF,mDAAmD;QACnD,EAAE;QACF,kBAAkB;QAClB,uBAAuB;QACvB,2BAA2B;QAC3B,2BAA2B;QAC3B,OAAO;QACP,KAAK;QACL,GAAG;QACH,EAAE;QACF,mDAAmD;QACnD,0BAA0B;QAC1B,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,gBAAgB;IAChB,YAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC"}
@@ -15,6 +15,8 @@ var getRootPath_1 = __importDefault(require("./helpers/getRootPath"));
15
15
  var setupCypressDependencies = function () {
16
16
  var root = (0, getRootPath_1.default)();
17
17
  var requiredPkgs = [
18
+ 'cypress',
19
+ 'typescript',
18
20
  'cypress-parallel',
19
21
  'cypress-multi-reporters',
20
22
  'mochawesome',
@@ -33,9 +35,9 @@ var setupCypressDependencies = function () {
33
35
  if (missingPkgs.length > 0) {
34
36
  // Log the action
35
37
  // eslint-disable-next-line no-console
36
- console.log("Installing missing devDependencies: ".concat(missingPkgs.join(', ')));
38
+ console.log("> Adding missing devDependencies: ".concat(missingPkgs.join(', ')));
37
39
  // Construct install command
38
- var installCmd = "npm i -D ".concat(missingPkgs.join(' '));
40
+ var installCmd = "cd ".concat(root, " && npm i -D ").concat(missingPkgs.join(' '));
39
41
  (0, exec_1.default)(installCmd, true);
40
42
  }
41
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"setupCypressDependencies.js","sourceRoot":"","sources":["../../setup/setupCypressDependencies.ts"],"names":[],"mappings":";;;;;AAAA,cAAc;AACd,8CAAwB;AAExB,wBAAwB;AACxB,+DAAyC;AACzC,sEAAgD;AAEhD;;;GAGG;AACH,IAAM,wBAAwB,GAAG;IAC/B,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,IAAM,YAAY,GAAG;QACnB,kBAAkB;QAClB,yBAAyB;QACzB,aAAa;QACb,mBAAmB;QACnB,8BAA8B;KAC/B,CAAC;IAEF,oBAAoB;IACpB,qEAAqE;IACrE,IAAM,OAAO,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IACzD,IAAM,OAAO,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IAE9C,IAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,GAAG;QAC1C,kDAAkD;QAClD,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,iBAAiB;QACjB,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,8CAAuC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;QAE7E,4BAA4B;QAC5B,IAAM,UAAU,GAAG,mBAAY,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;QACvD,IAAA,cAAI,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"setupCypressDependencies.js","sourceRoot":"","sources":["../../setup/setupCypressDependencies.ts"],"names":[],"mappings":";;;;;AAAA,cAAc;AACd,8CAAwB;AAExB,wBAAwB;AACxB,+DAAyC;AACzC,sEAAgD;AAEhD;;;GAGG;AACH,IAAM,wBAAwB,GAAG;IAC/B,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,IAAM,YAAY,GAAG;QACnB,SAAS;QACT,YAAY;QACZ,kBAAkB;QAClB,yBAAyB;QACzB,aAAa;QACb,mBAAmB;QACnB,8BAA8B;KAC/B,CAAC;IAEF,oBAAoB;IACpB,qEAAqE;IACrE,IAAM,OAAO,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IACzD,IAAM,OAAO,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IAE9C,IAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,GAAG;QAC1C,kDAAkD;QAClD,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,iBAAiB;QACjB,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,4CAAqC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;QAE3E,4BAA4B;QAC5B,IAAM,UAAU,GAAG,aAAM,IAAI,0BAAgB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;QACrE,IAAA,cAAI,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC"}
@@ -38,7 +38,7 @@ var resolveDependents = function (dependentMaps, basics) {
38
38
  resolved[k] = table.default;
39
39
  }
40
40
  else {
41
- // eslint-disable-next-line max-len
41
+ // eslint-disable-next-line max-len, no-console
42
42
  console.warn("[cypress.config] Could not resolve ".concat(k, ", dependsOn=").concat(dependsOn, ", selector=").concat(String(selector)));
43
43
  process.exit(1);
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolveDependents.js","sourceRoot":"","sources":["../../../../src/genConfiguration/helpers/resolveDependents.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAIA;;;;;;GAMG;AACH,IAAM,iBAAiB,GAAG,UACxB,aAAgD,EAChD,MAAwB;IAExB,IAAM,QAAQ,GAAqB,EAAE,CAAC;IAEtC,0CAA0C;IAC1C,aAAa,CAAC,OAAO,CAAC,UAAC,MAAM;QAC3B,iDAAiD;QACjD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,EAAW;gBAAV,CAAC,QAAA,EAAE,MAAM,QAAA;YACxC,0CAA0C;YAC1C,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE1C,yCAAyC;YACzC,IAAM,KAA0B,MAAkC,EAA1D,SAAS,eAAA,EAAK,KAAK,cAArB,aAAuB,CAAqC,CAAC;YAEnE,kCAAkC;YAClC,IAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAE/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;gBAC9B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,mCAAmC;gBACnC,OAAO,CAAC,IAAI,CAAC,6CAAsC,CAAC,yBAAe,SAAS,wBAAc,MAAM,CAAC,QAAQ,CAAC,CAAE,CAAC,CAAC;gBAC9G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"resolveDependents.js","sourceRoot":"","sources":["../../../../src/genConfiguration/helpers/resolveDependents.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAIA;;;;;;GAMG;AACH,IAAM,iBAAiB,GAAG,UACxB,aAAgD,EAChD,MAAwB;IAExB,IAAM,QAAQ,GAAqB,EAAE,CAAC;IAEtC,0CAA0C;IAC1C,aAAa,CAAC,OAAO,CAAC,UAAC,MAAM;QAC3B,iDAAiD;QACjD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,EAAW;gBAAV,CAAC,QAAA,EAAE,MAAM,QAAA;YACxC,0CAA0C;YAC1C,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE1C,yCAAyC;YACzC,IAAM,KAA0B,MAAkC,EAA1D,SAAS,eAAA,EAAK,KAAK,cAArB,aAAuB,CAAqC,CAAC;YAEnE,kCAAkC;YAClC,IAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAE/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;gBAC9B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,OAAO,CAAC,IAAI,CAAC,6CAAsC,CAAC,yBAAe,SAAS,wBAAc,MAAM,CAAC,QAAQ,CAAC,CAAE,CAAC,CAAC;gBAC9G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
@@ -76,6 +76,9 @@ var genConfiguration = function () {
76
76
  // Add basics, depends, and profileName into the final env
77
77
  var finalEnv = __assign(__assign(__assign({}, basics), dependents), { profileName: profileName });
78
78
  var baseUrl = finalEnv.baseURL;
79
+ if (!(baseUrl === null || baseUrl === void 0 ? void 0 : baseUrl.startsWith('http'))) {
80
+ baseUrl = "https://".concat(baseUrl);
81
+ }
79
82
  // Return the configuration object
80
83
  return (0, cypress_1.defineConfig)({
81
84
  e2e: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/genConfiguration/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/genConfiguration/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.0.5-beta.ky-declarations.7",
3
+ "version": "1.0.5-beta.ky-declarations.9",
4
4
  "description": "Cypress toolkit for Harvard DCE",
5
5
  "main": "./lib/src/index.js",
6
6
  "types": "./lib/src/index.d.ts",
@@ -8,7 +8,8 @@
8
8
  "build": "tsc --project ./tsconfig.json",
9
9
  "ky:start": "npx tsx ./start/index.ts",
10
10
  "ky:setup": "npx tsx ./setup/index.ts",
11
- "ky:dev": "npm run ky:setup && npm run ky:start"
11
+ "ky:dev": "npm run ky:setup && npm run ky:start",
12
+ "postinstall": "npx tsx ./postinstall/index.ts"
12
13
  },
13
14
  "repository": {
14
15
  "type": "git",
@@ -0,0 +1,17 @@
1
+ import { execSync } from 'child_process';
2
+
3
+ /**
4
+ * Execute a command
5
+ * @author Gabe Abrams
6
+ * @param command the command to execute
7
+ * @param printToStdOut if true, print to standard out instead of returning
8
+ */
9
+ const exec = (command: string, printToStdOut?: boolean): string => {
10
+ if (printToStdOut) {
11
+ execSync(command, { stdio: 'inherit' });
12
+ return '';
13
+ }
14
+ return execSync(command).toString();
15
+ };
16
+
17
+ export default exec;
@@ -0,0 +1,13 @@
1
+ import path from 'path';
2
+
3
+ /**
4
+ * Get the root path of the project
5
+ * @author Yuen Ler Chow
6
+ * @returns the root path of the project
7
+ */
8
+ const getRootPath = () => {
9
+ const root = path.join(__dirname, '../../../../');
10
+ return root;
11
+ };
12
+
13
+ export default getRootPath;
@@ -0,0 +1,68 @@
1
+ /* eslint-disable no-console */
2
+ /**
3
+ * Adds scripts to the top-level project
4
+ * @author Gabe Abrams
5
+ */
6
+
7
+ // Import libs
8
+ import fs from 'fs';
9
+ import path from 'path';
10
+
11
+ // Import helpers
12
+ import exec from './helpers/exec';
13
+ import getRootPath from './helpers/getRootPath';
14
+
15
+ // Get the project directory
16
+ const root = getRootPath();
17
+
18
+ // Read the root package.json
19
+ // eslint-disable-next-line global-require, import/no-dynamic-require
20
+ const pkgJson = require(path.join(root, 'package.json'));
21
+
22
+ // Ensure scripts field exists
23
+ if (!pkgJson.scripts) {
24
+ pkgJson.scripts = {};
25
+ }
26
+
27
+ // Keep track if something was modified
28
+ let modified = false;
29
+
30
+ // Add ky:setup script
31
+ if (!pkgJson.scripts['ky:setup']) {
32
+ pkgJson.scripts['ky:setup'] = 'npm explore dceky -- npm run ky:setup';
33
+ modified = true;
34
+ }
35
+
36
+ // Add ky:start script
37
+ if (!pkgJson.scripts['ky:start']) {
38
+ pkgJson.scripts['ky:start'] = 'npm explore dceky -- npm run ky:start';
39
+ modified = true;
40
+ }
41
+
42
+ // Add ky:dev script
43
+ if (!pkgJson.scripts['ky:dev']) {
44
+ pkgJson.scripts['ky:dev'] = 'npm explore dceky -- npm run ky:dev';
45
+ modified = true;
46
+ }
47
+
48
+ // Write back the modified package.json
49
+ fs.writeFileSync(
50
+ path.join(root, 'package.json'),
51
+ JSON.stringify(pkgJson, null, 2),
52
+ 'utf8',
53
+ );
54
+
55
+ // Automatically set up
56
+ if (modified) {
57
+ console.log('\nRunning initial ky setup...');
58
+ exec(`cd ${root} && npm run ky:setup`, true);
59
+ }
60
+
61
+ // Notify user
62
+ if (modified) {
63
+ console.log('\nAdded dceky scripts to package.json');
64
+ console.log('You can now run:');
65
+ console.log(' npm run ky:start # Start ky tests');
66
+ console.log(' npm run ky:setup # Setup or update ky-managed files in this project');
67
+ console.log(' npm run ky:dev # Start ky tests after ensuring set up');
68
+ }
@@ -32,7 +32,23 @@ const genEmptyGlobalFile = (name: string): string => {
32
32
  ' */',
33
33
  '',
34
34
  `const Global${name} = {`,
35
- ` // Add your global ${name.toLowerCase()} here`,
35
+ ' // Static Value Examples:',
36
+ ' // baseURL: \'immersive.dcex.harvard.edu\'',
37
+ ' // loginSystem: \'HarvardKey\'',
38
+ '',
39
+ ' // Dependent Value Example:',
40
+ ' // loginHost: {',
41
+ ' // dependsOn: \'loginSystem\',',
42
+ ' // HarvardKey: \'login.harvard.edu\',',
43
+ ' // AdminPanel: \'admin.dcex.harvard.edu/login\',',
44
+ ' // },',
45
+ '',
46
+ ' // Dependent Value Example with Default:',
47
+ ' // appName: {',
48
+ ' // dependsOn: \'baseURL\',',
49
+ ' // default: \'Immersive Classroom\',',
50
+ ' // \'immersive-stage.dcex.harvard.edu\': \'Immersive Stage\',',
51
+ ' // },',
36
52
  '};',
37
53
  '',
38
54
  `export default Global${name};`,
@@ -32,7 +32,23 @@ const genEmptyProfileFile = (name: string): string => {
32
32
  ' */',
33
33
  '',
34
34
  `const ${name}Profile = {`,
35
- ' // Add profile values here',
35
+ ' // Static Value Examples:',
36
+ ' // baseURL: \'immersive.dcex.harvard.edu\'',
37
+ ' // loginSystem: \'HarvardKey\'',
38
+ '',
39
+ ' // Dependent Value Example:',
40
+ ' // loginHost: {',
41
+ ' // dependsOn: \'loginSystem\',',
42
+ ' // HarvardKey: \'login.harvard.edu\',',
43
+ ' // AdminPanel: \'admin.dcex.harvard.edu/login\',',
44
+ ' // },',
45
+ '',
46
+ ' // Dependent Value Example with Default:',
47
+ ' // appName: {',
48
+ ' // dependsOn: \'baseURL\',',
49
+ ' // default: \'Immersive Classroom\',',
50
+ ' // \'immersive-stage.dcex.harvard.edu\': \'Immersive Stage\',',
51
+ ' // },',
36
52
  '};',
37
53
  '',
38
54
  `export default ${name}Profile;`,
@@ -17,9 +17,6 @@ const checkRequiredFiles = (): void => {
17
17
  const globalsPath = path.join(root, 'cypress/globals');
18
18
  const profilesPath = path.join(root, 'cypress/profiles');
19
19
 
20
- // Common file extensions to check
21
- const extensions = ['.js', '.ts', '.json', '.mjs', '.cjs'];
22
-
23
20
  // Required global files
24
21
  const requiredGlobals = [
25
22
  'Credentials',
@@ -29,14 +26,12 @@ const checkRequiredFiles = (): void => {
29
26
 
30
27
  // Determine profile file name (default is stage)
31
28
  const profileName = process.env.CYPRESS_PROFILE || 'Stage';
32
- const requiredProfile = `${profileName}.Profile`;
29
+ const requiredProfile = `${profileName}.Profile.ts`;
33
30
 
34
31
  // Check global files
35
32
  requiredGlobals.forEach((globalName) => {
36
33
  const filePath = path.join(globalsPath, `Global${globalName}.ts`);
37
- const found = extensions.some((ext) => {
38
- return existsSync(`${filePath}${ext}`);
39
- });
34
+ const found = existsSync(filePath);
40
35
  if (!found) {
41
36
  // Create the file
42
37
  genEmptyGlobalFile(globalName);
@@ -45,9 +40,7 @@ const checkRequiredFiles = (): void => {
45
40
 
46
41
  // Check profile file
47
42
  const profileFilePath = path.join(profilesPath, requiredProfile);
48
- const profileFound = extensions.some((ext) => {
49
- return existsSync(`${profileFilePath}${ext}`);
50
- });
43
+ const profileFound = existsSync(profileFilePath);
51
44
  if (!profileFound) {
52
45
  genEmptyProfileFile(profileName);
53
46
  }
@@ -35,8 +35,6 @@ const genKyCommandDeclarations = () => {
35
35
  // Get paths
36
36
  const kyCommandsDir = path.join(root, 'node_modules/dceky/src/commands');
37
37
  const declarationsPath = path.join(root, 'cypress/support/kyCommandDeclarations.ts');
38
- console.log('Generating Ky command declarations file...');
39
- console.log(kyCommandsDir, declarationsPath);
40
38
 
41
39
  // Find all command files
42
40
  const commandFiles = (
@@ -52,8 +50,6 @@ const genKyCommandDeclarations = () => {
52
50
  return file !== 'index.ts';
53
51
  })
54
52
  );
55
- console.log(`Found ${commandFiles.length} Ky command files.`);
56
- console.log(commandFiles);
57
53
 
58
54
  // Read the files, extract declarations
59
55
  const unprocessedDeclarations: string[] = [];
@@ -83,11 +79,15 @@ const genKyCommandDeclarations = () => {
83
79
  /declare global \{\s*namespace Cypress \{\s*interface Chainable \{\s*([\s\S]*?)\s*\}\s*\}\s*\}/,
84
80
  );
85
81
  if (match && match[1] && match[1].trim()) {
86
- return match[1].trim();
82
+ // Surround with spacing
83
+ return ` ${match[1]}`;
87
84
  }
88
85
  return '';
89
86
  });
90
87
 
88
+ // Join processed declarations
89
+ const mergedProcessedDeclarations = processedDeclarations.join('\n\n');
90
+
91
91
  // Merge declarations into one and re-wrap
92
92
  const finalDeclarations = [
93
93
  '/// <reference types="cypress" />',
@@ -97,8 +97,7 @@ const genKyCommandDeclarations = () => {
97
97
  'declare global {',
98
98
  ' namespace Cypress {',
99
99
  ' interface Chainable {',
100
- // Indent each declaration by 6 spaces
101
- ...processedDeclarations,
100
+ mergedProcessedDeclarations,
102
101
  ' }',
103
102
  ' }',
104
103
  '}',
@@ -13,6 +13,8 @@ const setupCypressDependencies = (): void => {
13
13
  const root = getRootPath();
14
14
 
15
15
  const requiredPkgs = [
16
+ 'cypress',
17
+ 'typescript',
16
18
  'cypress-parallel',
17
19
  'cypress-multi-reporters',
18
20
  'mochawesome',
@@ -34,10 +36,10 @@ const setupCypressDependencies = (): void => {
34
36
  if (missingPkgs.length > 0) {
35
37
  // Log the action
36
38
  // eslint-disable-next-line no-console
37
- console.log(`Installing missing devDependencies: ${missingPkgs.join(', ')}`);
39
+ console.log(`> Adding missing devDependencies: ${missingPkgs.join(', ')}`);
38
40
 
39
41
  // Construct install command
40
- const installCmd = `npm i -D ${missingPkgs.join(' ')}`;
42
+ const installCmd = `cd ${root} && npm i -D ${missingPkgs.join(' ')}`;
41
43
  exec(installCmd, true);
42
44
  }
43
45
  };
@@ -33,7 +33,7 @@ const resolveDependents = (
33
33
  } else if ('default' in table) {
34
34
  resolved[k] = table.default;
35
35
  } else {
36
- // eslint-disable-next-line max-len
36
+ // eslint-disable-next-line max-len, no-console
37
37
  console.warn(`[cypress.config] Could not resolve ${k}, dependsOn=${dependsOn}, selector=${String(selector)}`);
38
38
  process.exit(1);
39
39
  }
@@ -80,7 +80,10 @@ const genConfiguration = () => {
80
80
  profileName,
81
81
  };
82
82
 
83
- const baseUrl = finalEnv.baseURL;
83
+ let baseUrl = finalEnv.baseURL;
84
+ if (!baseUrl?.startsWith('http')) {
85
+ baseUrl = `https://${baseUrl}`;
86
+ }
84
87
 
85
88
  // Return the configuration object
86
89
  return defineConfig({
package/tsconfig.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "lib": ["es5", "es2015.promise", "es2017.object", "dom"],
12
12
  "outDir": "./lib"
13
13
  },
14
- "include": [ "./src", "setup", "start" ],
14
+ "include": [ "./src", "setup", "start", "postinstall" ],
15
15
  "ts-node": {
16
16
  "files": true
17
17
  }