@optimizely/ocp-cli-v2 2.0.0-beta.1

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 (252) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +51 -0
  3. package/bin/ocp.js +3 -0
  4. package/bin/run.js +3 -0
  5. package/dist/commands/accounts/whoami.d.ts +5 -0
  6. package/dist/commands/accounts/whoami.js +22 -0
  7. package/dist/commands/accounts/whoami.js.map +1 -0
  8. package/dist/commands/accounts/whois.d.ts +12 -0
  9. package/dist/commands/accounts/whois.js +57 -0
  10. package/dist/commands/accounts/whois.js.map +1 -0
  11. package/dist/commands/app/BaseBuildCommand.d.ts +37 -0
  12. package/dist/commands/app/BaseBuildCommand.js +255 -0
  13. package/dist/commands/app/BaseBuildCommand.js.map +1 -0
  14. package/dist/commands/app/abandon.d.ts +11 -0
  15. package/dist/commands/app/abandon.js +146 -0
  16. package/dist/commands/app/abandon.js.map +1 -0
  17. package/dist/commands/app/getLogLevel.d.ts +16 -0
  18. package/dist/commands/app/getLogLevel.js +66 -0
  19. package/dist/commands/app/getLogLevel.js.map +1 -0
  20. package/dist/commands/app/init.d.ts +27 -0
  21. package/dist/commands/app/init.js +326 -0
  22. package/dist/commands/app/init.js.map +1 -0
  23. package/dist/commands/app/logs.d.ts +24 -0
  24. package/dist/commands/app/logs.js +231 -0
  25. package/dist/commands/app/logs.js.map +1 -0
  26. package/dist/commands/app/package.d.ts +8 -0
  27. package/dist/commands/app/package.js +51 -0
  28. package/dist/commands/app/package.js.map +1 -0
  29. package/dist/commands/app/prepare.d.ts +16 -0
  30. package/dist/commands/app/prepare.js +119 -0
  31. package/dist/commands/app/prepare.js.map +1 -0
  32. package/dist/commands/app/register.d.ts +10 -0
  33. package/dist/commands/app/register.js +102 -0
  34. package/dist/commands/app/register.js.map +1 -0
  35. package/dist/commands/app/setLogLevel.d.ts +16 -0
  36. package/dist/commands/app/setLogLevel.js +83 -0
  37. package/dist/commands/app/setLogLevel.js.map +1 -0
  38. package/dist/commands/app/validate.d.ts +5 -0
  39. package/dist/commands/app/validate.js +26 -0
  40. package/dist/commands/app/validate.js.map +1 -0
  41. package/dist/commands/availability/list.d.ts +6 -0
  42. package/dist/commands/availability/list.js +32 -0
  43. package/dist/commands/availability/list.js.map +1 -0
  44. package/dist/commands/dev-server/start.d.ts +36 -0
  45. package/dist/commands/dev-server/start.js +209 -0
  46. package/dist/commands/dev-server/start.js.map +1 -0
  47. package/dist/commands/dev.d.ts +8 -0
  48. package/dist/commands/dev.js +12 -0
  49. package/dist/commands/dev.js.map +1 -0
  50. package/dist/commands/directory/info.d.ts +13 -0
  51. package/dist/commands/directory/info.js +85 -0
  52. package/dist/commands/directory/info.js.map +1 -0
  53. package/dist/commands/directory/install.d.ts +12 -0
  54. package/dist/commands/directory/install.js +46 -0
  55. package/dist/commands/directory/install.js.map +1 -0
  56. package/dist/commands/directory/list.d.ts +14 -0
  57. package/dist/commands/directory/list.js +114 -0
  58. package/dist/commands/directory/list.js.map +1 -0
  59. package/dist/commands/directory/listFunctions.d.ts +15 -0
  60. package/dist/commands/directory/listFunctions.js +86 -0
  61. package/dist/commands/directory/listFunctions.js.map +1 -0
  62. package/dist/commands/directory/listGlobalFunctions.d.ts +13 -0
  63. package/dist/commands/directory/listGlobalFunctions.js +64 -0
  64. package/dist/commands/directory/listGlobalFunctions.js.map +1 -0
  65. package/dist/commands/directory/listInstalls.d.ts +15 -0
  66. package/dist/commands/directory/listInstalls.js +72 -0
  67. package/dist/commands/directory/listInstalls.js.map +1 -0
  68. package/dist/commands/directory/listSourceFunctions.d.ts +14 -0
  69. package/dist/commands/directory/listSourceFunctions.js +71 -0
  70. package/dist/commands/directory/listSourceFunctions.js.map +1 -0
  71. package/dist/commands/directory/publish.d.ts +15 -0
  72. package/dist/commands/directory/publish.js +201 -0
  73. package/dist/commands/directory/publish.js.map +1 -0
  74. package/dist/commands/directory/status.d.ts +11 -0
  75. package/dist/commands/directory/status.js +50 -0
  76. package/dist/commands/directory/status.js.map +1 -0
  77. package/dist/commands/directory/uninstall.d.ts +13 -0
  78. package/dist/commands/directory/uninstall.js +55 -0
  79. package/dist/commands/directory/uninstall.js.map +1 -0
  80. package/dist/commands/directory/unpublish.d.ts +17 -0
  81. package/dist/commands/directory/unpublish.js +187 -0
  82. package/dist/commands/directory/unpublish.js.map +1 -0
  83. package/dist/commands/directory/upgrade.d.ts +15 -0
  84. package/dist/commands/directory/upgrade.js +113 -0
  85. package/dist/commands/directory/upgrade.js.map +1 -0
  86. package/dist/commands/env/get.d.ts +5 -0
  87. package/dist/commands/env/get.js +23 -0
  88. package/dist/commands/env/get.js.map +1 -0
  89. package/dist/commands/env/set.d.ts +8 -0
  90. package/dist/commands/env/set.js +63 -0
  91. package/dist/commands/env/set.js.map +1 -0
  92. package/dist/commands/jobs/list.d.ts +27 -0
  93. package/dist/commands/jobs/list.js +245 -0
  94. package/dist/commands/jobs/list.js.map +1 -0
  95. package/dist/commands/jobs/runtimeStatus.d.ts +11 -0
  96. package/dist/commands/jobs/runtimeStatus.js +55 -0
  97. package/dist/commands/jobs/runtimeStatus.js.map +1 -0
  98. package/dist/commands/jobs/status.d.ts +11 -0
  99. package/dist/commands/jobs/status.js +57 -0
  100. package/dist/commands/jobs/status.js.map +1 -0
  101. package/dist/commands/jobs/terminate.d.ts +11 -0
  102. package/dist/commands/jobs/terminate.js +35 -0
  103. package/dist/commands/jobs/terminate.js.map +1 -0
  104. package/dist/commands/jobs/trigger.d.ts +14 -0
  105. package/dist/commands/jobs/trigger.js +47 -0
  106. package/dist/commands/jobs/trigger.js.map +1 -0
  107. package/dist/commands/review/list.d.ts +9 -0
  108. package/dist/commands/review/list.js +74 -0
  109. package/dist/commands/review/list.js.map +1 -0
  110. package/dist/commands/review/open.d.ts +8 -0
  111. package/dist/commands/review/open.js +32 -0
  112. package/dist/commands/review/open.js.map +1 -0
  113. package/dist/hooks/command-not-found.d.ts +3 -0
  114. package/dist/hooks/command-not-found.js +93 -0
  115. package/dist/hooks/command-not-found.js.map +1 -0
  116. package/dist/hooks/preupdate.d.ts +10 -0
  117. package/dist/hooks/preupdate.js +42 -0
  118. package/dist/hooks/preupdate.js.map +1 -0
  119. package/dist/index.d.ts +1 -0
  120. package/dist/index.js +59 -0
  121. package/dist/index.js.map +1 -0
  122. package/dist/lib/AppContext.d.ts +9 -0
  123. package/dist/lib/AppContext.js +43 -0
  124. package/dist/lib/AppContext.js.map +1 -0
  125. package/dist/lib/AppPackager.d.ts +17 -0
  126. package/dist/lib/AppPackager.js +57 -0
  127. package/dist/lib/AppPackager.js.map +1 -0
  128. package/dist/lib/AppUpdater.d.ts +11 -0
  129. package/dist/lib/AppUpdater.js +143 -0
  130. package/dist/lib/AppUpdater.js.map +1 -0
  131. package/dist/lib/AppUploader.d.ts +9 -0
  132. package/dist/lib/AppUploader.js +37 -0
  133. package/dist/lib/AppUploader.js.map +1 -0
  134. package/dist/lib/BuildPipeline.d.ts +24 -0
  135. package/dist/lib/BuildPipeline.js +26 -0
  136. package/dist/lib/BuildPipeline.js.map +1 -0
  137. package/dist/lib/BuildPipelineFactory.d.ts +10 -0
  138. package/dist/lib/BuildPipelineFactory.js +23 -0
  139. package/dist/lib/BuildPipelineFactory.js.map +1 -0
  140. package/dist/lib/Config.d.ts +15 -0
  141. package/dist/lib/Config.js +47 -0
  142. package/dist/lib/Config.js.map +1 -0
  143. package/dist/lib/CustomHelp.d.ts +19 -0
  144. package/dist/lib/CustomHelp.js +81 -0
  145. package/dist/lib/CustomHelp.js.map +1 -0
  146. package/dist/lib/DependencyStage.d.ts +1 -0
  147. package/dist/lib/DependencyStage.js +3 -0
  148. package/dist/lib/DependencyStage.js.map +1 -0
  149. package/dist/lib/EnvironmentalOutput.d.ts +1 -0
  150. package/dist/lib/EnvironmentalOutput.js +22 -0
  151. package/dist/lib/EnvironmentalOutput.js.map +1 -0
  152. package/dist/lib/Moria.d.ts +51 -0
  153. package/dist/lib/Moria.js +30 -0
  154. package/dist/lib/Moria.js.map +1 -0
  155. package/dist/lib/MoriaApi.d.ts +22 -0
  156. package/dist/lib/MoriaApi.js +74 -0
  157. package/dist/lib/MoriaApi.js.map +1 -0
  158. package/dist/lib/NodeBuildPipeline.d.ts +25 -0
  159. package/dist/lib/NodeBuildPipeline.js +60 -0
  160. package/dist/lib/NodeBuildPipeline.js.map +1 -0
  161. package/dist/lib/PackageManager.d.ts +242 -0
  162. package/dist/lib/PackageManager.js +511 -0
  163. package/dist/lib/PackageManager.js.map +1 -0
  164. package/dist/lib/Rivendell.d.ts +409 -0
  165. package/dist/lib/Rivendell.js +391 -0
  166. package/dist/lib/Rivendell.js.map +1 -0
  167. package/dist/lib/RivendellApi.d.ts +22 -0
  168. package/dist/lib/RivendellApi.js +159 -0
  169. package/dist/lib/RivendellApi.js.map +1 -0
  170. package/dist/lib/Shards.d.ts +3 -0
  171. package/dist/lib/Shards.js +41 -0
  172. package/dist/lib/Shards.js.map +1 -0
  173. package/dist/lib/StringUtils.d.ts +1 -0
  174. package/dist/lib/StringUtils.js +9 -0
  175. package/dist/lib/StringUtils.js.map +1 -0
  176. package/dist/lib/TeminalPassthru.d.ts +7 -0
  177. package/dist/lib/TeminalPassthru.js +12 -0
  178. package/dist/lib/TeminalPassthru.js.map +1 -0
  179. package/dist/lib/TerminalConfirm.d.ts +3 -0
  180. package/dist/lib/TerminalConfirm.js +31 -0
  181. package/dist/lib/TerminalConfirm.js.map +1 -0
  182. package/dist/lib/TerminalInput.d.ts +32 -0
  183. package/dist/lib/TerminalInput.js +207 -0
  184. package/dist/lib/TerminalInput.js.map +1 -0
  185. package/dist/lib/TerminalMenu.d.ts +34 -0
  186. package/dist/lib/TerminalMenu.js +186 -0
  187. package/dist/lib/TerminalMenu.js.map +1 -0
  188. package/dist/lib/TerminalOutput.d.ts +5 -0
  189. package/dist/lib/TerminalOutput.js +12 -0
  190. package/dist/lib/TerminalOutput.js.map +1 -0
  191. package/dist/lib/TerminalSpinner.d.ts +14 -0
  192. package/dist/lib/TerminalSpinner.js +69 -0
  193. package/dist/lib/TerminalSpinner.js.map +1 -0
  194. package/dist/lib/Tracking.d.ts +15 -0
  195. package/dist/lib/Tracking.js +19 -0
  196. package/dist/lib/Tracking.js.map +1 -0
  197. package/dist/lib/build.d.ts +5 -0
  198. package/dist/lib/build.js +41 -0
  199. package/dist/lib/build.js.map +1 -0
  200. package/dist/lib/die.d.ts +5 -0
  201. package/dist/lib/die.js +14 -0
  202. package/dist/lib/die.js.map +1 -0
  203. package/dist/lib/directoryExists.d.ts +1 -0
  204. package/dist/lib/directoryExists.js +9 -0
  205. package/dist/lib/directoryExists.js.map +1 -0
  206. package/dist/lib/formatBuildState.d.ts +2 -0
  207. package/dist/lib/formatBuildState.js +23 -0
  208. package/dist/lib/formatBuildState.js.map +1 -0
  209. package/dist/lib/formatError.d.ts +1 -0
  210. package/dist/lib/formatError.js +55 -0
  211. package/dist/lib/formatError.js.map +1 -0
  212. package/dist/lib/formatJobStatus.d.ts +3 -0
  213. package/dist/lib/formatJobStatus.js +28 -0
  214. package/dist/lib/formatJobStatus.js.map +1 -0
  215. package/dist/lib/formatReviewStatus.d.ts +4 -0
  216. package/dist/lib/formatReviewStatus.js +28 -0
  217. package/dist/lib/formatReviewStatus.js.map +1 -0
  218. package/dist/lib/formatTimstamp.d.ts +1 -0
  219. package/dist/lib/formatTimstamp.js +25 -0
  220. package/dist/lib/formatTimstamp.js.map +1 -0
  221. package/dist/lib/formatVersionState.d.ts +2 -0
  222. package/dist/lib/formatVersionState.js +37 -0
  223. package/dist/lib/formatVersionState.js.map +1 -0
  224. package/dist/lib/gatherAppEnv.d.ts +3 -0
  225. package/dist/lib/gatherAppEnv.js +71 -0
  226. package/dist/lib/gatherAppEnv.js.map +1 -0
  227. package/dist/lib/handleInterrupt.d.ts +1 -0
  228. package/dist/lib/handleInterrupt.js +17 -0
  229. package/dist/lib/handleInterrupt.js.map +1 -0
  230. package/dist/lib/jobRuntime.d.ts +3 -0
  231. package/dist/lib/jobRuntime.js +16 -0
  232. package/dist/lib/jobRuntime.js.map +1 -0
  233. package/dist/lib/migrateOptiCli.d.ts +1 -0
  234. package/dist/lib/migrateOptiCli.js +30 -0
  235. package/dist/lib/migrateOptiCli.js.map +1 -0
  236. package/dist/lib/parseDate.d.ts +2 -0
  237. package/dist/lib/parseDate.js +26 -0
  238. package/dist/lib/parseDate.js.map +1 -0
  239. package/dist/lib/templating/TemplateRenderer.d.ts +13 -0
  240. package/dist/lib/templating/TemplateRenderer.js +63 -0
  241. package/dist/lib/templating/TemplateRenderer.js.map +1 -0
  242. package/dist/lib/templating/fetchTemplatesManifest.d.ts +1 -0
  243. package/dist/lib/templating/fetchTemplatesManifest.js +9 -0
  244. package/dist/lib/templating/fetchTemplatesManifest.js.map +1 -0
  245. package/dist/lib/templating/types.d.ts +27 -0
  246. package/dist/lib/templating/types.js +3 -0
  247. package/dist/lib/templating/types.js.map +1 -0
  248. package/dist/oclif.manifest.json +1616 -0
  249. package/dist/utils/utils.d.ts +5 -0
  250. package/dist/utils/utils.js +61 -0
  251. package/dist/utils/utils.js.map +1 -0
  252. package/package.json +180 -0
@@ -0,0 +1,51 @@
1
+ import { Rivendell } from './Rivendell';
2
+ export declare namespace Moria {
3
+ interface LogEntryContext {
4
+ appId?: string;
5
+ appVersion?: string;
6
+ trackerId?: string;
7
+ installId?: string;
8
+ entryPoint?: string;
9
+ requestId?: string;
10
+ jobId?: string;
11
+ buildId?: string;
12
+ }
13
+ interface LoggingSearchCriteria {
14
+ context: LogEntryContext;
15
+ start?: number;
16
+ end?: number;
17
+ audience?: Audience;
18
+ level?: LogLevel;
19
+ pageSize?: number;
20
+ cursor?: string;
21
+ terms?: string[];
22
+ }
23
+ interface LoggingSearchResult {
24
+ cursor: string;
25
+ entries: LogEntry[];
26
+ }
27
+ interface LogEntry {
28
+ id: string;
29
+ level: LogLevel;
30
+ time: number;
31
+ message: string;
32
+ context: LogEntryContext;
33
+ audience: Audience;
34
+ }
35
+ enum Audience {
36
+ USER = "USER",
37
+ DEVELOPER = "DEVELOPER",
38
+ ZAIUS = "ZAIUS"
39
+ }
40
+ enum LogLevel {
41
+ INFO = "INFO",
42
+ DEBUG = "DEBUG",
43
+ WARN = "WARN",
44
+ ERROR = "ERROR"
45
+ }
46
+ /**
47
+ * Search for LogEntries using the supplied criteria.
48
+ * @param criteria
49
+ */
50
+ function searchLogging(criteria: LoggingSearchCriteria, shard: Rivendell.Shard): Promise<LoggingSearchResult>;
51
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Moria = void 0;
4
+ const MoriaApi_1 = require("./MoriaApi");
5
+ var Moria;
6
+ (function (Moria) {
7
+ let Audience;
8
+ (function (Audience) {
9
+ Audience["USER"] = "USER";
10
+ Audience["DEVELOPER"] = "DEVELOPER";
11
+ Audience["ZAIUS"] = "ZAIUS";
12
+ })(Audience = Moria.Audience || (Moria.Audience = {}));
13
+ let LogLevel;
14
+ (function (LogLevel) {
15
+ LogLevel["INFO"] = "INFO";
16
+ LogLevel["DEBUG"] = "DEBUG";
17
+ LogLevel["WARN"] = "WARN";
18
+ LogLevel["ERROR"] = "ERROR";
19
+ })(LogLevel = Moria.LogLevel || (Moria.LogLevel = {}));
20
+ /**
21
+ * Search for LogEntries using the supplied criteria.
22
+ * @param criteria
23
+ */
24
+ async function searchLogging(criteria, shard) {
25
+ const response = await MoriaApi_1.MoriaApi.post(shard, 'logging/search', criteria);
26
+ return response.body;
27
+ }
28
+ Moria.searchLogging = searchLogging;
29
+ })(Moria = exports.Moria || (exports.Moria = {}));
30
+ //# sourceMappingURL=Moria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Moria.js","sourceRoot":"","sources":["../../src/lib/Moria.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAGpC,IAAiB,KAAK,CA8DrB;AA9DD,WAAiB,KAAK;IAsCpB,IAAY,QAIX;IAJD,WAAY,QAAQ;QAClB,yBAAa,CAAA;QACb,mCAAuB,CAAA;QACvB,2BAAe,CAAA;IACjB,CAAC,EAJW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAInB;IAED,IAAY,QAKX;IALD,WAAY,QAAQ;QAClB,yBAAa,CAAA;QACb,2BAAe,CAAA;QACf,yBAAa,CAAA;QACb,2BAAe,CAAA;IACjB,CAAC,EALW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAKnB;IAED;;;OAGG;IACI,KAAK,UAAU,aAAa,CACjC,QAA+B,EAC/B,KAAsB;QAEtB,MAAM,QAAQ,GAAG,MAAM,mBAAQ,CAAC,IAAI,CAAsB,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IANqB,mBAAa,gBAMlC,CAAA;AACH,CAAC,EA9DgB,KAAK,GAAL,aAAK,KAAL,aAAK,QA8DrB"}
@@ -0,0 +1,22 @@
1
+ /// <reference types="node" />
2
+ import { Rivendell } from './Rivendell';
3
+ export type Method = 'POST' | 'PUT' | 'PATCH' | 'GET' | 'DELETE';
4
+ /**
5
+ * Low level http handler for interacting with the Moria api.
6
+ */
7
+ export declare namespace MoriaApi {
8
+ interface ApiResponse<T = any> {
9
+ response: Response;
10
+ body: T;
11
+ }
12
+ export class ApiError extends Error {
13
+ responseText: string;
14
+ response?: Response | undefined;
15
+ constructor(message: string, responseText: string, response?: Response | undefined);
16
+ }
17
+ export function get<T>(shard: Rivendell.Shard, uri: string): Promise<ApiResponse<T>>;
18
+ export function post<T>(shard: Rivendell.Shard, uri: string, body: any): Promise<ApiResponse<T>>;
19
+ export function put<T>(shard: Rivendell.Shard, uri: string, body: any): Promise<ApiResponse<T>>;
20
+ export function request<T>(shard: Rivendell.Shard, method: Method, uri: string, body?: any): Promise<ApiResponse<T>>;
21
+ export {};
22
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MoriaApi = void 0;
4
+ const Rivendell_1 = require("./Rivendell");
5
+ /**
6
+ * Low level http handler for interacting with the Moria api.
7
+ */
8
+ var MoriaApi;
9
+ (function (MoriaApi) {
10
+ class ApiError extends Error {
11
+ constructor(message, responseText, response) {
12
+ super(message);
13
+ this.responseText = responseText;
14
+ this.response = response;
15
+ }
16
+ }
17
+ MoriaApi.ApiError = ApiError;
18
+ async function get(shard, uri) {
19
+ return request(shard, 'GET', uri);
20
+ }
21
+ MoriaApi.get = get;
22
+ async function post(shard, uri, body) {
23
+ return request(shard, 'POST', uri, body);
24
+ }
25
+ MoriaApi.post = post;
26
+ async function put(shard, uri, body) {
27
+ return request(shard, 'PUT', uri, body);
28
+ }
29
+ MoriaApi.put = put;
30
+ async function request(shard, method, uri, body) {
31
+ const url = `${shard.url}/${uri}`;
32
+ const requestPayload = { method };
33
+ requestPayload.headers = {
34
+ 'Authorization': `Bearer ${await Rivendell_1.Rivendell.jwt(shard.id)}`
35
+ };
36
+ if (body && method !== 'GET') {
37
+ // @ts-ignore
38
+ requestPayload.headers['content-type'] = 'application/json';
39
+ requestPayload.body = JSON.stringify(body);
40
+ }
41
+ const response = await fetch(url, requestPayload);
42
+ const responseText = await response.text();
43
+ if (response.status < 200 || response.status >= 300) {
44
+ const errorMsg = `Received a ${response.status} from OCP: ${getErrorMessage(response.status)}`;
45
+ throw new ApiError(errorMsg, responseText, response);
46
+ }
47
+ return {
48
+ response,
49
+ body: responseText ? JSON.parse(responseText) : ''
50
+ };
51
+ }
52
+ MoriaApi.request = request;
53
+ function getErrorMessage(code) {
54
+ switch (code) {
55
+ case 400:
56
+ return 'Bad request.';
57
+ case 403:
58
+ return 'Access denied.';
59
+ case 404:
60
+ return 'Not found.';
61
+ case 500:
62
+ return 'Internal service error.';
63
+ case 502:
64
+ return 'Bad gateway';
65
+ case 503:
66
+ return 'Service unavailable. Please try again.';
67
+ case 504:
68
+ return 'Request timed out. Please try again.';
69
+ default:
70
+ return 'Unhandled error.';
71
+ }
72
+ }
73
+ })(MoriaApi = exports.MoriaApi || (exports.MoriaApi = {}));
74
+ //# sourceMappingURL=MoriaApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoriaApi.js","sourceRoot":"","sources":["../../src/lib/MoriaApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { BuildOptions, BuildPipeline } from './BuildPipeline';
2
+ /**
3
+ * Build pipeline for Node.js/TypeScript projects.
4
+ */
5
+ export declare class NodeBuildPipeline extends BuildPipeline {
6
+ private packageJson;
7
+ private pm;
8
+ constructor(projectRoot: string, runtime: string, options?: BuildOptions);
9
+ /**
10
+ * Install dependencies using the detected package manager.
11
+ */
12
+ installDependencies(): Promise<void>;
13
+ /**
14
+ * Run validation process
15
+ */
16
+ validate(): Promise<void>;
17
+ /**
18
+ * Check if a script exists in package.json
19
+ */
20
+ private hasScript;
21
+ /**
22
+ * Run a package.json script
23
+ */
24
+ private runScript;
25
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeBuildPipeline = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const fs = require("fs");
6
+ const path = require("path");
7
+ const BuildPipeline_1 = require("./BuildPipeline");
8
+ const PackageManager_1 = require("./PackageManager");
9
+ /**
10
+ * Build pipeline for Node.js/TypeScript projects.
11
+ */
12
+ class NodeBuildPipeline extends BuildPipeline_1.BuildPipeline {
13
+ constructor(projectRoot, runtime, options = {}) {
14
+ super(projectRoot, options);
15
+ this.packageJson = JSON.parse(fs.readFileSync(path.join(this.projectRoot, 'package.json'), 'utf-8'));
16
+ this.pm = PackageManager_1.PackageManagerFactory.detectOrThrow(this.projectRoot, runtime);
17
+ }
18
+ /**
19
+ * Install dependencies using the detected package manager.
20
+ */
21
+ async installDependencies() {
22
+ this.log(`Installing dependencies with ${this.pm.displayName}...`);
23
+ (0, child_process_1.execSync)(this.pm.installCommand(), {
24
+ cwd: this.projectRoot,
25
+ stdio: 'inherit',
26
+ });
27
+ this.log('Dependencies installed');
28
+ }
29
+ /**
30
+ * Run validation process
31
+ */
32
+ async validate() {
33
+ await this.installDependencies();
34
+ if (this.hasScript('validate')) {
35
+ this.runScript('validate');
36
+ }
37
+ else {
38
+ this.log('No validate script found, please add a `validate` script to your package.json.');
39
+ }
40
+ }
41
+ /**
42
+ * Check if a script exists in package.json
43
+ */
44
+ hasScript(scriptName) {
45
+ var _a;
46
+ return !!((_a = this.packageJson.scripts) === null || _a === void 0 ? void 0 : _a[scriptName]);
47
+ }
48
+ /**
49
+ * Run a package.json script
50
+ */
51
+ runScript(scriptName) {
52
+ this.log(`Running ${scriptName} script...`);
53
+ (0, child_process_1.execSync)(this.pm.runDirectCommand(scriptName, { silent: this.silent }), {
54
+ cwd: this.projectRoot,
55
+ stdio: 'inherit',
56
+ });
57
+ }
58
+ }
59
+ exports.NodeBuildPipeline = NodeBuildPipeline;
60
+ //# sourceMappingURL=NodeBuildPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeBuildPipeline.js","sourceRoot":"","sources":["../../src/lib/NodeBuildPipeline.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AACzC,yBAAyB;AACzB,6BAA6B;AAC7B,mDAA8D;AAC9D,qDAAyE;AAEzE;;GAEG;AACH,MAAa,iBAAkB,SAAQ,6BAAa;IAIlD,YAAY,WAAmB,EAAE,OAAe,EAAE,UAAwB,EAAE;QAC1E,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAC3B,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CACtE,CAAC;QACF,IAAI,CAAC,EAAE,GAAG,sCAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,mBAAmB;QAC9B,IAAI,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC;QACnE,IAAA,wBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE;YACjC,GAAG,EAAE,IAAI,CAAC,WAAW;YACrB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;SAC5F;IACH,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,UAAkB;;QAClC,OAAO,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,WAAW,CAAC,OAAO,0CAAG,UAAU,CAAC,CAAA,CAAC;IAClD,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,UAAkB;QAClC,IAAI,CAAC,GAAG,CAAC,WAAW,UAAU,YAAY,CAAC,CAAC;QAC5C,IAAA,wBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;YACtE,GAAG,EAAE,IAAI,CAAC,WAAW;YACrB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;CACF;AArDD,8CAqDC"}
@@ -0,0 +1,242 @@
1
+ export type PackageManagerType = 'yarn' | 'yarn-berry' | 'npm' | 'pnpm' | 'bun';
2
+ export interface ListOptions {
3
+ prod?: boolean;
4
+ pattern?: string;
5
+ silent?: boolean;
6
+ }
7
+ export interface ParsedDependencies {
8
+ [name: string]: string;
9
+ }
10
+ /**
11
+ * Abstract base class for package managers.
12
+ */
13
+ export declare abstract class PackageManager {
14
+ protected abstract readonly type: PackageManagerType;
15
+ /**
16
+ * Initialize a new project directory before install.
17
+ * Override in subclasses that need special initialization (e.g., Yarn Berry).
18
+ * @param projectDir The absolute path to the project directory
19
+ */
20
+ initProject(_projectDir: string): void;
21
+ /**
22
+ * Get the install command (no arguments).
23
+ */
24
+ abstract installCommand(): string;
25
+ /**
26
+ * Get the command to add production dependencies.
27
+ */
28
+ abstract addCommand(packages: string[]): string;
29
+ /**
30
+ * Get the command to add dev dependencies.
31
+ */
32
+ abstract addDevCommand(packages: string[]): string;
33
+ /**
34
+ * Get the command to run a script.
35
+ */
36
+ abstract runCommand(script: string, options?: {
37
+ silent?: boolean;
38
+ }): string;
39
+ /**
40
+ * Get the command to run a script directly (without 'run' keyword where possible).
41
+ */
42
+ abstract runDirectCommand(script: string, options?: {
43
+ silent?: boolean;
44
+ }): string;
45
+ /**
46
+ * Get the command to list dependencies.
47
+ */
48
+ abstract listCommand(options?: ListOptions): string;
49
+ /**
50
+ * Whether this package manager supports pattern filtering in list command.
51
+ */
52
+ abstract supportsPatternFiltering(): boolean;
53
+ /**
54
+ * Parse the output of listCommand into a dependencies object.
55
+ * @param stdout The stdout from running listCommand
56
+ * @param filterPrefix Optional prefix to filter package names (e.g., '@zaiusinc/')
57
+ */
58
+ abstract parseListOutput(stdout: string, filterPrefix?: string): ParsedDependencies;
59
+ /**
60
+ * Check if the list output contains any packages matching the given prefix.
61
+ * @param stdout The stdout from running listCommand
62
+ * @param prefix The prefix to check for (e.g., '@zaius/')
63
+ */
64
+ abstract hasPackagesWithPrefix(stdout: string, prefix: string): boolean;
65
+ /**
66
+ * Get the executable name for spawning.
67
+ */
68
+ get executable(): string;
69
+ /**
70
+ * Get display name for user-facing messages.
71
+ */
72
+ get displayName(): string;
73
+ /**
74
+ * Get the version of the package manager.
75
+ */
76
+ getVersion(): string;
77
+ /**
78
+ * Get the packageManager field value for package.json.
79
+ * Returns standard Corepack format: "name@version" (e.g., "yarn@4.12.0")
80
+ * This format is understood by Corepack for npm, yarn, and pnpm.
81
+ * For bun, the builder will need to handle installation manually.
82
+ */
83
+ getPackageManagerField(): string;
84
+ }
85
+ /**
86
+ * Yarn package manager implementation.
87
+ */
88
+ export declare class YarnPackageManager extends PackageManager {
89
+ readonly type: PackageManagerType;
90
+ /**
91
+ * Initialize a Yarn project by creating an empty yarn.lock file.
92
+ * This is necessary when the user has Yarn Berry installed globally,
93
+ * as Berry requires a lockfile to identify standalone projects.
94
+ * Harmless for Yarn Classic (it will overwrite with its format).
95
+ */
96
+ initProject(projectDir: string): void;
97
+ installCommand(): string;
98
+ addCommand(packages: string[]): string;
99
+ addDevCommand(packages: string[]): string;
100
+ runCommand(script: string, options?: {
101
+ silent?: boolean;
102
+ }): string;
103
+ runDirectCommand(script: string, options?: {
104
+ silent?: boolean;
105
+ }): string;
106
+ listCommand(options?: ListOptions): string;
107
+ supportsPatternFiltering(): boolean;
108
+ parseListOutput(stdout: string, _filterPrefix?: string): ParsedDependencies;
109
+ hasPackagesWithPrefix(stdout: string, _prefix: string): boolean;
110
+ }
111
+ /**
112
+ * Yarn Berry (2+/3+/4+) package manager implementation.
113
+ * Handles differences from Yarn Classic.
114
+ */
115
+ export declare class YarnBerryPackageManager extends PackageManager {
116
+ readonly type: PackageManagerType;
117
+ /**
118
+ * Initialize a Yarn Berry project by creating an empty yarn.lock file.
119
+ * This marks the directory as a standalone project, preventing Yarn Berry
120
+ * from trying to treat it as a workspace of a parent project.
121
+ */
122
+ initProject(projectDir: string): void;
123
+ installCommand(): string;
124
+ addCommand(packages: string[]): string;
125
+ addDevCommand(packages: string[]): string;
126
+ runCommand(script: string, _options?: {
127
+ silent?: boolean;
128
+ }): string;
129
+ runDirectCommand(script: string, _options?: {
130
+ silent?: boolean;
131
+ }): string;
132
+ listCommand(_options?: ListOptions): string;
133
+ supportsPatternFiltering(): boolean;
134
+ parseListOutput(stdout: string, filterPrefix?: string): ParsedDependencies;
135
+ hasPackagesWithPrefix(stdout: string, prefix: string): boolean;
136
+ get executable(): string;
137
+ get displayName(): string;
138
+ }
139
+ /**
140
+ * npm package manager implementation.
141
+ */
142
+ export declare class NpmPackageManager extends PackageManager {
143
+ protected readonly type: PackageManagerType;
144
+ installCommand(): string;
145
+ addCommand(packages: string[]): string;
146
+ addDevCommand(packages: string[]): string;
147
+ runCommand(script: string, options?: {
148
+ silent?: boolean;
149
+ }): string;
150
+ runDirectCommand(script: string, options?: {
151
+ silent?: boolean;
152
+ }): string;
153
+ listCommand(options?: ListOptions): string;
154
+ supportsPatternFiltering(): boolean;
155
+ parseListOutput(stdout: string, filterPrefix?: string): ParsedDependencies;
156
+ hasPackagesWithPrefix(stdout: string, prefix: string): boolean;
157
+ }
158
+ /**
159
+ * pnpm package manager implementation.
160
+ */
161
+ export declare class PnpmPackageManager extends PackageManager {
162
+ protected readonly type: PackageManagerType;
163
+ installCommand(): string;
164
+ addCommand(packages: string[]): string;
165
+ addDevCommand(packages: string[]): string;
166
+ runCommand(script: string, options?: {
167
+ silent?: boolean;
168
+ }): string;
169
+ runDirectCommand(script: string, options?: {
170
+ silent?: boolean;
171
+ }): string;
172
+ listCommand(options?: ListOptions): string;
173
+ supportsPatternFiltering(): boolean;
174
+ parseListOutput(stdout: string, _filterPrefix?: string): ParsedDependencies;
175
+ hasPackagesWithPrefix(stdout: string, _prefix: string): boolean;
176
+ }
177
+ /**
178
+ * Bun package manager implementation.
179
+ * Note: Uses npm list for listing since bun pm ls doesn't support JSON output.
180
+ */
181
+ export declare class BunPackageManager extends PackageManager {
182
+ protected readonly type: PackageManagerType;
183
+ installCommand(): string;
184
+ addCommand(packages: string[]): string;
185
+ addDevCommand(packages: string[]): string;
186
+ runCommand(script: string, _options?: {
187
+ silent?: boolean;
188
+ }): string;
189
+ runDirectCommand(script: string, _options?: {
190
+ silent?: boolean;
191
+ }): string;
192
+ listCommand(options?: ListOptions): string;
193
+ supportsPatternFiltering(): boolean;
194
+ parseListOutput(stdout: string, filterPrefix?: string): ParsedDependencies;
195
+ hasPackagesWithPrefix(stdout: string, prefix: string): boolean;
196
+ }
197
+ /**
198
+ * Factory for creating and detecting package managers.
199
+ */
200
+ export declare class PackageManagerFactory {
201
+ /**
202
+ * Detect package manager from lock files in the given directory.
203
+ * Returns null if no lock file is found.
204
+ * @param cwd The directory to search for lock files
205
+ * @param runtime Runtime string (e.g., "node22", "node18_rt") for validation
206
+ * @throws Error if package manager is not supported for the given runtime
207
+ */
208
+ static detect(cwd: string, runtime: string): PackageManager | null;
209
+ /**
210
+ * Detect package manager or throw an error if none found.
211
+ * @param cwd The directory to search for lock files
212
+ * @param runtime Runtime string (e.g., "node22", "node18_rt") for validation
213
+ */
214
+ static detectOrThrow(cwd: string, runtime: string): PackageManager;
215
+ /**
216
+ * Create a PackageManager instance from a type string.
217
+ */
218
+ static create(type: PackageManagerType): PackageManager;
219
+ private static readonly implementations;
220
+ /**
221
+ * Validate that the package manager is supported for the given runtime.
222
+ * For runtimes < node22, only yarn classic is supported.
223
+ * @throws Error if package manager is not supported for the runtime
224
+ */
225
+ private static validateRuntimeSupport;
226
+ /**
227
+ * Extract the Node version number from runtime string.
228
+ * @example "node22" -> 22, "node18_rt" -> 18
229
+ */
230
+ private static getRuntimeVersion;
231
+ /**
232
+ * Check if the yarn version in use is Berry (2+).
233
+ */
234
+ private static isYarnBerry;
235
+ }
236
+ /**
237
+ * Package managers available for new project initialization.
238
+ * Note: 'yarn-berry' is excluded because the user's global yarn version
239
+ * determines whether Classic or Berry is used. Berry projects are detected
240
+ * via .yarnrc.yml for existing projects.
241
+ */
242
+ export declare const PACKAGE_MANAGERS: PackageManagerType[];