@joystick.js/cli-canary 0.0.0-canary.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 (231) hide show
  1. package/.build/getFilesToBuild.js +38 -0
  2. package/.build/index.js +69 -0
  3. package/HMRNOTES.txt +23 -0
  4. package/README.md +7 -0
  5. package/_package.json +55 -0
  6. package/canary.js +12 -0
  7. package/dist/cli.js +69 -0
  8. package/dist/functions/build/getTarIgnoreList.js +25 -0
  9. package/dist/functions/build/index.js +54 -0
  10. package/dist/functions/create/buildPackageJSON.js +20 -0
  11. package/dist/functions/create/index.js +193 -0
  12. package/dist/functions/create/templates/api/index.js +4 -0
  13. package/dist/functions/create/templates/i18n/en-US.js +4 -0
  14. package/dist/functions/create/templates/index.client.js +7 -0
  15. package/dist/functions/create/templates/index.css +20 -0
  16. package/dist/functions/create/templates/index.html +23 -0
  17. package/dist/functions/create/templates/index.server.js +21 -0
  18. package/dist/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  19. package/dist/functions/create/templates/public/favicon.ico +0 -0
  20. package/dist/functions/create/templates/public/manifest.json +25 -0
  21. package/dist/functions/create/templates/public/service-worker.js +32 -0
  22. package/dist/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  23. package/dist/functions/create/templates/settings.development.json +27 -0
  24. package/dist/functions/create/templates/ui/components/button/index.js +50 -0
  25. package/dist/functions/create/templates/ui/layouts/app/index.js +13 -0
  26. package/dist/functions/create/templates/ui/pages/error/index.js +31 -0
  27. package/dist/functions/create/templates/ui/pages/index/index.js +94 -0
  28. package/dist/functions/index.js +243 -0
  29. package/dist/functions/logout/index.js +20 -0
  30. package/dist/functions/push/checkIfProvisionAvailable.js +19 -0
  31. package/dist/functions/push/deploy/index.js +173 -0
  32. package/dist/functions/push/deploy/initial.js +100 -0
  33. package/dist/functions/push/deploy/version.js +100 -0
  34. package/dist/functions/push/domains.js +23 -0
  35. package/dist/functions/push/getAvailableCDN.js +23 -0
  36. package/dist/functions/push/getDeployment.js +41 -0
  37. package/dist/functions/push/getDeploymentSummary.js +38 -0
  38. package/dist/functions/push/getInstanceSizeRegions.js +37 -0
  39. package/dist/functions/push/getInstanceSizesForRegion.js +34 -0
  40. package/dist/functions/push/getProviderInstanceSizes.js +34 -0
  41. package/dist/functions/push/getProviderRegions.js +36 -0
  42. package/dist/functions/push/getProvidersWithConnectionStatus.js +20 -0
  43. package/dist/functions/push/getSessionToken.js +23 -0
  44. package/dist/functions/push/getUserFromSessionToken.js +37 -0
  45. package/dist/functions/push/index.js +210 -0
  46. package/dist/functions/push/loginToCheatCode.js +33 -0
  47. package/dist/functions/push/pingProvisionAPI.js +31 -0
  48. package/dist/functions/push/prompts.js +332 -0
  49. package/dist/functions/push/providerMap.js +11 -0
  50. package/dist/functions/push/providers.js +9 -0
  51. package/dist/functions/reset/index.js +0 -0
  52. package/dist/functions/reset/reset.js +127 -0
  53. package/dist/functions/start/bootstrapLayoutComponent.js +54 -0
  54. package/dist/functions/start/bootstrapPageComponent.js +51 -0
  55. package/dist/functions/start/buildFile.js +85 -0
  56. package/dist/functions/start/buildFiles.js +76 -0
  57. package/dist/functions/start/buildPlugins.js +183 -0
  58. package/dist/functions/start/checkIfPortAvailable.js +18 -0
  59. package/dist/functions/start/cleanup/index.js +18 -0
  60. package/dist/functions/start/databases/mongodb/availableQueryParameters.js +42 -0
  61. package/dist/functions/start/databases/mongodb/buildConnectionString.js +22 -0
  62. package/dist/functions/start/databases/mongodb/buildQueryParameters.js +14 -0
  63. package/dist/functions/start/databases/mongodb/checkConnection.js +38 -0
  64. package/dist/functions/start/databases/mongodb/connect.js +25 -0
  65. package/dist/functions/start/databases/mongodb/index.js +93 -0
  66. package/dist/functions/start/databases/postgresql/checkConnection.js +41 -0
  67. package/dist/functions/start/databases/postgresql/connect.js +27 -0
  68. package/dist/functions/start/databases/postgresql/index.js +106 -0
  69. package/dist/functions/start/databases/redis.js +0 -0
  70. package/dist/functions/start/databases/startProvider.js +16 -0
  71. package/dist/functions/start/fileDependencyMapper.js +22 -0
  72. package/dist/functions/start/filesToCopy.js +18 -0
  73. package/dist/functions/start/generateId.js +74 -0
  74. package/dist/functions/start/getCodependenciesForFile.js +64 -0
  75. package/dist/functions/start/getFilesToBuild.js +39 -0
  76. package/dist/functions/start/getProcessIdFromPort.js +60 -0
  77. package/dist/functions/start/hmrServer.js +66 -0
  78. package/dist/functions/start/index.js +535 -0
  79. package/dist/functions/start/isWindows.js +5 -0
  80. package/dist/functions/start/minifyFile.js +12 -0
  81. package/dist/functions/start/onWarn.js +63 -0
  82. package/dist/functions/start/readFileDependencyMap.js +16 -0
  83. package/dist/functions/start/removeDeletedDependenciesFromMap.js +18 -0
  84. package/dist/functions/start/setComponentId.js +46 -0
  85. package/dist/functions/start/updateFileMap.js +67 -0
  86. package/dist/functions/update/index.js +21 -0
  87. package/dist/functions/use/index.js +61 -0
  88. package/dist/index.js +8 -0
  89. package/dist/lib/CLILog.js +49 -0
  90. package/dist/lib/buildResolvePlugin.js +21 -0
  91. package/dist/lib/checkIfValidJSON.js +11 -0
  92. package/dist/lib/colorLog.js +7 -0
  93. package/dist/lib/getArgs.js +14 -0
  94. package/dist/lib/getCodeFrame.js +10 -0
  95. package/dist/lib/getOptions.js +15 -0
  96. package/dist/lib/getPlatformSafePath.js +7 -0
  97. package/dist/lib/getProvider.js +8 -0
  98. package/dist/lib/help.js +56 -0
  99. package/dist/lib/isObject.js +6 -0
  100. package/dist/lib/isValidJSONString.js +11 -0
  101. package/dist/lib/isWindows.js +5 -0
  102. package/dist/lib/killProcesses.js +0 -0
  103. package/dist/lib/loadSettings.js +33 -0
  104. package/dist/lib/loader.js +82 -0
  105. package/dist/lib/masterIgnoreList.js +16 -0
  106. package/dist/lib/nodeEnvironment.js +9 -0
  107. package/dist/lib/nodeEnvironments.js +8 -0
  108. package/dist/lib/parseCookiesFromLogin.js +18 -0
  109. package/dist/lib/rainbowRoad.js +7 -0
  110. package/dist/lib/readDirectorySync.js +14 -0
  111. package/dist/lib/regexes.js +12 -0
  112. package/dist/lib/replaceBackslashesWithForwardSlashes.js +8 -0
  113. package/dist/lib/replaceFileProtocol.js +8 -0
  114. package/dist/lib/serializeQueryParameters.js +8 -0
  115. package/dist/lib/settings.js +4 -0
  116. package/dist/lib/validateDatabasesFromSettings.js +34 -0
  117. package/dist/lib/wait.js +8 -0
  118. package/package.json +54 -0
  119. package/release.js +40 -0
  120. package/src/cli.js +88 -0
  121. package/src/functions/build/getTarIgnoreList.js +30 -0
  122. package/src/functions/build/index.js +63 -0
  123. package/src/functions/create/buildPackageJSON.js +18 -0
  124. package/src/functions/create/index.js +209 -0
  125. package/src/functions/create/templates/api/index.js +4 -0
  126. package/src/functions/create/templates/i18n/en-US.js +4 -0
  127. package/src/functions/create/templates/index.client.js +7 -0
  128. package/src/functions/create/templates/index.css +20 -0
  129. package/src/functions/create/templates/index.html +23 -0
  130. package/src/functions/create/templates/index.server.js +21 -0
  131. package/src/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
  132. package/src/functions/create/templates/public/favicon.ico +0 -0
  133. package/src/functions/create/templates/public/manifest.json +25 -0
  134. package/src/functions/create/templates/public/service-worker.js +32 -0
  135. package/src/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
  136. package/src/functions/create/templates/settings.development.json +27 -0
  137. package/src/functions/create/templates/ui/components/button/index.js +50 -0
  138. package/src/functions/create/templates/ui/layouts/app/index.js +13 -0
  139. package/src/functions/create/templates/ui/pages/error/index.js +31 -0
  140. package/src/functions/create/templates/ui/pages/index/index.js +94 -0
  141. package/src/functions/index.js +243 -0
  142. package/src/functions/logout/index.js +20 -0
  143. package/src/functions/push/checkIfProvisionAvailable.js +20 -0
  144. package/src/functions/push/deploy/index.js +199 -0
  145. package/src/functions/push/deploy/initial.js +108 -0
  146. package/src/functions/push/deploy/version.js +108 -0
  147. package/src/functions/push/domains.js +23 -0
  148. package/src/functions/push/getAvailableCDN.js +27 -0
  149. package/src/functions/push/getDeployment.js +43 -0
  150. package/src/functions/push/getDeploymentSummary.js +39 -0
  151. package/src/functions/push/getInstanceSizeRegions.js +40 -0
  152. package/src/functions/push/getInstanceSizesForRegion.js +35 -0
  153. package/src/functions/push/getProviderInstanceSizes.js +35 -0
  154. package/src/functions/push/getProviderRegions.js +39 -0
  155. package/src/functions/push/getProvidersWithConnectionStatus.js +25 -0
  156. package/src/functions/push/getSessionToken.js +26 -0
  157. package/src/functions/push/getUserFromSessionToken.js +39 -0
  158. package/src/functions/push/index.js +245 -0
  159. package/src/functions/push/loginToCheatCode.js +34 -0
  160. package/src/functions/push/pingProvisionAPI.js +33 -0
  161. package/src/functions/push/prompts.js +276 -0
  162. package/src/functions/push/providerMap.js +8 -0
  163. package/src/functions/push/providers.js +6 -0
  164. package/src/functions/reset/index.js +0 -0
  165. package/src/functions/reset/reset.js +163 -0
  166. package/src/functions/start/bootstrapLayoutComponent.js +57 -0
  167. package/src/functions/start/bootstrapPageComponent.js +54 -0
  168. package/src/functions/start/buildFile.js +97 -0
  169. package/src/functions/start/buildFiles.js +101 -0
  170. package/src/functions/start/buildPlugins.js +215 -0
  171. package/src/functions/start/checkIfPortAvailable.js +21 -0
  172. package/src/functions/start/cleanup/index.js +23 -0
  173. package/src/functions/start/databases/mongodb/availableQueryParameters.js +39 -0
  174. package/src/functions/start/databases/mongodb/buildConnectionString.js +28 -0
  175. package/src/functions/start/databases/mongodb/buildQueryParameters.js +15 -0
  176. package/src/functions/start/databases/mongodb/checkConnection.js +40 -0
  177. package/src/functions/start/databases/mongodb/connect.js +25 -0
  178. package/src/functions/start/databases/mongodb/index.js +108 -0
  179. package/src/functions/start/databases/postgresql/checkConnection.js +43 -0
  180. package/src/functions/start/databases/postgresql/connect.js +27 -0
  181. package/src/functions/start/databases/postgresql/index.js +127 -0
  182. package/src/functions/start/databases/redis.js +0 -0
  183. package/src/functions/start/databases/startProvider.js +15 -0
  184. package/src/functions/start/fileDependencyMapper.js +24 -0
  185. package/src/functions/start/filesToCopy.js +15 -0
  186. package/src/functions/start/generateId.js +73 -0
  187. package/src/functions/start/getCodependenciesForFile.js +84 -0
  188. package/src/functions/start/getFilesToBuild.js +49 -0
  189. package/src/functions/start/getProcessIdFromPort.js +92 -0
  190. package/src/functions/start/hmrServer.js +78 -0
  191. package/src/functions/start/index.js +688 -0
  192. package/src/functions/start/isWindows.js +3 -0
  193. package/src/functions/start/minifyFile.js +10 -0
  194. package/src/functions/start/onWarn.js +68 -0
  195. package/src/functions/start/readFileDependencyMap.js +19 -0
  196. package/src/functions/start/removeDeletedDependenciesFromMap.js +19 -0
  197. package/src/functions/start/setComponentId.js +58 -0
  198. package/src/functions/start/updateFileMap.js +100 -0
  199. package/src/functions/update/index.js +20 -0
  200. package/src/functions/use/index.js +62 -0
  201. package/src/index.js +13 -0
  202. package/src/lib/CLILog.js +40 -0
  203. package/src/lib/buildResolvePlugin.js +32 -0
  204. package/src/lib/checkIfValidJSON.js +8 -0
  205. package/src/lib/colorLog.js +5 -0
  206. package/src/lib/getArgs.js +14 -0
  207. package/src/lib/getCodeFrame.js +8 -0
  208. package/src/lib/getOptions.js +12 -0
  209. package/src/lib/getPlatformSafePath.js +6 -0
  210. package/src/lib/getProvider.js +5 -0
  211. package/src/lib/help.js +56 -0
  212. package/src/lib/isObject.js +3 -0
  213. package/src/lib/isValidJSONString.js +8 -0
  214. package/src/lib/isWindows.js +3 -0
  215. package/src/lib/killProcesses.js +5 -0
  216. package/src/lib/loadSettings.js +40 -0
  217. package/src/lib/loader.js +94 -0
  218. package/src/lib/masterIgnoreList.js +13 -0
  219. package/src/lib/nodeEnvironment.js +6 -0
  220. package/src/lib/nodeEnvironments.js +8 -0
  221. package/src/lib/parseCookiesFromLogin.js +21 -0
  222. package/src/lib/rainbowRoad.js +5 -0
  223. package/src/lib/readDirectorySync.js +13 -0
  224. package/src/lib/regexes.js +5 -0
  225. package/src/lib/replaceBackslashesWithForwardSlashes.js +8 -0
  226. package/src/lib/replaceFileProtocol.js +8 -0
  227. package/src/lib/serializeQueryParameters.js +5 -0
  228. package/src/lib/settings.js +1 -0
  229. package/src/lib/validateDatabasesFromSettings.js +37 -0
  230. package/src/lib/wait.js +5 -0
  231. package/storage/.verdaccio-db.json +1 -0
@@ -0,0 +1,94 @@
1
+ import chalk from "chalk";
2
+ import readline from 'readline';
3
+
4
+ class Loader {
5
+ constructor(options = {}) {
6
+ this.message = options.defaultMessage;
7
+ this.frame = 0;
8
+ this.frames = [
9
+ chalk.yellowBright((options.padding || '') + ">>-----"),
10
+ chalk.yellowBright((options.padding || '') + "->>----"),
11
+ chalk.yellowBright((options.padding || '') + "-->>---"),
12
+ chalk.yellowBright((options.padding || '') + "--->>--"),
13
+ chalk.yellowBright((options.padding || '') + "---->>-"),
14
+ chalk.yellowBright((options.padding || '') + "----->>"),
15
+ chalk.yellowBright((options.padding || '') + "----<<-"),
16
+ chalk.yellowBright((options.padding || '') + "---<<--"),
17
+ chalk.yellowBright((options.padding || '') + "--<<---"),
18
+ chalk.yellowBright((options.padding || '') + "-<<----"),
19
+ chalk.yellowBright((options.padding || '') + "<<-----"),
20
+ ];
21
+ this.freezeFrames = {
22
+ stable: chalk.yellowBright((options.padding || '') + "--->---"),
23
+ error: chalk.redBright((options.padding || '') + "!!!"),
24
+ };
25
+ }
26
+
27
+ getFrame() {
28
+ if (this.frame === this.frames.length - 1) {
29
+ this.frame = 0;
30
+ return this.frame;
31
+ }
32
+
33
+ this.frame += 1;
34
+ return this.frame;
35
+ }
36
+
37
+ start(message = "") {
38
+ if (message) {
39
+ this.message = message;
40
+ }
41
+
42
+ this.interval = setInterval(() => {
43
+ const frameToRender = this.getFrame();
44
+ readline.cursorTo(process.stdout, 0);
45
+ process.stdout.write(`${this.frames[frameToRender]} ${this.message}`);
46
+ }, 80);
47
+ }
48
+
49
+ stop() {
50
+ clearInterval(this.interval);
51
+ readline.cursorTo(process.stdout, 0);
52
+ readline.clearLine(process.stdout);
53
+ this.message = "";
54
+ this.interval = null;
55
+ }
56
+
57
+ text(message = "") {
58
+ readline.clearLine(process.stdout);
59
+
60
+ if (message) {
61
+ this.message = message;
62
+ }
63
+
64
+ if (!this.interval) {
65
+ this.start();
66
+ }
67
+ }
68
+
69
+ pause(message = "", frame = "stable") {
70
+ readline.clearLine(process.stdout);
71
+
72
+ if (message) {
73
+ this.message = message;
74
+ }
75
+
76
+ clearInterval(this.interval);
77
+ this.interval = null;
78
+ const freezeFrame = this.freezeFrames[frame];
79
+ readline.cursorTo(process.stdout, 0);
80
+ process.stdout.write(
81
+ `${freezeFrame ? `${freezeFrame} ` : ""}${this.message}`
82
+ );
83
+ }
84
+
85
+ stable(message = "") {
86
+ this.pause(message);
87
+ }
88
+
89
+ error(message = "") {
90
+ this.pause(message, "error");
91
+ }
92
+ }
93
+
94
+ export default Loader;
@@ -0,0 +1,13 @@
1
+ export default [
2
+ `.build`,
3
+ `.DS_Store`,
4
+ `.git`,
5
+ `.joystick/build`,
6
+ `.joystick/data`,
7
+ `.push`,
8
+ `node_modules`,
9
+ `storage`,
10
+ `settings.development.json`,
11
+ `settings.staging.json`,
12
+ `settings.production.json`,
13
+ ];
@@ -0,0 +1,6 @@
1
+ const nodeEnvironment = process && process.NODE_ENV;
2
+
3
+ export const isDevelopment = nodeEnvironment === "development";
4
+ export const isProduction = nodeEnvironment === "production";
5
+
6
+ export default nodeEnvironment;
@@ -0,0 +1,8 @@
1
+ export const isDevelopment =
2
+ process.env.NODE_ENV && process.env.NODE_ENV === "development";
3
+
4
+ export const isStaging =
5
+ process.env.NODE_ENV && process.env.NODE_ENV === "staging";
6
+
7
+ export const isProduction =
8
+ process.env.NODE_ENV && process.env.NODE_ENV === "production";
@@ -0,0 +1,21 @@
1
+ export default (response = {}) => {
2
+ const cookiesToSet = response?.headers.get('set-cookie');
3
+ const cookies = cookiesToSet.split(';')
4
+ .map((value) => value.split('='))
5
+ .filter(([key, value]) => {
6
+ return (key === ' HttpOnly, joystickLoginTokenExpiresAt' || key === ' HttpOnly, joystickLoginToken') && !value.includes('null');
7
+ })
8
+ .reduce((parsedCookies = {}, [key, value]) => {
9
+ if (key.trim() === 'HttpOnly, joystickLoginToken') {
10
+ parsedCookies['joystickLoginToken'] = value;
11
+ }
12
+
13
+ if (key.trim() === 'HttpOnly, joystickLoginTokenExpiresAt') {
14
+ parsedCookies['joystickLoginTokenExpiresAt'] = value;
15
+ }
16
+
17
+ return parsedCookies;
18
+ }, {});
19
+
20
+ return cookies;
21
+ };
@@ -0,0 +1,5 @@
1
+ import chalk from 'chalk';
2
+
3
+ export default () => {
4
+ return `${chalk.red('=')}${chalk.green('=')}${chalk.blue('=')}${chalk.red('=')}${chalk.green('=')}${chalk.blue('=')}`;
5
+ };
@@ -0,0 +1,13 @@
1
+ import fs from "fs";
2
+ import { join } from "path";
3
+
4
+ const readDirectorySync = (directory, allFiles = []) => {
5
+ const files = fs.readdirSync(directory).map((file) => join(directory, file));
6
+ allFiles.push(...files);
7
+ files.forEach((file) => {
8
+ fs.statSync(file).isDirectory() && readDirectorySync(file, allFiles);
9
+ });
10
+ return allFiles;
11
+ };
12
+
13
+ export default readDirectorySync;
@@ -0,0 +1,5 @@
1
+ export const EXPORT_DEFAULT_REGEX = new RegExp(/export default [a-zA-Z0-9]+/g);
2
+ export const JOYSTICK_COMMENT_REGEX = new RegExp(/\<\!\-\-(.|\n|\r)*?-->/g);
3
+ export const JOYSTICK_COMPONENT_REGEX = new RegExp(/\.component\(\{/g);
4
+ export const JOYSTICK_UI_REGEX = new RegExp(/@joystick.js\/ui/g);
5
+ export const OBJECT_REGEX = new RegExp(/{([^;]*)}/g);
@@ -0,0 +1,8 @@
1
+ import os from 'os';
2
+
3
+ const isWindows = os.platform() === 'win32';
4
+
5
+ export default (path = '') => {
6
+ // NOTE: This is why serial killers exist.
7
+ return isWindows ? path.replace(/\\/g, '/') : path;
8
+ };
@@ -0,0 +1,8 @@
1
+ import os from 'os';
2
+
3
+ const isWindows = os.platform() === 'win32';
4
+
5
+ export default (path = '') => {
6
+ // NOTE: This is why serial killers exist.
7
+ return isWindows ? path.replace(/[a-zA-Z]:/gi, '') : path;
8
+ };
@@ -0,0 +1,5 @@
1
+ export default (queryParameters = {}) => {
2
+ return Object.entries(queryParameters).map(([key, value]) => {
3
+ return `${key}=${value}`;
4
+ })?.join('&');
5
+ };
@@ -0,0 +1 @@
1
+ export default {};
@@ -0,0 +1,37 @@
1
+ import CLILog from "./CLILog.js";
2
+ import isObject from "./isObject.js";
3
+
4
+ export default (databases = []) => {
5
+ const databasesNotAsObjects = databases.filter(
6
+ (database) => !isObject(database)
7
+ );
8
+
9
+ const userDatabases = databases.filter((database) => !!database.users);
10
+ const queueDatabases = databases.filter((database) => !!database.queues);
11
+
12
+ if (databasesNotAsObjects && databasesNotAsObjects.length > 0) {
13
+ CLILog(`Please ensure that each database in the config.databases array in your settings.${process.env.NODE_ENV}.json is an object. Correct the array and restart your app.`, {
14
+ level: 'danger',
15
+ docs: 'https://github.com/cheatcode/joystick#databases',
16
+ });
17
+ process.exit(1);
18
+ }
19
+
20
+ if (userDatabases && userDatabases.length > 1) {
21
+ CLILog(`Please select a single database for your user accounts and restart your app.`, {
22
+ level: 'danger',
23
+ docs: 'https://github.com/cheatcode/joystick#users-database',
24
+ });
25
+ process.exit(1);
26
+ }
27
+
28
+ if (queueDatabases && queueDatabases.length > 1) {
29
+ CLILog(`Please select a single database for your queues and restart your app.`, {
30
+ level: 'danger',
31
+ docs: 'https://github.com/cheatcode/joystick#queues-database',
32
+ });
33
+ process.exit(1);
34
+ }
35
+
36
+ return true;
37
+ };
@@ -0,0 +1,5 @@
1
+ export default (delay = 0) => {
2
+ return new Promise((resolve) => {
3
+ setTimeout(() => resolve(), delay);
4
+ });
5
+ }
@@ -0,0 +1 @@
1
+ {"list":["@joystick.js/cli"],"secret":"5132a49221c94068152afd63e47549431e648a46d88e53ec94b91c1eec3f9f2e"}