@quenty/nevermore-cli 4.12.4 → 4.13.0-canary.637.d86930c.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/args/global-args.js +1 -2
  3. package/dist/commands/download-roblox-types.d.ts +1 -1
  4. package/dist/commands/download-roblox-types.d.ts.map +1 -1
  5. package/dist/commands/download-roblox-types.js +43 -88
  6. package/dist/commands/download-roblox-types.js.map +1 -1
  7. package/dist/commands/init-game-command.d.ts +1 -1
  8. package/dist/commands/init-game-command.d.ts.map +1 -1
  9. package/dist/commands/init-game-command.js +69 -113
  10. package/dist/commands/init-game-command.js.map +1 -1
  11. package/dist/commands/init-package-command.d.ts +1 -1
  12. package/dist/commands/init-package-command.d.ts.map +1 -1
  13. package/dist/commands/init-package-command.js +31 -75
  14. package/dist/commands/init-package-command.js.map +1 -1
  15. package/dist/commands/init-plugin-command.d.ts +1 -1
  16. package/dist/commands/init-plugin-command.d.ts.map +1 -1
  17. package/dist/commands/init-plugin-command.js +28 -70
  18. package/dist/commands/init-plugin-command.js.map +1 -1
  19. package/dist/commands/install-package-command.d.ts +2 -2
  20. package/dist/commands/install-package-command.d.ts.map +1 -1
  21. package/dist/commands/install-package-command.js +42 -62
  22. package/dist/commands/install-package-command.js.map +1 -1
  23. package/dist/commands/pack-command.d.ts +1 -1
  24. package/dist/commands/pack-command.d.ts.map +1 -1
  25. package/dist/commands/pack-command.js +19 -59
  26. package/dist/commands/pack-command.js.map +1 -1
  27. package/dist/commands/test-project-command.d.ts +1 -1
  28. package/dist/commands/test-project-command.d.ts.map +1 -1
  29. package/dist/commands/test-project-command.js +89 -124
  30. package/dist/commands/test-project-command.js.map +1 -1
  31. package/dist/nevermore.js +29 -25
  32. package/dist/nevermore.js.map +1 -1
  33. package/dist/utils/nevermore-cli-utils.d.ts +3 -3
  34. package/dist/utils/nevermore-cli-utils.d.ts.map +1 -1
  35. package/dist/utils/nevermore-cli-utils.js +19 -61
  36. package/dist/utils/nevermore-cli-utils.js.map +1 -1
  37. package/package.json +13 -12
  38. package/src/commands/download-roblox-types.ts +1 -1
  39. package/src/commands/init-game-command.ts +2 -3
  40. package/src/commands/init-package-command.ts +2 -2
  41. package/src/commands/init-plugin-command.ts +3 -3
  42. package/src/commands/install-package-command.ts +31 -27
  43. package/src/commands/pack-command.ts +2 -2
  44. package/src/commands/test-project-command.ts +2 -2
  45. package/src/nevermore.ts +20 -7
  46. package/src/utils/nevermore-cli-utils.ts +3 -3
  47. package/tsconfig.json +5 -2
  48. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [4.13.0-canary.637.d86930c.0](https://github.com/Quenty/Nevermore/compare/@quenty/nevermore-cli@4.12.4...@quenty/nevermore-cli@4.13.0-canary.637.d86930c.0) (2026-01-14)
7
+
8
+
9
+ ### Features
10
+
11
+ * Nevermore CLI now checks to make sure it is up to date ([d86930c](https://github.com/Quenty/Nevermore/commit/d86930c85f24d879dee9ce5ce413488d1250246d))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [4.12.4](https://github.com/Quenty/Nevermore/compare/@quenty/nevermore-cli@4.12.3...@quenty/nevermore-cli@4.12.4) (2026-01-12)
7
18
 
8
19
 
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=global-args.js.map
@@ -2,7 +2,7 @@
2
2
  * Download roblox types command
3
3
  */
4
4
  import { Argv, CommandModule } from 'yargs';
5
- import { NevermoreGlobalArgs } from '../args/global-args';
5
+ import { NevermoreGlobalArgs } from '../args/global-args.js';
6
6
  export interface DownloadRobloxTypesArgs extends NevermoreGlobalArgs {
7
7
  fileName?: string;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"download-roblox-types.d.ts","sourceRoot":"","sources":["../../src/commands/download-roblox-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK1D,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,CAChC,YAAW,aAAa,CAAC,CAAC,EAAE,uBAAuB,CAAC;IAE7C,OAAO,SAAuC;IAC9C,QAAQ,SAAiD;IAEzD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAUf,OAAO,CAAC,IAAI,EAAE,uBAAuB;mBAO7B,SAAS;mBA2BT,cAAc;CAoBpC"}
1
+ {"version":3,"file":"download-roblox-types.d.ts","sourceRoot":"","sources":["../../src/commands/download-roblox-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,CAChC,YAAW,aAAa,CAAC,CAAC,EAAE,uBAAuB,CAAC;IAE7C,OAAO,SAAuC;IAC9C,QAAQ,SAAiD;IAEzD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAOX,IAAI,CAAC,uBAAuB,CAAC;IAGjC,OAAO,CAAC,IAAI,EAAE,uBAAuB;mBAO7B,SAAS;mBA2BT,cAAc;CAoBpC"}
@@ -1,52 +1,15 @@
1
- "use strict";
2
1
  /**
3
2
  * Download roblox types command
4
3
  */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
- return new (P || (P = Promise))(function (resolve, reject) {
31
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
- step((generator = generator.apply(thisArg, _arguments || [])).next());
35
- });
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.DownloadRobloxTypes = void 0;
39
- const fs = __importStar(require("fs/promises"));
40
- const fsSync = __importStar(require("fs"));
41
- const https = __importStar(require("https"));
4
+ import * as fs from 'fs/promises';
5
+ import * as fsSync from 'fs';
6
+ import * as https from 'https';
42
7
  /**
43
8
  * Creates a new game with Nevermore dependencies
44
9
  */
45
- class DownloadRobloxTypes {
46
- constructor() {
47
- this.command = 'download-roblox-types [file-name]';
48
- this.describe = 'Downloads the Roblox Luau type definitions.';
49
- }
10
+ export class DownloadRobloxTypes {
11
+ command = 'download-roblox-types [file-name]';
12
+ describe = 'Downloads the Roblox Luau type definitions.';
50
13
  builder(args) {
51
14
  args.positional('file-name', {
52
15
  describe: 'Path to save the downloaded Roblox Luau type definitions.',
@@ -56,58 +19,50 @@ class DownloadRobloxTypes {
56
19
  });
57
20
  return args;
58
21
  }
59
- handler(args) {
60
- var _a;
61
- return __awaiter(this, void 0, void 0, function* () {
62
- yield DownloadRobloxTypes._download((_a = args.fileName) !== null && _a !== void 0 ? _a : 'globalTypes.d.lua', 'https://raw.githubusercontent.com/JohnnyMorganz/luau-lsp/main/scripts/globalTypes.d.lua');
63
- });
22
+ async handler(args) {
23
+ await DownloadRobloxTypes._download(args.fileName ?? 'globalTypes.d.lua', 'https://raw.githubusercontent.com/JohnnyMorganz/luau-lsp/main/scripts/globalTypes.d.lua');
64
24
  }
65
- static _download(filename, url) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- if (!(yield DownloadRobloxTypes._needsDownload(filename))) {
68
- return;
69
- }
70
- return new Promise((resolve, reject) => {
71
- const file = fsSync.createWriteStream(filename);
72
- const request = https.get(url, (response) => {
73
- response.pipe(file);
74
- file.on('finish', () => {
75
- file.close();
76
- resolve();
77
- });
78
- });
79
- request.on('error', (err) => {
80
- fsSync.unlink(filename, () => { });
81
- reject(err);
82
- });
83
- file.on('error', (err) => {
84
- fsSync.unlink(filename, () => { });
85
- reject(err);
25
+ static async _download(filename, url) {
26
+ if (!(await DownloadRobloxTypes._needsDownload(filename))) {
27
+ return;
28
+ }
29
+ return new Promise((resolve, reject) => {
30
+ const file = fsSync.createWriteStream(filename);
31
+ const request = https.get(url, (response) => {
32
+ response.pipe(file);
33
+ file.on('finish', () => {
34
+ file.close();
35
+ resolve();
86
36
  });
87
37
  });
38
+ request.on('error', (err) => {
39
+ fsSync.unlink(filename, () => { });
40
+ reject(err);
41
+ });
42
+ file.on('error', (err) => {
43
+ fsSync.unlink(filename, () => { });
44
+ reject(err);
45
+ });
88
46
  });
89
47
  }
90
- static _needsDownload(filename) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- try {
93
- // Check age of file
94
- const stats = yield fs.stat(filename);
95
- const oneDayInMs = 24 * 60 * 60 * 1000;
96
- const fileAge = Date.now() - stats.mtimeMs;
97
- if (fileAge > oneDayInMs) {
98
- return true;
99
- }
100
- return false;
48
+ static async _needsDownload(filename) {
49
+ try {
50
+ // Check age of file
51
+ const stats = await fs.stat(filename);
52
+ const oneDayInMs = 24 * 60 * 60 * 1000;
53
+ const fileAge = Date.now() - stats.mtimeMs;
54
+ if (fileAge > oneDayInMs) {
55
+ return true;
101
56
  }
102
- catch (error) {
103
- // File doesn't exist
104
- if (error.code === 'ENOENT') {
105
- return true;
106
- }
107
- throw error;
57
+ return false;
58
+ }
59
+ catch (error) {
60
+ // File doesn't exist
61
+ if (error.code === 'ENOENT') {
62
+ return true;
108
63
  }
109
- });
64
+ throw error;
65
+ }
110
66
  }
111
67
  }
112
- exports.DownloadRobloxTypes = DownloadRobloxTypes;
113
68
  //# sourceMappingURL=download-roblox-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"download-roblox-types.js","sourceRoot":"","sources":["../../src/commands/download-roblox-types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,gDAAkC;AAClC,2CAA6B;AAC7B,6CAA+B;AAM/B;;GAEG;AACH,MAAa,mBAAmB;IAAhC;QAGS,YAAO,GAAG,mCAAmC,CAAC;QAC9C,aAAQ,GAAG,6CAA6C,CAAC;IAkElE,CAAC;IAhEQ,OAAO,CAAC,IAAa;QAC1B,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YAC3B,QAAQ,EAAE,2DAA2D;YACrE,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,mBAAmB;SAC7B,CAAC,CAAC;QACH,OAAO,IAAqC,CAAC;IAC/C,CAAC;IAEY,OAAO,CAAC,IAA6B;;;YAChD,MAAM,mBAAmB,CAAC,SAAS,CACjC,MAAA,IAAI,CAAC,QAAQ,mCAAI,mBAAmB,EACpC,yFAAyF,CAC1F,CAAC;;KACH;IAEO,MAAM,CAAO,SAAS,CAAC,QAAgB,EAAE,GAAW;;YAC1D,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE;gBACzD,OAAO;aACR;YAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAa,EAAE,EAAE;oBAC/C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;wBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;oBACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAClC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;oBAC9B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAClC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEO,MAAM,CAAO,cAAc,CAAC,QAAgB;;YAClD,IAAI;gBACF,oBAAoB;gBACpB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;gBAE3C,IAAI,OAAO,GAAG,UAAU,EAAE;oBACxB,OAAO,IAAI,CAAC;iBACb;gBAED,OAAO,KAAK,CAAC;aACd;YAAC,OAAO,KAAU,EAAE;gBACnB,qBAAqB;gBACrB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC3B,OAAO,IAAI,CAAC;iBACb;gBACD,MAAM,KAAK,CAAC;aACb;QACH,CAAC;KAAA;CACF;AAtED,kDAsEC"}
1
+ {"version":3,"file":"download-roblox-types.js","sourceRoot":"","sources":["../../src/commands/download-roblox-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAGvB,OAAO,GAAG,mCAAmC,CAAC;IAC9C,QAAQ,GAAG,6CAA6C,CAAC;IAEzD,OAAO,CAAC,IAAa;QAC1B,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YAC3B,QAAQ,EAAE,2DAA2D;YACrE,YAAY,EAAE,KAAK;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,mBAAmB;SAC7B,CAAC,CAAC;QACH,OAAO,IAAqC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAA6B;QAChD,MAAM,mBAAmB,CAAC,SAAS,CACjC,IAAI,CAAC,QAAQ,IAAI,mBAAmB,EACpC,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,GAAW;QAC1D,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAa,EAAE,EAAE;gBAC/C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBACjC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBAC9B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,QAAgB;QAClD,IAAI,CAAC;YACH,oBAAoB;YACpB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;YAE3C,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,qBAAqB;YACrB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
@@ -2,7 +2,7 @@
2
2
  * Initialize a new game command
3
3
  */
4
4
  import { Argv, CommandModule } from 'yargs';
5
- import { NevermoreGlobalArgs } from '../args/global-args';
5
+ import { NevermoreGlobalArgs } from '../args/global-args.js';
6
6
  export interface InitGameArgs extends NevermoreGlobalArgs {
7
7
  gameName: string;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init-game-command.d.ts","sourceRoot":"","sources":["../../src/commands/init-game-command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,YAAY,CAAC;IAChE,OAAO,SAAsB;IAC7B,QAAQ,SAAsC;IAE9C,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;WASR,kBAAkB,CACpC,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC;IA+CH,OAAO,CAAC,IAAI,EAAE,YAAY;mBAkClB,eAAe;IAYpC,OAAO,CAAC,MAAM,CAAC,iBAAiB;CASjC"}
1
+ {"version":3,"file":"init-game-command.d.ts","sourceRoot":"","sources":["../../src/commands/init-game-command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,EAAE,YAAY,CAAC;IAChE,OAAO,SAAsB;IAC7B,QAAQ,SAAsC;IAE9C,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAMX,IAAI,CAAC,YAAY,CAAC;WAGf,kBAAkB,CACpC,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC;IA+CH,OAAO,CAAC,IAAI,EAAE,YAAY;mBAkClB,eAAe;IAYpC,OAAO,CAAC,MAAM,CAAC,iBAAiB;CASjC"}
@@ -1,53 +1,16 @@
1
- "use strict";
2
1
  /**
3
2
  * Initialize a new game command
4
3
  */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
- return new (P || (P = Promise))(function (resolve, reject) {
31
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
- step((generator = generator.apply(thisArg, _arguments || [])).next());
35
- });
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.InitGameCommand = void 0;
39
- const path = __importStar(require("path"));
40
- const cli_output_helpers_1 = require("@quenty/cli-output-helpers");
41
- const nevermore_template_helpers_1 = require("@quenty/nevermore-template-helpers");
42
- const nevermore_cli_utils_1 = require("../utils/nevermore-cli-utils");
4
+ import * as path from 'path';
5
+ import { OutputHelper } from '@quenty/cli-output-helpers';
6
+ import { TemplateHelper } from '@quenty/nevermore-template-helpers';
7
+ import { getTemplatePathByName, runCommandAsync, } from '../utils/nevermore-cli-utils.js';
43
8
  /**
44
9
  * Creates a new game with Nevermore dependencies
45
10
  */
46
- class InitGameCommand {
47
- constructor() {
48
- this.command = 'init [game-name]';
49
- this.describe = 'Initializes a new game template.';
50
- }
11
+ export class InitGameCommand {
12
+ command = 'init [game-name]';
13
+ describe = 'Initializes a new game template.';
51
14
  builder(args) {
52
15
  args.positional('game-name', {
53
16
  describe: 'Name of the new package folder.',
@@ -56,78 +19,72 @@ class InitGameCommand {
56
19
  });
57
20
  return args;
58
21
  }
59
- static initToolChainAsync(args, srcRoot, packages) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- // TODO: Something better than this so we don't spam install pnpm every time
62
- yield (0, nevermore_cli_utils_1.runCommandAsync)(args, 'npm', ['install', 'pnpm', '-g']);
63
- yield (0, nevermore_cli_utils_1.runCommandAsync)(args, 'pnpm', ['install', ...packages], {
22
+ static async initToolChainAsync(args, srcRoot, packages) {
23
+ // TODO: Something better than this so we don't spam install pnpm every time
24
+ await runCommandAsync(args, 'npm', ['install', 'pnpm', '-g']);
25
+ await runCommandAsync(args, 'pnpm', ['install', ...packages], {
26
+ cwd: srcRoot,
27
+ });
28
+ try {
29
+ await runCommandAsync(args, 'git', ['init'], {
64
30
  cwd: srcRoot,
65
31
  });
66
- try {
67
- yield (0, nevermore_cli_utils_1.runCommandAsync)(args, 'git', ['init'], {
68
- cwd: srcRoot,
69
- });
70
- }
71
- catch (_a) {
72
- cli_output_helpers_1.OutputHelper.error('Failed to initialize git repository, is git installed?');
73
- }
74
- try {
75
- yield (0, nevermore_cli_utils_1.runCommandAsync)(args, 'aftman', ['install'], {
76
- cwd: srcRoot,
77
- });
78
- }
79
- catch (_b) {
80
- cli_output_helpers_1.OutputHelper.error('Failed to install aftman, is aftman installed?');
81
- }
82
- try {
83
- yield (0, nevermore_cli_utils_1.runCommandAsync)(args, 'npm', ['run', 'format'], {
84
- cwd: srcRoot,
85
- });
86
- }
87
- catch (_c) {
88
- cli_output_helpers_1.OutputHelper.error('Failed to run `npm run format`, is stylua installed?');
89
- }
90
- try {
91
- yield (0, nevermore_cli_utils_1.runCommandAsync)(args, 'selene', ['generate-roblox-std'], {
92
- cwd: srcRoot,
93
- });
94
- }
95
- catch (_d) {
96
- cli_output_helpers_1.OutputHelper.error('Failed to run `selene generate-roblox-std`, is selene installed?');
97
- }
98
- });
32
+ }
33
+ catch {
34
+ OutputHelper.error('Failed to initialize git repository, is git installed?');
35
+ }
36
+ try {
37
+ await runCommandAsync(args, 'aftman', ['install'], {
38
+ cwd: srcRoot,
39
+ });
40
+ }
41
+ catch {
42
+ OutputHelper.error('Failed to install aftman, is aftman installed?');
43
+ }
44
+ try {
45
+ await runCommandAsync(args, 'npm', ['run', 'format'], {
46
+ cwd: srcRoot,
47
+ });
48
+ }
49
+ catch {
50
+ OutputHelper.error('Failed to run `npm run format`, is stylua installed?');
51
+ }
52
+ try {
53
+ await runCommandAsync(args, 'selene', ['generate-roblox-std'], {
54
+ cwd: srcRoot,
55
+ });
56
+ }
57
+ catch {
58
+ OutputHelper.error('Failed to run `selene generate-roblox-std`, is selene installed?');
59
+ }
99
60
  }
100
- handler(args) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- const rawGameName = yield InitGameCommand._ensureGameName(args);
103
- const gameName = nevermore_template_helpers_1.TemplateHelper.camelize(rawGameName).toLowerCase();
104
- const gameNameProper = nevermore_template_helpers_1.TemplateHelper.camelize(rawGameName);
105
- const srcRoot = process.cwd();
106
- const templatePath = (0, nevermore_cli_utils_1.getTemplatePathByName)('game-template');
107
- cli_output_helpers_1.OutputHelper.info(`Creating a new game at '${srcRoot}' with template '${templatePath}'`);
108
- yield nevermore_template_helpers_1.TemplateHelper.createDirectoryContentsAsync(templatePath, srcRoot, {
109
- gameName: gameName,
110
- gameNameProper: gameNameProper,
111
- }, args.dryrun);
112
- const packages = [
113
- '@quenty/loader',
114
- '@quenty/servicebag',
115
- '@quenty/binder',
116
- '@quenty/clienttranslator',
117
- '@quenty/cmdrservice',
118
- ];
119
- yield InitGameCommand.initToolChainAsync(args, srcRoot, packages);
120
- });
61
+ async handler(args) {
62
+ const rawGameName = await InitGameCommand._ensureGameName(args);
63
+ const gameName = TemplateHelper.camelize(rawGameName).toLowerCase();
64
+ const gameNameProper = TemplateHelper.camelize(rawGameName);
65
+ const srcRoot = process.cwd();
66
+ const templatePath = getTemplatePathByName('game-template');
67
+ OutputHelper.info(`Creating a new game at '${srcRoot}' with template '${templatePath}'`);
68
+ await TemplateHelper.createDirectoryContentsAsync(templatePath, srcRoot, {
69
+ gameName: gameName,
70
+ gameNameProper: gameNameProper,
71
+ }, args.dryrun);
72
+ const packages = [
73
+ '@quenty/loader',
74
+ '@quenty/servicebag',
75
+ '@quenty/binder',
76
+ '@quenty/clienttranslator',
77
+ '@quenty/cmdrservice',
78
+ ];
79
+ await InitGameCommand.initToolChainAsync(args, srcRoot, packages);
121
80
  }
122
- static _ensureGameName(args) {
123
- return __awaiter(this, void 0, void 0, function* () {
124
- let { gameName } = args;
125
- if (!gameName) {
126
- gameName = path.basename(process.cwd());
127
- }
128
- InitGameCommand._validateGameName(gameName);
129
- return gameName;
130
- });
81
+ static async _ensureGameName(args) {
82
+ let { gameName } = args;
83
+ if (!gameName) {
84
+ gameName = path.basename(process.cwd());
85
+ }
86
+ InitGameCommand._validateGameName(gameName);
87
+ return gameName;
131
88
  }
132
89
  static _validateGameName(name) {
133
90
  if (!name) {
@@ -138,5 +95,4 @@ class InitGameCommand {
138
95
  }
139
96
  }
140
97
  }
141
- exports.InitGameCommand = InitGameCommand;
142
98
  //# sourceMappingURL=init-game-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-game-command.js","sourceRoot":"","sources":["../../src/commands/init-game-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-game-command.js","sourceRoot":"","sources":["../../src/commands/init-game-command.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Initialize a new game command
3
3
  */
4
4
  import { Argv, CommandModule } from 'yargs';
5
- import { NevermoreGlobalArgs } from '../args/global-args';
5
+ import { NevermoreGlobalArgs } from '../args/global-args.js';
6
6
  export interface InitPackageArgs extends NevermoreGlobalArgs {
7
7
  packageName: string;
8
8
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"init-package-command.d.ts","sourceRoot":"","sources":["../../src/commands/init-package-command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAC/B,YAAW,aAAa,CAAC,CAAC,EAAE,eAAe,CAAC;IAErC,OAAO,SACmD;IAC1D,QAAQ,SAAiD;IAEzD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAqBf,OAAO,CAAC,IAAI,EAAE,eAAe;mBA4BrB,kBAAkB;IAcvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;mBAUb,kBAAkB;IAUvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;CASnC"}
1
+ {"version":3,"file":"init-package-command.d.ts","sourceRoot":"","sources":["../../src/commands/init-package-command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,SAAS,GAAG,SAAS,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,CAC/B,YAAW,aAAa,CAAC,CAAC,EAAE,eAAe,CAAC;IAErC,OAAO,SACmD;IAC1D,QAAQ,SAAiD;IAEzD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAkBT,GAAG;IAGT,OAAO,CAAC,IAAI,EAAE,eAAe;mBA4BrB,kBAAkB;IAcvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;mBAUb,kBAAkB;IAUvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;CASnC"}
@@ -1,53 +1,16 @@
1
- "use strict";
2
1
  /**
3
2
  * Initialize a new game command
4
3
  */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
- return new (P || (P = Promise))(function (resolve, reject) {
31
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
- step((generator = generator.apply(thisArg, _arguments || [])).next());
35
- });
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.InitPackageCommand = void 0;
39
- const path = __importStar(require("path"));
40
- const cli_output_helpers_1 = require("@quenty/cli-output-helpers");
41
- const nevermore_template_helpers_1 = require("@quenty/nevermore-template-helpers");
42
- const nevermore_cli_utils_1 = require("../utils/nevermore-cli-utils");
4
+ import * as path from 'path';
5
+ import { OutputHelper } from '@quenty/cli-output-helpers';
6
+ import { TemplateHelper } from '@quenty/nevermore-template-helpers';
7
+ import { getTemplatePathByName } from '../utils/nevermore-cli-utils.js';
43
8
  /**
44
9
  * Creates a new package within Nevermore
45
10
  */
46
- class InitPackageCommand {
47
- constructor() {
48
- this.command = 'init-package [package-name] [description] [package-template]';
49
- this.describe = 'Initializes a new package within Nevermore.';
50
- }
11
+ export class InitPackageCommand {
12
+ command = 'init-package [package-name] [description] [package-template]';
13
+ describe = 'Initializes a new package within Nevermore.';
51
14
  builder(args) {
52
15
  let result = args
53
16
  .positional('package-name', {
@@ -67,31 +30,27 @@ class InitPackageCommand {
67
30
  });
68
31
  return result;
69
32
  }
70
- handler(args) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- let rawPackageName = yield InitPackageCommand._ensurePackageName(args);
73
- const packageName = nevermore_template_helpers_1.TemplateHelper.camelize(rawPackageName).toLowerCase();
74
- const packageNameProper = nevermore_template_helpers_1.TemplateHelper.camelize(rawPackageName);
75
- const description = yield InitPackageCommand._ensureDescription(args);
76
- const srcRoot = process.cwd();
77
- const templatePath = (0, nevermore_cli_utils_1.getTemplatePathByName)(`nevermore-${args.packageTemplate}-package-template`);
78
- cli_output_helpers_1.OutputHelper.info(`Initializing a new package at '${srcRoot}' with template '${templatePath}'`);
79
- yield nevermore_template_helpers_1.TemplateHelper.createDirectoryContentsAsync(templatePath, srcRoot, {
80
- packageName: packageName,
81
- packageNameProper: packageNameProper,
82
- description: description,
83
- }, args.dryrun);
84
- });
33
+ async handler(args) {
34
+ let rawPackageName = await InitPackageCommand._ensurePackageName(args);
35
+ const packageName = TemplateHelper.camelize(rawPackageName).toLowerCase();
36
+ const packageNameProper = TemplateHelper.camelize(rawPackageName);
37
+ const description = await InitPackageCommand._ensureDescription(args);
38
+ const srcRoot = process.cwd();
39
+ const templatePath = getTemplatePathByName(`nevermore-${args.packageTemplate}-package-template`);
40
+ OutputHelper.info(`Initializing a new package at '${srcRoot}' with template '${templatePath}'`);
41
+ await TemplateHelper.createDirectoryContentsAsync(templatePath, srcRoot, {
42
+ packageName: packageName,
43
+ packageNameProper: packageNameProper,
44
+ description: description,
45
+ }, args.dryrun);
85
46
  }
86
- static _ensurePackageName(args) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- let { packageName } = args;
89
- if (!packageName) {
90
- packageName = path.basename(process.cwd());
91
- }
92
- InitPackageCommand.validatePackageName(packageName);
93
- return packageName;
94
- });
47
+ static async _ensurePackageName(args) {
48
+ let { packageName } = args;
49
+ if (!packageName) {
50
+ packageName = path.basename(process.cwd());
51
+ }
52
+ InitPackageCommand.validatePackageName(packageName);
53
+ return packageName;
95
54
  }
96
55
  static validatePackageName(name) {
97
56
  if (!name) {
@@ -101,12 +60,10 @@ class InitPackageCommand {
101
60
  throw new Error('The project name cannot be empty string.');
102
61
  }
103
62
  }
104
- static _ensureDescription(args) {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- let { description } = args;
107
- InitPackageCommand.validateDescription(description);
108
- return description;
109
- });
63
+ static async _ensureDescription(args) {
64
+ let { description } = args;
65
+ InitPackageCommand.validateDescription(description);
66
+ return description;
110
67
  }
111
68
  static validateDescription(description) {
112
69
  if (!description) {
@@ -117,5 +74,4 @@ class InitPackageCommand {
117
74
  }
118
75
  }
119
76
  }
120
- exports.InitPackageCommand = InitPackageCommand;
121
77
  //# sourceMappingURL=init-package-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-package-command.js","sourceRoot":"","sources":["../../src/commands/init-package-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-package-command.js","sourceRoot":"","sources":["../../src/commands/init-package-command.ts"],"names":[],"mappings":"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"}