@joystick.js/cli-canary 0.0.0-canary.67 → 0.0.0-canary.670
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.
- package/.build/getFilesToBuild.js +1 -1
- package/.build/index.js +3 -3
- package/dist/cli.js +1 -69
- package/dist/commands/build/definition.js +1 -0
- package/dist/commands/build/index.js +1 -0
- package/dist/commands/create/build_package_json.js +1 -0
- package/dist/commands/create/definition.js +1 -0
- package/dist/commands/create/index.js +2 -0
- package/dist/commands/create/template/api/index.js +6 -0
- package/dist/commands/create/template/email/base.css +9 -0
- package/dist/commands/create/template/email/base.html +10 -0
- package/dist/commands/create/template/email/reset_password.js +20 -0
- package/dist/commands/create/template/i18n/en-US.js +14 -0
- package/dist/commands/create/template/index.client.js +1 -0
- package/dist/commands/create/template/index.css +34 -0
- package/dist/{functions/create/templates → commands/create/template}/index.html +2 -3
- package/dist/{functions/create/templates → commands/create/template}/index.server.js +6 -6
- package/dist/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
- package/dist/commands/create/template/public/favicon.ico +0 -0
- package/dist/commands/create/template/public/joystick_logo.webp +0 -0
- package/dist/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
- package/dist/commands/create/template/public/splash-screen-1024x1024.png +0 -0
- package/{src/functions/create/templates → dist/commands/create/template}/ui/components/button/index.js +14 -6
- package/{src/functions/create/templates → dist/commands/create/template}/ui/layouts/app/index.js +2 -2
- package/dist/commands/create/template/ui/pages/error/index.js +50 -0
- package/dist/commands/create/template/ui/pages/index/index.js +121 -0
- package/dist/commands/help/definition.js +1 -0
- package/dist/commands/help/index.js +19 -0
- package/dist/commands/index.js +1 -0
- package/dist/commands/logout/definition.js +1 -0
- package/dist/commands/logout/index.js +3 -0
- package/dist/commands/push/cdn_mirrors.js +1 -0
- package/dist/commands/push/check_if_settings_valid.js +1 -0
- package/dist/commands/push/create_version.js +1 -0
- package/dist/commands/push/definition.js +1 -0
- package/dist/commands/push/get_app_domain.js +1 -0
- package/dist/commands/push/get_deployment.js +1 -0
- package/dist/commands/push/get_provision_domain.js +1 -0
- package/dist/commands/push/get_session_token.js +1 -0
- package/dist/commands/push/get_settings_file.js +1 -0
- package/dist/commands/push/handle_initial_deployment.js +1 -0
- package/dist/commands/push/handle_version_deployment.js +1 -0
- package/dist/commands/push/index.js +8 -0
- package/dist/commands/push/prompts/confirm_deployment.js +17 -0
- package/dist/commands/push/prompts/session_token.js +5 -0
- package/dist/commands/push/upload_build_to_cdn.js +1 -0
- package/dist/commands/push/validate_deployment.js +1 -0
- package/dist/commands/push/validate_push_config.js +1 -0
- package/dist/commands/start/definition.js +1 -0
- package/dist/commands/start/index.js +1 -0
- package/dist/commands/test/definition.js +1 -0
- package/dist/commands/test/index.js +1 -0
- package/dist/commands/update/definition.js +1 -0
- package/dist/commands/update/index.js +1 -0
- package/dist/commands/use/definition.js +1 -0
- package/dist/commands/use/index.js +1 -0
- package/dist/index.js +1 -7
- package/dist/lib/build/browser_path_exclusions.js +1 -0
- package/dist/lib/build/browser_paths.js +1 -0
- package/dist/lib/build/build_files.js +3 -0
- package/dist/lib/build/copy_paths.js +1 -0
- package/dist/lib/build/get_code_frame.js +1 -0
- package/dist/lib/build/get_file_operation.js +1 -0
- package/dist/lib/build/get_files_to_build.js +1 -0
- package/dist/lib/build/get_path_platform.js +1 -0
- package/dist/lib/build/get_platform_safe_path.js +1 -0
- package/dist/lib/build/get_tar_ignore_list.js +2 -0
- package/dist/lib/build/index.js +3 -0
- package/dist/lib/build/master_ignore_list.js +1 -0
- package/dist/lib/build/minify_file.js +1 -0
- package/dist/lib/build/node_paths.js +1 -0
- package/dist/lib/build/on_warn.js +10 -0
- package/dist/lib/build/plugins/bootstrap_component.js +33 -0
- package/dist/lib/build/plugins/generate_file_dependency_map.js +1 -0
- package/dist/lib/build/plugins/index.js +1 -0
- package/dist/lib/build/plugins/set_component_id.js +2 -0
- package/dist/lib/build/plugins/update_file_map.js +1 -0
- package/dist/lib/build/plugins/warn_node_environment.js +3 -0
- package/dist/lib/cli_log.js +13 -0
- package/dist/lib/color_log.js +1 -0
- package/dist/lib/command_exists.js +1 -0
- package/dist/lib/constants.js +1 -4
- package/dist/lib/debounce.js +1 -0
- package/dist/lib/decrypt_buffer.js +1 -0
- package/dist/lib/development_server/ava_config.js +1 -0
- package/dist/lib/development_server/check_if_port_occupied.js +1 -0
- package/dist/lib/development_server/cleanup.js +1 -0
- package/dist/lib/development_server/databases/mongodb/available_query_parameters.js +1 -0
- package/dist/lib/development_server/databases/mongodb/build_connection_string.js +1 -0
- package/dist/lib/development_server/databases/mongodb/build_query_parameters.js +1 -0
- package/dist/lib/development_server/databases/mongodb/check_connection.js +2 -0
- package/dist/lib/development_server/databases/mongodb/connect.js +1 -0
- package/dist/lib/development_server/databases/mongodb/index.js +5 -0
- package/dist/lib/development_server/databases/postgresql/check_connection.js +2 -0
- package/dist/lib/development_server/databases/postgresql/connect.js +1 -0
- package/dist/lib/development_server/databases/postgresql/index.js +2 -0
- package/dist/lib/development_server/databases/provider_map.js +1 -0
- package/dist/lib/development_server/get_database_process_ids.js +1 -0
- package/dist/lib/development_server/get_translations.js +1 -0
- package/dist/lib/development_server/hmr_server.js +1 -0
- package/dist/lib/development_server/index.js +10 -0
- package/dist/lib/development_server/kill_process_ids.js +1 -0
- package/dist/lib/development_server/run_tests.js +2 -0
- package/dist/lib/development_server/start_app_server.js +1 -0
- package/dist/lib/development_server/start_databases.js +1 -0
- package/dist/lib/development_server/start_hmr_server.js +1 -0
- package/dist/lib/development_server/watch_for_changes/browser_path_exclusions.js +1 -0
- package/dist/lib/development_server/watch_for_changes/browser_paths.js +1 -0
- package/dist/lib/development_server/watch_for_changes/get_after_run_tasks.js +1 -0
- package/dist/lib/development_server/watch_for_changes/get_file_codependencies.js +1 -0
- package/dist/lib/development_server/watch_for_changes/get_platform_safe_path.js +1 -0
- package/dist/lib/development_server/watch_for_changes/index.js +1 -0
- package/dist/lib/development_server/watch_for_changes/node_paths.js +1 -0
- package/dist/lib/development_server/watch_for_changes/read_file_dependency_map.js +1 -0
- package/dist/lib/development_server/watch_for_changes/watch_paths.js +1 -0
- package/dist/lib/dynamic_import.js +1 -0
- package/dist/lib/encrypt_buffer.js +1 -0
- package/dist/lib/generate_id.js +1 -0
- package/dist/lib/get_files_in_path.js +1 -0
- package/dist/lib/get_platform_safe_path.js +1 -0
- package/dist/lib/get_process_id_from_port.js +2 -0
- package/dist/lib/is_valid_json_string.js +1 -0
- package/dist/lib/kill_port_process.js +1 -0
- package/dist/lib/kill_process_id.js +1 -0
- package/dist/lib/load_settings.js +1 -0
- package/dist/lib/loader.js +2 -82
- package/dist/lib/log_bars.js +1 -0
- package/dist/lib/node_path_polyfills.js +1 -0
- package/dist/lib/parse_args.js +1 -0
- package/dist/lib/parse_options.js +1 -0
- package/dist/lib/path_exists.js +1 -0
- package/dist/lib/rainbow_road.js +1 -0
- package/dist/lib/replace_in_files.js +1 -0
- package/dist/lib/required_files.js +1 -0
- package/dist/lib/serialize_query_parameters.js +1 -0
- package/dist/lib/types.js +1 -6
- package/increment_version.js +3 -0
- package/package.json +18 -37
- package/src/cli.js +63 -46
- package/src/commands/build/definition.js +58 -0
- package/src/commands/build/index.js +7 -0
- package/src/commands/create/build_package_json.js +20 -0
- package/src/commands/create/definition.js +35 -0
- package/src/commands/create/index.js +71 -0
- package/src/commands/create/template/api/index.js +6 -0
- package/src/commands/create/template/email/base.css +9 -0
- package/src/commands/create/template/email/base.html +10 -0
- package/src/commands/create/template/email/reset_password.js +20 -0
- package/src/commands/create/template/i18n/en-US.js +14 -0
- package/src/commands/create/template/index.client.js +1 -0
- package/src/commands/create/template/index.css +34 -0
- package/src/{functions/create/templates → commands/create/template}/index.html +2 -3
- package/src/{functions/create/templates → commands/create/template}/index.server.js +6 -6
- package/src/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
- package/src/commands/create/template/public/favicon.ico +0 -0
- package/src/commands/create/template/public/joystick_logo.webp +0 -0
- package/src/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
- package/src/commands/create/template/public/splash-screen-1024x1024.png +0 -0
- package/{dist/functions/create/templates → src/commands/create/template}/ui/components/button/index.js +14 -6
- package/{dist/functions/create/templates → src/commands/create/template}/ui/layouts/app/index.js +2 -2
- package/src/commands/create/template/ui/pages/error/index.js +50 -0
- package/src/commands/create/template/ui/pages/index/index.js +121 -0
- package/src/commands/help/definition.js +12 -0
- package/src/commands/help/index.js +48 -0
- package/src/commands/index.js +23 -0
- package/src/commands/logout/definition.js +10 -0
- package/src/commands/logout/index.js +20 -0
- package/src/commands/push/cdn_mirrors.js +7 -0
- package/src/commands/push/check_if_settings_valid.js +10 -0
- package/src/commands/push/create_version.js +20 -0
- package/src/commands/push/definition.js +43 -0
- package/src/commands/push/get_app_domain.js +11 -0
- package/src/commands/push/get_deployment.js +19 -0
- package/src/commands/push/get_provision_domain.js +9 -0
- package/src/commands/push/get_session_token.js +31 -0
- package/src/commands/push/get_settings_file.js +47 -0
- package/src/commands/push/handle_initial_deployment.js +24 -0
- package/src/commands/push/handle_version_deployment.js +23 -0
- package/src/commands/push/index.js +190 -0
- package/src/commands/push/prompts/confirm_deployment.js +73 -0
- package/src/commands/push/prompts/session_token.js +11 -0
- package/src/commands/push/upload_build_to_cdn.js +59 -0
- package/src/commands/push/validate_deployment.js +19 -0
- package/src/commands/push/validate_push_config.js +18 -0
- package/src/commands/start/definition.js +58 -0
- package/src/commands/start/index.js +11 -0
- package/src/commands/test/definition.js +28 -0
- package/src/commands/test/index.js +12 -0
- package/src/commands/update/definition.js +28 -0
- package/src/commands/update/index.js +29 -0
- package/src/commands/use/definition.js +19 -0
- package/src/commands/use/index.js +54 -0
- package/src/index.js +0 -0
- package/src/lib/build/browser_path_exclusions.js +8 -0
- package/src/lib/build/browser_paths.js +11 -0
- package/src/lib/build/build_files.js +161 -0
- package/src/{functions/start/filesToCopy.js → lib/build/copy_paths.js} +7 -5
- package/src/lib/build/get_code_frame.js +11 -0
- package/src/lib/build/get_file_operation.js +25 -0
- package/src/lib/build/get_files_to_build.js +36 -0
- package/src/lib/build/get_path_platform.js +32 -0
- package/src/lib/build/get_platform_safe_path.js +6 -0
- package/src/lib/build/get_tar_ignore_list.js +41 -0
- package/src/lib/build/index.js +101 -0
- package/src/lib/build/master_ignore_list.js +14 -0
- package/src/lib/build/minify_file.js +15 -0
- package/src/lib/build/node_paths.js +17 -0
- package/src/lib/build/on_warn.js +70 -0
- package/src/lib/build/plugins/bootstrap_component.js +191 -0
- package/src/lib/build/plugins/generate_file_dependency_map.js +20 -0
- package/src/lib/build/plugins/index.js +26 -0
- package/src/lib/build/plugins/set_component_id.js +89 -0
- package/src/lib/build/plugins/update_file_map.js +98 -0
- package/src/lib/build/plugins/warn_node_environment.js +20 -0
- package/src/lib/{CLILog.js → cli_log.js} +12 -8
- package/src/lib/color_log.js +7 -0
- package/src/lib/command_exists.js +16 -0
- package/src/lib/constants.js +11 -1
- package/src/lib/debounce.js +9 -0
- package/src/lib/decrypt_buffer.js +12 -0
- package/src/lib/development_server/ava_config.js +14 -0
- package/src/lib/development_server/check_if_port_occupied.js +31 -0
- package/src/lib/development_server/cleanup.js +15 -0
- package/src/lib/{dev/databases/mongodb/availableQueryParameters.js → development_server/databases/mongodb/available_query_parameters.js} +3 -1
- package/src/lib/development_server/databases/mongodb/build_connection_string.js +31 -0
- package/src/lib/development_server/databases/mongodb/build_query_parameters.js +17 -0
- package/src/lib/development_server/databases/mongodb/check_connection.js +41 -0
- package/src/lib/development_server/databases/mongodb/connect.js +27 -0
- package/src/lib/development_server/databases/mongodb/index.js +118 -0
- package/src/lib/development_server/databases/postgresql/check_connection.js +56 -0
- package/src/lib/development_server/databases/postgresql/connect.js +33 -0
- package/src/lib/development_server/databases/postgresql/index.js +126 -0
- package/src/lib/development_server/databases/provider_map.js +15 -0
- package/src/lib/development_server/get_database_process_ids.js +28 -0
- package/src/lib/development_server/get_translations.js +85 -0
- package/src/lib/development_server/hmr_server.js +94 -0
- package/src/lib/development_server/index.js +394 -0
- package/src/lib/development_server/kill_process_ids.js +8 -0
- package/src/lib/development_server/run_tests.js +84 -0
- package/src/lib/development_server/start_app_server.js +55 -0
- package/src/lib/development_server/start_databases.js +108 -0
- package/src/lib/development_server/start_hmr_server.js +36 -0
- package/src/lib/development_server/watch_for_changes/browser_path_exclusions.js +8 -0
- package/src/lib/development_server/watch_for_changes/browser_paths.js +11 -0
- package/src/lib/development_server/watch_for_changes/get_after_run_tasks.js +31 -0
- package/src/lib/development_server/watch_for_changes/get_file_codependencies.js +48 -0
- package/src/lib/development_server/watch_for_changes/get_platform_safe_path.js +6 -0
- package/src/lib/development_server/watch_for_changes/index.js +216 -0
- package/src/lib/development_server/watch_for_changes/node_paths.js +16 -0
- package/src/lib/development_server/watch_for_changes/read_file_dependency_map.js +18 -0
- package/src/lib/development_server/watch_for_changes/watch_paths.js +21 -0
- package/src/lib/dynamic_import.js +6 -0
- package/src/lib/encrypt_buffer.js +10 -0
- package/src/lib/generate_id.js +15 -0
- package/src/lib/get_files_in_path.js +25 -0
- package/src/lib/get_platform_safe_path.js +8 -0
- package/src/lib/get_process_id_from_port.js +26 -0
- package/src/lib/is_valid_json_string.js +10 -0
- package/src/lib/kill_port_process.js +12 -0
- package/src/lib/kill_process_id.js +19 -0
- package/src/lib/load_settings.js +43 -0
- package/src/lib/loader.js +4 -77
- package/src/lib/log_bars.js +7 -0
- package/src/lib/node_path_polyfills.js +23 -0
- package/src/lib/parse_args.js +16 -0
- package/src/lib/parse_options.js +16 -0
- package/src/lib/path_exists.js +11 -0
- package/src/lib/{rainbowRoad.js → rainbow_road.js} +4 -2
- package/src/lib/replace_in_files.js +40 -0
- package/src/lib/{dev/requiredFiles.js → required_files.js} +3 -1
- package/src/lib/serialize_query_parameters.js +7 -0
- package/src/lib/types.js +59 -2
- package/HMRNOTES.txt +0 -23
- package/README.md +0 -7
- package/_package.json +0 -55
- package/canary.js +0 -12
- package/dist/functions/build/getTarIgnoreList.js +0 -25
- package/dist/functions/build/index.js +0 -54
- package/dist/functions/create/buildPackageJSON.js +0 -20
- package/dist/functions/create/index.js +0 -193
- package/dist/functions/create/templates/api/index.js +0 -4
- package/dist/functions/create/templates/i18n/en-US.js +0 -4
- package/dist/functions/create/templates/index.client.js +0 -7
- package/dist/functions/create/templates/index.css +0 -20
- package/dist/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
- package/dist/functions/create/templates/public/favicon.ico +0 -0
- package/dist/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
- package/dist/functions/create/templates/ui/pages/error/index.js +0 -31
- package/dist/functions/create/templates/ui/pages/index/index.js +0 -94
- package/dist/functions/index.js +0 -243
- package/dist/functions/logout/index.js +0 -20
- package/dist/functions/push/checkIfProvisionAvailable.js +0 -19
- package/dist/functions/push/deploy/index.js +0 -173
- package/dist/functions/push/deploy/initial.js +0 -100
- package/dist/functions/push/deploy/version.js +0 -100
- package/dist/functions/push/domains.js +0 -23
- package/dist/functions/push/getAvailableCDN.js +0 -23
- package/dist/functions/push/getDeployment.js +0 -41
- package/dist/functions/push/getDeploymentSummary.js +0 -38
- package/dist/functions/push/getInstanceSizeRegions.js +0 -37
- package/dist/functions/push/getInstanceSizesForRegion.js +0 -34
- package/dist/functions/push/getProviderInstanceSizes.js +0 -34
- package/dist/functions/push/getProviderRegions.js +0 -36
- package/dist/functions/push/getProvidersWithConnectionStatus.js +0 -20
- package/dist/functions/push/getSessionToken.js +0 -23
- package/dist/functions/push/getUserFromSessionToken.js +0 -37
- package/dist/functions/push/index.js +0 -210
- package/dist/functions/push/loginToCheatCode.js +0 -33
- package/dist/functions/push/pingProvisionAPI.js +0 -31
- package/dist/functions/push/prompts.js +0 -332
- package/dist/functions/push/providerMap.js +0 -11
- package/dist/functions/push/providers.js +0 -9
- package/dist/functions/reset/index.js +0 -0
- package/dist/functions/reset/reset.js +0 -127
- package/dist/functions/start/bootstrapLayoutComponent.js +0 -54
- package/dist/functions/start/bootstrapPageComponent.js +0 -51
- package/dist/functions/start/buildFile.js +0 -85
- package/dist/functions/start/buildFiles.js +0 -76
- package/dist/functions/start/buildPlugins.js +0 -183
- package/dist/functions/start/checkIfPortAvailable.js +0 -18
- package/dist/functions/start/cleanup/index.js +0 -18
- package/dist/functions/start/databases/mongodb/availableQueryParameters.js +0 -42
- package/dist/functions/start/databases/mongodb/buildConnectionString.js +0 -22
- package/dist/functions/start/databases/mongodb/buildQueryParameters.js +0 -14
- package/dist/functions/start/databases/mongodb/checkConnection.js +0 -35
- package/dist/functions/start/databases/mongodb/connect.js +0 -25
- package/dist/functions/start/databases/mongodb/index.js +0 -93
- package/dist/functions/start/databases/postgresql/checkConnection.js +0 -41
- package/dist/functions/start/databases/postgresql/connect.js +0 -27
- package/dist/functions/start/databases/postgresql/index.js +0 -106
- package/dist/functions/start/databases/redis.js +0 -0
- package/dist/functions/start/databases/startProvider.js +0 -16
- package/dist/functions/start/fileDependencyMapper.js +0 -22
- package/dist/functions/start/filesToCopy.js +0 -18
- package/dist/functions/start/generateId.js +0 -74
- package/dist/functions/start/getCodependenciesForFile.js +0 -64
- package/dist/functions/start/getFilesToBuild.js +0 -39
- package/dist/functions/start/getProcessIdFromPort.js +0 -60
- package/dist/functions/start/hmrServer.js +0 -66
- package/dist/functions/start/index.js +0 -31
- package/dist/functions/start/isWindows.js +0 -5
- package/dist/functions/start/minifyFile.js +0 -12
- package/dist/functions/start/onWarn.js +0 -63
- package/dist/functions/start/readFileDependencyMap.js +0 -16
- package/dist/functions/start/removeDeletedDependenciesFromMap.js +0 -18
- package/dist/functions/start/setComponentId.js +0 -46
- package/dist/functions/start/updateFileMap.js +0 -67
- package/dist/functions/test/index.js +0 -30
- package/dist/functions/update/index.js +0 -21
- package/dist/functions/use/index.js +0 -61
- package/dist/lib/CLILog.js +0 -49
- package/dist/lib/build/browserPathExclusions.js +0 -7
- package/dist/lib/build/browserPaths.js +0 -11
- package/dist/lib/build/buildFile.js +0 -84
- package/dist/lib/build/buildFiles.js +0 -238
- package/dist/lib/build/buildPlugins.js +0 -186
- package/dist/lib/build/getCodeFrame.js +0 -9
- package/dist/lib/build/minifyFile.js +0 -12
- package/dist/lib/build/nodePathExclusions.js +0 -7
- package/dist/lib/build/nodePaths.js +0 -11
- package/dist/lib/build/onWarn.js +0 -63
- package/dist/lib/build/removeDeletedDependenciesFromMap.js +0 -18
- package/dist/lib/build/setComponentId.js +0 -46
- package/dist/lib/build/updateFileMap.js +0 -67
- package/dist/lib/buildResolvePlugin.js +0 -21
- package/dist/lib/checkIfValidJSON.js +0 -11
- package/dist/lib/colorLog.js +0 -7
- package/dist/lib/dev/cleanup.js +0 -30
- package/dist/lib/dev/databases/mongodb/availableQueryParameters.js +0 -42
- package/dist/lib/dev/databases/mongodb/buildConnectionString.js +0 -22
- package/dist/lib/dev/databases/mongodb/buildQueryParameters.js +0 -14
- package/dist/lib/dev/databases/mongodb/checkConnection.js +0 -38
- package/dist/lib/dev/databases/mongodb/connect.js +0 -25
- package/dist/lib/dev/databases/mongodb/index.js +0 -93
- package/dist/lib/dev/databases/postgresql/checkConnection.js +0 -41
- package/dist/lib/dev/databases/postgresql/connect.js +0 -27
- package/dist/lib/dev/databases/postgresql/index.js +0 -106
- package/dist/lib/dev/databases/providerMap.js +0 -15
- package/dist/lib/dev/getCodependenciesForFile.js +0 -64
- package/dist/lib/dev/getFilesToBuild.js +0 -38
- package/dist/lib/dev/index.js +0 -452
- package/dist/lib/dev/isWindows.js +0 -5
- package/dist/lib/dev/loadSettings.js +0 -79
- package/dist/lib/dev/readFileDependencyMap.js +0 -16
- package/dist/lib/dev/requiredFiles.js +0 -18
- package/dist/lib/dev/runBuild.js +0 -30
- package/dist/lib/dev/runTests.js +0 -30
- package/dist/lib/dev/startApp.js +0 -70
- package/dist/lib/dev/startDatabases.js +0 -109
- package/dist/lib/dev/startHMR.js +0 -55
- package/dist/lib/dev/updateFileMap.js +0 -67
- package/dist/lib/dev/validateProject.js +0 -0
- package/dist/lib/dev/watchlist.js +0 -15
- package/dist/lib/filesToCopy.js +0 -18
- package/dist/lib/generateId.js +0 -74
- package/dist/lib/getArgs.js +0 -14
- package/dist/lib/getOptions.js +0 -15
- package/dist/lib/getPlatformSafePath.js +0 -7
- package/dist/lib/getProcessIdFromPort.js +0 -60
- package/dist/lib/getProvider.js +0 -8
- package/dist/lib/help.js +0 -56
- package/dist/lib/isObject.js +0 -6
- package/dist/lib/isValidJSONString.js +0 -11
- package/dist/lib/isWindows.js +0 -5
- package/dist/lib/killProcesses.js +0 -0
- package/dist/lib/loadSettings.js +0 -33
- package/dist/lib/masterIgnoreList.js +0 -16
- package/dist/lib/nodeEnvironment.js +0 -9
- package/dist/lib/nodeEnvironments.js +0 -8
- package/dist/lib/parseCookiesFromLogin.js +0 -18
- package/dist/lib/rainbowRoad.js +0 -7
- package/dist/lib/readDirectorySync.js +0 -14
- package/dist/lib/regexes.js +0 -14
- package/dist/lib/replaceBackslashesWithForwardSlashes.js +0 -8
- package/dist/lib/replaceFileProtocol.js +0 -8
- package/dist/lib/serializeQueryParameters.js +0 -8
- package/dist/lib/settings.js +0 -4
- package/dist/lib/validateDatabasesFromSettings.js +0 -34
- package/dist/lib/wait.js +0 -8
- package/release.js +0 -40
- package/src/functions/build/getTarIgnoreList.js +0 -30
- package/src/functions/build/index.js +0 -63
- package/src/functions/create/buildPackageJSON.js +0 -18
- package/src/functions/create/index.js +0 -209
- package/src/functions/create/templates/api/index.js +0 -4
- package/src/functions/create/templates/i18n/en-US.js +0 -4
- package/src/functions/create/templates/index.client.js +0 -7
- package/src/functions/create/templates/index.css +0 -20
- package/src/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
- package/src/functions/create/templates/public/favicon.ico +0 -0
- package/src/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
- package/src/functions/create/templates/ui/pages/error/index.js +0 -31
- package/src/functions/create/templates/ui/pages/index/index.js +0 -94
- package/src/functions/index.js +0 -243
- package/src/functions/logout/index.js +0 -20
- package/src/functions/push/checkIfProvisionAvailable.js +0 -20
- package/src/functions/push/deploy/index.js +0 -199
- package/src/functions/push/deploy/initial.js +0 -108
- package/src/functions/push/deploy/version.js +0 -108
- package/src/functions/push/domains.js +0 -23
- package/src/functions/push/getAvailableCDN.js +0 -27
- package/src/functions/push/getDeployment.js +0 -43
- package/src/functions/push/getDeploymentSummary.js +0 -39
- package/src/functions/push/getInstanceSizeRegions.js +0 -40
- package/src/functions/push/getInstanceSizesForRegion.js +0 -35
- package/src/functions/push/getProviderInstanceSizes.js +0 -35
- package/src/functions/push/getProviderRegions.js +0 -39
- package/src/functions/push/getProvidersWithConnectionStatus.js +0 -25
- package/src/functions/push/getSessionToken.js +0 -26
- package/src/functions/push/getUserFromSessionToken.js +0 -39
- package/src/functions/push/index.js +0 -245
- package/src/functions/push/loginToCheatCode.js +0 -34
- package/src/functions/push/pingProvisionAPI.js +0 -33
- package/src/functions/push/prompts.js +0 -276
- package/src/functions/push/providerMap.js +0 -8
- package/src/functions/push/providers.js +0 -6
- package/src/functions/reset/index.js +0 -0
- package/src/functions/reset/reset.js +0 -163
- package/src/functions/start/bootstrapLayoutComponent.js +0 -57
- package/src/functions/start/bootstrapPageComponent.js +0 -54
- package/src/functions/start/buildFile.js +0 -97
- package/src/functions/start/buildFiles.js +0 -101
- package/src/functions/start/buildPlugins.js +0 -215
- package/src/functions/start/checkIfPortAvailable.js +0 -21
- package/src/functions/start/cleanup/index.js +0 -23
- package/src/functions/start/databases/mongodb/availableQueryParameters.js +0 -39
- package/src/functions/start/databases/mongodb/buildConnectionString.js +0 -28
- package/src/functions/start/databases/mongodb/buildQueryParameters.js +0 -15
- package/src/functions/start/databases/mongodb/checkConnection.js +0 -36
- package/src/functions/start/databases/mongodb/connect.js +0 -25
- package/src/functions/start/databases/mongodb/index.js +0 -108
- package/src/functions/start/databases/postgresql/checkConnection.js +0 -43
- package/src/functions/start/databases/postgresql/connect.js +0 -27
- package/src/functions/start/databases/postgresql/index.js +0 -127
- package/src/functions/start/databases/redis.js +0 -0
- package/src/functions/start/databases/startProvider.js +0 -15
- package/src/functions/start/fileDependencyMapper.js +0 -24
- package/src/functions/start/generateId.js +0 -73
- package/src/functions/start/getCodependenciesForFile.js +0 -84
- package/src/functions/start/getFilesToBuild.js +0 -49
- package/src/functions/start/getProcessIdFromPort.js +0 -92
- package/src/functions/start/hmrServer.js +0 -78
- package/src/functions/start/index.js +0 -701
- package/src/functions/start/isWindows.js +0 -3
- package/src/functions/start/minifyFile.js +0 -10
- package/src/functions/start/onWarn.js +0 -68
- package/src/functions/start/readFileDependencyMap.js +0 -19
- package/src/functions/start/removeDeletedDependenciesFromMap.js +0 -19
- package/src/functions/start/setComponentId.js +0 -58
- package/src/functions/start/updateFileMap.js +0 -100
- package/src/functions/test/index.js +0 -34
- package/src/functions/update/index.js +0 -20
- package/src/functions/use/index.js +0 -62
- package/src/lib/build/browserPathExclusions.js +0 -5
- package/src/lib/build/browserPaths.js +0 -9
- package/src/lib/build/buildFile.js +0 -91
- package/src/lib/build/buildFiles.js +0 -270
- package/src/lib/build/buildPlugins.js +0 -222
- package/src/lib/build/getCodeFrame.js +0 -7
- package/src/lib/build/minifyFile.js +0 -10
- package/src/lib/build/nodePathExclusions.js +0 -5
- package/src/lib/build/nodePaths.js +0 -9
- package/src/lib/build/onWarn.js +0 -68
- package/src/lib/build/removeDeletedDependenciesFromMap.js +0 -19
- package/src/lib/build/setComponentId.js +0 -58
- package/src/lib/build/updateFileMap.js +0 -100
- package/src/lib/buildResolvePlugin.js +0 -32
- package/src/lib/checkIfValidJSON.js +0 -8
- package/src/lib/colorLog.js +0 -5
- package/src/lib/dev/cleanup.js +0 -34
- package/src/lib/dev/databases/mongodb/buildConnectionString.js +0 -28
- package/src/lib/dev/databases/mongodb/buildQueryParameters.js +0 -15
- package/src/lib/dev/databases/mongodb/checkConnection.js +0 -40
- package/src/lib/dev/databases/mongodb/connect.js +0 -25
- package/src/lib/dev/databases/mongodb/index.js +0 -108
- package/src/lib/dev/databases/postgresql/checkConnection.js +0 -43
- package/src/lib/dev/databases/postgresql/connect.js +0 -27
- package/src/lib/dev/databases/postgresql/index.js +0 -127
- package/src/lib/dev/databases/providerMap.js +0 -13
- package/src/lib/dev/getCodependenciesForFile.js +0 -84
- package/src/lib/dev/getFilesToBuild.js +0 -47
- package/src/lib/dev/index.js +0 -560
- package/src/lib/dev/isWindows.js +0 -3
- package/src/lib/dev/loadSettings.js +0 -90
- package/src/lib/dev/readFileDependencyMap.js +0 -19
- package/src/lib/dev/runBuild.js +0 -33
- package/src/lib/dev/runTests.js +0 -33
- package/src/lib/dev/startApp.js +0 -79
- package/src/lib/dev/startDatabases.js +0 -131
- package/src/lib/dev/startHMR.js +0 -62
- package/src/lib/dev/updateFileMap.js +0 -100
- package/src/lib/dev/validateProject.js +0 -0
- package/src/lib/dev/watchlist.js +0 -13
- package/src/lib/filesToCopy.js +0 -15
- package/src/lib/generateId.js +0 -73
- package/src/lib/getArgs.js +0 -14
- package/src/lib/getOptions.js +0 -12
- package/src/lib/getProcessIdFromPort.js +0 -92
- package/src/lib/getProvider.js +0 -5
- package/src/lib/help.js +0 -56
- package/src/lib/isObject.js +0 -3
- package/src/lib/isValidJSONString.js +0 -8
- package/src/lib/killProcesses.js +0 -5
- package/src/lib/loadSettings.js +0 -40
- package/src/lib/masterIgnoreList.js +0 -13
- package/src/lib/nodeEnvironment.js +0 -6
- package/src/lib/nodeEnvironments.js +0 -8
- package/src/lib/parseCookiesFromLogin.js +0 -21
- package/src/lib/readDirectorySync.js +0 -13
- package/src/lib/regexes.js +0 -7
- package/src/lib/replaceBackslashesWithForwardSlashes.js +0 -8
- package/src/lib/replaceFileProtocol.js +0 -8
- package/src/lib/serializeQueryParameters.js +0 -5
- package/src/lib/settings.js +0 -1
- package/src/lib/validateDatabasesFromSettings.js +0 -37
- package/src/lib/wait.js +0 -5
- package/storage/.verdaccio-db.json +0 -1
- /package/{src/lib → .build}/getPlatformSafePath.js +0 -0
- /package/{src/lib → .build}/isWindows.js +0 -0
- /package/dist/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
- /package/dist/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
- /package/src/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
- /package/src/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import inquirer from "inquirer";
|
|
3
|
-
import chalk from "chalk";
|
|
4
|
-
import CLILog from "../../lib/CLILog.js";
|
|
5
|
-
import prompts from "./prompts.js";
|
|
6
|
-
import getDeployment from "../../lib/getDeployment.js";
|
|
7
|
-
import getDeploymentSummary from "./getDeploymentSummary.js";
|
|
8
|
-
import providerMap from "./providerMap.js";
|
|
9
|
-
import Loader from "../../lib/loader.js";
|
|
10
|
-
import getSessionToken from "./getSessionToken.js";
|
|
11
|
-
import getUserFromSessionToken from "./getUserFromSessionToken.js";
|
|
12
|
-
import colorLog from "../../lib/colorLog.js";
|
|
13
|
-
import checkIfProvisionAvailable from "./checkIfProvisionAvailable.js ";
|
|
14
|
-
import deploy from './deploy/index.js';
|
|
15
|
-
|
|
16
|
-
const warnUnfeasibleDeployment = (deploymentToInitialize = {}, deploymentSummary = {}) => {
|
|
17
|
-
try {
|
|
18
|
-
const totalInstancesRequested =
|
|
19
|
-
deploymentToInitialize?.loadBalancerInstances +
|
|
20
|
-
deploymentToInitialize?.appInstances;
|
|
21
|
-
const deploymentFeasible =
|
|
22
|
-
totalInstancesRequested <= deploymentSummary?.limits?.available;
|
|
23
|
-
|
|
24
|
-
if (!deploymentFeasible) {
|
|
25
|
-
CLILog(
|
|
26
|
-
`${chalk.yellowBright(
|
|
27
|
-
`Cannot push with this configuration as it would exceed the instance limits set by your selected provider (${
|
|
28
|
-
providerMap[deploymentToInitialize?.provider]
|
|
29
|
-
}).`
|
|
30
|
-
)} Your account there is limited to ${
|
|
31
|
-
deploymentSummary?.limits?.account
|
|
32
|
-
} instances (currently using ${
|
|
33
|
-
deploymentSummary?.limits?.existing
|
|
34
|
-
}).\n\n You requested ${totalInstancesRequested} instances which would go over your account limit. Please adjust your configuration (or request an increase from your provider) and try again.`,
|
|
35
|
-
{
|
|
36
|
-
padding: " ",
|
|
37
|
-
level: "danger",
|
|
38
|
-
docs: "https://cheatcode.co/docs/push/provider-limits",
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
process.exit(0);
|
|
42
|
-
}
|
|
43
|
-
} catch (exception) {
|
|
44
|
-
throw new Error(`[actionName.warnUnfeasibleDeployment] ${exception.message}`);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
const getDeploymentToInitialize = async (user, loginSessionToken) => {
|
|
49
|
-
try {
|
|
50
|
-
const deploymentToInitialize = await inquirer.prompt(
|
|
51
|
-
prompts.initialDeployment(user, loginSessionToken)
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
return {
|
|
55
|
-
...deploymentToInitialize,
|
|
56
|
-
loadBalancerInstances: deploymentToInitialize?.loadBalancerInstances || 1,
|
|
57
|
-
appInstances: deploymentToInitialize?.appInstances || 2,
|
|
58
|
-
};
|
|
59
|
-
} catch (exception) {
|
|
60
|
-
throw new Error(`[actionName.getDeploymentToInitialize] ${exception.message}`);
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
const handleDeployment = async ({
|
|
65
|
-
isInitialDeployment = false,
|
|
66
|
-
loginSessionToken = "",
|
|
67
|
-
domain = "",
|
|
68
|
-
deployment = {},
|
|
69
|
-
user = {},
|
|
70
|
-
environment = "production",
|
|
71
|
-
server = 'production',
|
|
72
|
-
}) => {
|
|
73
|
-
try {
|
|
74
|
-
let confirmation = null; // NOTE: Do this here because of the guard below to check if we're running an initial deployment.
|
|
75
|
-
let deploymentToInitialize = null;
|
|
76
|
-
|
|
77
|
-
if (isInitialDeployment) {
|
|
78
|
-
const loader = new Loader({ padding: " ", defaultMessage: "" });
|
|
79
|
-
deploymentToInitialize = await getDeploymentToInitialize(user, loginSessionToken);
|
|
80
|
-
|
|
81
|
-
await checkIfProvisionAvailable();
|
|
82
|
-
|
|
83
|
-
console.log("\n");
|
|
84
|
-
loader.text("Building deployment summary...");
|
|
85
|
-
|
|
86
|
-
const deploymentSummary = await getDeploymentSummary(
|
|
87
|
-
deploymentToInitialize,
|
|
88
|
-
loginSessionToken,
|
|
89
|
-
domain
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
loader.stop();
|
|
93
|
-
|
|
94
|
-
warnUnfeasibleDeployment(deploymentToInitialize, deploymentSummary);
|
|
95
|
-
|
|
96
|
-
const response = await inquirer.prompt(
|
|
97
|
-
prompts.confirmInitialDeployment(
|
|
98
|
-
deploymentToInitialize,
|
|
99
|
-
deploymentSummary?.costs
|
|
100
|
-
)
|
|
101
|
-
);
|
|
102
|
-
|
|
103
|
-
confirmation = response.confirmation;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
if (!confirmation) {
|
|
107
|
-
process.exit();
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
await deploy({
|
|
111
|
-
environment,
|
|
112
|
-
loginSessionToken,
|
|
113
|
-
isInitialDeployment,
|
|
114
|
-
deployment: {
|
|
115
|
-
_id: deployment?._id,
|
|
116
|
-
environment: deployment?.environment,
|
|
117
|
-
domain,
|
|
118
|
-
...(deploymentToInitialize || {}),
|
|
119
|
-
},
|
|
120
|
-
server,
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
return Promise.resolve();
|
|
124
|
-
} catch (exception) {
|
|
125
|
-
throw new Error(`[push.handleDeployment] ${exception.message}`);
|
|
126
|
-
}
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
const getDomain = async (domainFromOptions = '') => {
|
|
130
|
-
try {
|
|
131
|
-
let domain = domainFromOptions;
|
|
132
|
-
|
|
133
|
-
if (!domain) {
|
|
134
|
-
domain = await inquirer
|
|
135
|
-
.prompt(prompts.domain())
|
|
136
|
-
.then((answers) => answers?.domain);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return domain;
|
|
140
|
-
} catch (exception) {
|
|
141
|
-
throw new Error(`[push.getDomain] ${exception.message}`);
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
const onboardingWarning = (user = null) => {
|
|
146
|
-
try {
|
|
147
|
-
if (!user?.onboarding?.complete && user?.onboarding?.step < 4) {
|
|
148
|
-
console.log(
|
|
149
|
-
chalk.yellowBright(
|
|
150
|
-
`\nPlease visit push.cheatcode.co to finish setting up your account before deploying.\n`
|
|
151
|
-
)
|
|
152
|
-
);
|
|
153
|
-
process.exit(0);
|
|
154
|
-
}
|
|
155
|
-
} catch (exception) {
|
|
156
|
-
throw new Error(`[push.onboardingWarning] ${exception.message}`);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
const noUserWarning = (user = null) => {
|
|
161
|
-
try {
|
|
162
|
-
if (!user) {
|
|
163
|
-
console.log(
|
|
164
|
-
chalk.redBright(
|
|
165
|
-
`\nUser not found. Please try again. If this is a mistake, please contact push@cheatcode.co for assistance.\n`
|
|
166
|
-
)
|
|
167
|
-
);
|
|
168
|
-
|
|
169
|
-
process.exit();
|
|
170
|
-
}
|
|
171
|
-
} catch (exception) {
|
|
172
|
-
throw new Error(`[push.noUserWarning] ${exception.message}`);
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
const getUser = async (loginSessionToken = '') => {
|
|
177
|
-
try {
|
|
178
|
-
const user = await getUserFromSessionToken(loginSessionToken);
|
|
179
|
-
|
|
180
|
-
if (user) {
|
|
181
|
-
colorLog(`\n✔ Logged in as ${user?.emailAddress}\n`, "greenBright");
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
return user;
|
|
185
|
-
} catch (exception) {
|
|
186
|
-
throw new Error(`[push.getUser] ${exception.message}`);
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
const checkForJoystickFolder = () => {
|
|
191
|
-
try {
|
|
192
|
-
const hasJoystickFolder = fs.existsSync(".joystick");
|
|
193
|
-
|
|
194
|
-
if (!hasJoystickFolder) {
|
|
195
|
-
CLILog(
|
|
196
|
-
"This is not a Joystick project. A .joystick folder could not be found.",
|
|
197
|
-
{
|
|
198
|
-
level: "danger",
|
|
199
|
-
docs: "https://github.com/cheatcode/joystick",
|
|
200
|
-
}
|
|
201
|
-
);
|
|
202
|
-
|
|
203
|
-
process.exit(0);
|
|
204
|
-
}
|
|
205
|
-
} catch (exception) {
|
|
206
|
-
throw new Error(`[push.checkForJoystickFolder] ${exception.message}`);
|
|
207
|
-
}
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
export default async (args = {}, options = {}) => {
|
|
211
|
-
try {
|
|
212
|
-
checkForJoystickFolder();
|
|
213
|
-
await checkIfProvisionAvailable();
|
|
214
|
-
|
|
215
|
-
const loginSessionToken = await getSessionToken();
|
|
216
|
-
const user = await getUser(loginSessionToken);
|
|
217
|
-
|
|
218
|
-
noUserWarning(user);
|
|
219
|
-
onboardingWarning(user);
|
|
220
|
-
|
|
221
|
-
const domain = await getDomain(options?.domain);
|
|
222
|
-
await checkIfProvisionAvailable();
|
|
223
|
-
|
|
224
|
-
const deployment = await getDeployment({
|
|
225
|
-
domain,
|
|
226
|
-
loginSessionToken,
|
|
227
|
-
environment: options?.environment,
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
await handleDeployment({
|
|
231
|
-
isInitialDeployment: deployment?.status === "undeployed",
|
|
232
|
-
loginSessionToken,
|
|
233
|
-
domain,
|
|
234
|
-
deployment,
|
|
235
|
-
user,
|
|
236
|
-
environment: options?.environment || "production",
|
|
237
|
-
server: options?.server,
|
|
238
|
-
});
|
|
239
|
-
|
|
240
|
-
return Promise.resolve();
|
|
241
|
-
} catch (exception) {
|
|
242
|
-
console.warn(exception);
|
|
243
|
-
throw new Error(`[push] ${exception.message}`);
|
|
244
|
-
}
|
|
245
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import fetch from 'node-fetch';
|
|
2
|
-
import checkIfValidJSON from './checkIfValidJSON.js';
|
|
3
|
-
import CLILog from './CLILog.js';
|
|
4
|
-
import domains from './domains.js';
|
|
5
|
-
|
|
6
|
-
export default (emailAddress = '', password = '') => {
|
|
7
|
-
return fetch(`${domains.provision}/api/cli/login`, {
|
|
8
|
-
method: 'POST',
|
|
9
|
-
headers: {
|
|
10
|
-
'content-type': 'application/json',
|
|
11
|
-
},
|
|
12
|
-
body: JSON.stringify({
|
|
13
|
-
emailAddress,
|
|
14
|
-
password,
|
|
15
|
-
})
|
|
16
|
-
}).then(async (response) => {
|
|
17
|
-
const text = await response.text();
|
|
18
|
-
const data = checkIfValidJSON(text);
|
|
19
|
-
|
|
20
|
-
if (data?.error) {
|
|
21
|
-
CLILog(
|
|
22
|
-
data?.error?.message,
|
|
23
|
-
{
|
|
24
|
-
level: 'danger',
|
|
25
|
-
docs: 'https://cheatcode.co/docs/push/authentication'
|
|
26
|
-
}
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
process.exit(0);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return data?.data?.token;
|
|
33
|
-
});
|
|
34
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import fetch from 'node-fetch';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import domains from "./domains.js";
|
|
4
|
-
import CLILog from "../../lib/CLILog.js";
|
|
5
|
-
import checkIfValidJSON from '../../lib/checkIfValidJSON.js';
|
|
6
|
-
|
|
7
|
-
export default (provider = '', loginSessionToken = '') => {
|
|
8
|
-
const url = new URL(`${domains.provision}/api/cli/ping`);
|
|
9
|
-
return fetch(url, { method: 'GET' }).then(async (response) => {
|
|
10
|
-
const text = await response.text();
|
|
11
|
-
const data = checkIfValidJSON(text);
|
|
12
|
-
|
|
13
|
-
console.log('PING', data);
|
|
14
|
-
|
|
15
|
-
if (data?.error) {
|
|
16
|
-
CLILog(
|
|
17
|
-
data.error?.message,
|
|
18
|
-
{
|
|
19
|
-
level: 'danger',
|
|
20
|
-
docs: 'https://cheatcode.co/docs/push/deployment-tokens'
|
|
21
|
-
}
|
|
22
|
-
);
|
|
23
|
-
|
|
24
|
-
process.exit(0);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return data?.data?.ping;
|
|
28
|
-
}).catch((error) => {
|
|
29
|
-
if (!error?.message?.includes('ECONNREFUSED')) {
|
|
30
|
-
console.warn(error);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
};
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import AsciiTable from 'ascii-table';
|
|
3
|
-
import currencyFormatter from 'currency-formatter';
|
|
4
|
-
import getProvidersWithConnectionStatus from '../../lib/getProvidersWithConnectionStatus.js';
|
|
5
|
-
import loginToCheatCode from './loginToCheatCode.js';
|
|
6
|
-
import domains from './domains.js';
|
|
7
|
-
import getProvider from '../../lib/getProvider.js';
|
|
8
|
-
import getProviderInstanceSizes from './getProviderInstanceSizes.js';
|
|
9
|
-
import getInstanceSizeRegions from './getInstanceSizeRegions.js';
|
|
10
|
-
import providers from '../../lib/providers.js';
|
|
11
|
-
import getProviderRegions from './getProviderRegions.js';
|
|
12
|
-
import getInstanceSizesForRegion from './getInstanceSizesForRegion.js';
|
|
13
|
-
import checkIfProvisionAvailable from './checkIfProvisionAvailable.js';
|
|
14
|
-
|
|
15
|
-
const table = new AsciiTable();
|
|
16
|
-
|
|
17
|
-
export default {
|
|
18
|
-
login: () => [
|
|
19
|
-
{
|
|
20
|
-
name: 'loginType',
|
|
21
|
-
type: 'list',
|
|
22
|
-
prefix: '',
|
|
23
|
-
message: `\n ${chalk.greenBright('>')} How do you want to login?\n`,
|
|
24
|
-
choices: [
|
|
25
|
-
{ name: `Email`, value: 'email' },
|
|
26
|
-
{ name: `Github`, value: 'oauth' },
|
|
27
|
-
{ name: `Bitbucket`, value: 'oauth' },
|
|
28
|
-
{ name: `Gitlab`, value: 'oauth' },
|
|
29
|
-
],
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
name: 'emailAddress',
|
|
33
|
-
type: 'text',
|
|
34
|
-
prefix: '',
|
|
35
|
-
when: (answers = {}) => {
|
|
36
|
-
return answers?.loginType === 'email';
|
|
37
|
-
},
|
|
38
|
-
message: `\n ${chalk.greenBright('>')} What is your Email Address?\n`,
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
name: 'password',
|
|
42
|
-
type: 'text',
|
|
43
|
-
prefix: '',
|
|
44
|
-
when: (answers = {}) => {
|
|
45
|
-
return answers?.loginType === 'email' && !!answers?.emailAddress;
|
|
46
|
-
},
|
|
47
|
-
message: `\n ${chalk.greenBright('>')} What is your Password?\n`,
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: 'oauth',
|
|
51
|
-
type: 'text',
|
|
52
|
-
prefix: `\n\n ${chalk.yellowBright('Visit http://localhost:2600/login?cli=true in your browser to login and then copy/paste the value displayed below:')}\n`,
|
|
53
|
-
when: (answers = {}) => {
|
|
54
|
-
return answers?.loginType === 'oauth';
|
|
55
|
-
},
|
|
56
|
-
message: `\n ${chalk.greenBright('>')} Paste the token displayed at the URL above:\n`,
|
|
57
|
-
},
|
|
58
|
-
],
|
|
59
|
-
token: () => [
|
|
60
|
-
{
|
|
61
|
-
name: 'token',
|
|
62
|
-
type: 'text',
|
|
63
|
-
prefix: '',
|
|
64
|
-
message: `\n ${chalk.greenBright('>')} What is your Deployment Token?\n`,
|
|
65
|
-
suffix: `\n ${chalk.yellowBright(`What does this mean?`)}\n Deployment Tokens identify the Deploy account where your deployment will live.\n\n ${chalk.yellowBright(`Documentation:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/tokens')}\n\n`,
|
|
66
|
-
},
|
|
67
|
-
],
|
|
68
|
-
domain: () => [
|
|
69
|
-
{
|
|
70
|
-
name: 'domain',
|
|
71
|
-
type: 'text',
|
|
72
|
-
prefix: '',
|
|
73
|
-
message: `\n ${chalk.greenBright('>')} What is your domain name?`,
|
|
74
|
-
suffix: ' (e.g., app.myapp.com)',
|
|
75
|
-
}
|
|
76
|
-
],
|
|
77
|
-
initialDeployment: (user = {}, loginSessionToken = '') => {
|
|
78
|
-
const providers = getProvidersWithConnectionStatus(user);
|
|
79
|
-
return [
|
|
80
|
-
{
|
|
81
|
-
name: 'provider',
|
|
82
|
-
type: 'list',
|
|
83
|
-
prefix: '',
|
|
84
|
-
message: `\n ${chalk.greenBright('>')} Where do you want to host the initial deployment?`,
|
|
85
|
-
loop: false,
|
|
86
|
-
suffix: `
|
|
87
|
-
\n ${chalk.yellowBright(`What does this mean?`)}\n Select the hosting provider where your deployment's load balancers and app instances will be created.\n This can be scaled to include additional providers later.\n\n ${chalk.yellowBright(`Documentation:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/hosting-providers')}
|
|
88
|
-
\n`,
|
|
89
|
-
choices: providers.map((provider) => {
|
|
90
|
-
return {
|
|
91
|
-
...provider,
|
|
92
|
-
name: `${provider?.name} ${chalk[provider?.connectedAs.includes('Not') ? 'gray' : 'greenBright'](`(${provider?.connectedAs})`)}`,
|
|
93
|
-
};
|
|
94
|
-
}),
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
name: 'providerLoginPrompt',
|
|
98
|
-
type: 'text',
|
|
99
|
-
prefix: '\n\n',
|
|
100
|
-
suffix: '\n',
|
|
101
|
-
when: (answers = {}) => {
|
|
102
|
-
const provider = getProvider(providers, answers?.provider);
|
|
103
|
-
return provider && provider.connectedAs?.includes('Not');
|
|
104
|
-
},
|
|
105
|
-
message: (answers = {}) => {
|
|
106
|
-
const provider = getProvider(providers, answers?.provider);
|
|
107
|
-
return `\n
|
|
108
|
-
${chalk.yellowBright(`Please visit the URL below in your browser to connect your ${provider?.name} account:\n
|
|
109
|
-
${chalk.greenBright(`${domains?.site}/api/oauth/${answers?.provider}/connect?target=cli`)}`)}\n
|
|
110
|
-
After you've connected your account, head back here and press the Enter/Return key to continue.
|
|
111
|
-
`
|
|
112
|
-
},
|
|
113
|
-
validate: async (input = '', answers = {}) => {
|
|
114
|
-
// NOTE: Fetch user again to verify that the requested provider was connected.
|
|
115
|
-
const userLogin = await loginToCheatCode();
|
|
116
|
-
const connection = userLogin?.user[answers?.provider];
|
|
117
|
-
const provider = getProvider(providers, answers?.provider);
|
|
118
|
-
|
|
119
|
-
if (connection) {
|
|
120
|
-
return true;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return `${provider?.name} not connected. Please visit the URL above to connect your account to CheatCode.`;
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
name: 'loadBalancerInstances',
|
|
128
|
-
default: 1,
|
|
129
|
-
type: 'number',
|
|
130
|
-
prefix: '',
|
|
131
|
-
message: `\n ${chalk.greenBright('>')} How many load balancer instances do you want to start with?`,
|
|
132
|
-
suffix: ` -- (press enter to use recommendation of 1)`,
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
name: 'appInstances',
|
|
136
|
-
type: 'number',
|
|
137
|
-
default: 2,
|
|
138
|
-
prefix: '',
|
|
139
|
-
message: `\n ${chalk.greenBright('>')} How many app instances do you want to start with?`,
|
|
140
|
-
suffix: ` -- (press enter to use recommendation of 2)`,
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
name: 'loadBalancer_region',
|
|
144
|
-
type: 'list',
|
|
145
|
-
prefix: '',
|
|
146
|
-
message: `\n ${chalk.greenBright('>')} Select a Region for Your Load Balancer Instances`,
|
|
147
|
-
suffix: `
|
|
148
|
-
\n ${chalk.yellowBright(`What is this?`)}\n The location of the data center where your load balancer instances will live. The continent where your choosen region is located will determine the regions available for your app instances. \n\n ${chalk.yellowBright(`Recommendations:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/scaling#regions')}
|
|
149
|
-
\n`,
|
|
150
|
-
loop: false,
|
|
151
|
-
choices: async (answers = {}) => {
|
|
152
|
-
await checkIfProvisionAvailable();
|
|
153
|
-
const regions = await getProviderRegions(
|
|
154
|
-
answers?.provider,
|
|
155
|
-
loginSessionToken,
|
|
156
|
-
);
|
|
157
|
-
|
|
158
|
-
return (regions || []).map((region) => {
|
|
159
|
-
return {
|
|
160
|
-
name: `${chalk.blue(`[${region?.id}]`)} -- ${region?.name} ${chalk.magentaBright(`(${region?.continent?.name})`)}`,
|
|
161
|
-
value: region?.id,
|
|
162
|
-
};
|
|
163
|
-
});
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
name: 'loadBalancer_size',
|
|
168
|
-
type: 'list',
|
|
169
|
-
prefix: '',
|
|
170
|
-
message: `\n ${chalk.greenBright('>')} Select a Size for Your Load Balancer Instances`,
|
|
171
|
-
suffix: `
|
|
172
|
-
\n ${chalk.yellowBright(`What is this?`)}\n Load balancers distribute inbound internet traffic to your app instances. \n\n ${chalk.yellowBright(`Recommendations:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/scaling#load-balancer-instances')}
|
|
173
|
-
\n`,
|
|
174
|
-
loop: false,
|
|
175
|
-
choices: async (answers = {}) => {
|
|
176
|
-
await checkIfProvisionAvailable();
|
|
177
|
-
const sizes = await getInstanceSizesForRegion(answers?.provider, answers?.loadBalancer_region, loginSessionToken);
|
|
178
|
-
return (sizes || []).map((size) => {
|
|
179
|
-
return {
|
|
180
|
-
name: `${chalk.blue(`[${size?.name}]`)} -- ${chalk.white(`${size?.vcpus} ${size?.vcpus > 1 ? 'VCPUs' : 'VCPU'} + ${size?.memory / 1024}GB RAM + ${size?.disk > 1000 ? `${size?.disk / 1000}TB` : `${size?.disk}GB`} Disk`)} ${chalk.gray('=')} $${chalk.greenBright(`${size?.pricePerMonth}/mo`)}`,
|
|
181
|
-
value: size?.id,
|
|
182
|
-
};
|
|
183
|
-
});
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
name: 'app_region',
|
|
188
|
-
type: 'list',
|
|
189
|
-
prefix: '',
|
|
190
|
-
message: `\n ${chalk.greenBright('>')} Select a Region for Your App Instances`,
|
|
191
|
-
suffix: `
|
|
192
|
-
\n ${chalk.yellowBright(`What is this?`)}\n The location of the data center where your app instances will live. \n\n ${chalk.yellowBright(`Recommendations:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/scaling#regions')}
|
|
193
|
-
\n`,
|
|
194
|
-
loop: false,
|
|
195
|
-
choices: async (answers = {}) => {
|
|
196
|
-
await checkIfProvisionAvailable();
|
|
197
|
-
const regions = await getProviderRegions(
|
|
198
|
-
answers?.provider,
|
|
199
|
-
loginSessionToken,
|
|
200
|
-
);
|
|
201
|
-
|
|
202
|
-
return (regions || []).map((region) => {
|
|
203
|
-
return {
|
|
204
|
-
name: `${chalk.blue(`[${region?.id}]`)} -- ${region?.name} ${chalk.magentaBright(`(${region?.continent?.name})`)}`,
|
|
205
|
-
value: region?.id,
|
|
206
|
-
};
|
|
207
|
-
});
|
|
208
|
-
},
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
name: 'app_size',
|
|
212
|
-
type: 'list',
|
|
213
|
-
prefix: '',
|
|
214
|
-
message: `\n ${chalk.greenBright('>')} Select a Size for Your App Instances`,
|
|
215
|
-
suffix: `
|
|
216
|
-
\n ${chalk.yellowBright(`What is this?`)}\n App instances are running copies of your app. \n\n ${chalk.yellowBright(`Recommendations:`)}\n ${chalk.blue('https://cheatcode.co/docs/push/scaling#app-instances')}
|
|
217
|
-
\n`,
|
|
218
|
-
loop: false,
|
|
219
|
-
choices: async (answers = {}) => {
|
|
220
|
-
await checkIfProvisionAvailable();
|
|
221
|
-
const sizes = await getInstanceSizesForRegion(answers?.provider, answers?.app_region, loginSessionToken);
|
|
222
|
-
return (sizes || []).map((size) => {
|
|
223
|
-
return {
|
|
224
|
-
name: `${chalk.blue(`[${size?.name}]`)} -- ${chalk.white(`${size?.vcpus} ${size?.vcpus > 1 ? 'VCPUs' : 'VCPU'} + ${size?.memory / 1024}GB RAM + ${size?.disk > 1000 ? `${size?.disk / 1000}TB` : `${size?.disk}GB`} Disk`)} ${chalk.gray('=')} $${chalk.greenBright(`${size?.pricePerMonth}/mo`)}`,
|
|
225
|
-
value: size?.id,
|
|
226
|
-
};
|
|
227
|
-
});
|
|
228
|
-
},
|
|
229
|
-
},
|
|
230
|
-
];
|
|
231
|
-
},
|
|
232
|
-
confirmInitialDeployment: (answers = {}, costs = []) => {
|
|
233
|
-
const provider = providers?.find(({ value }) => value === answers?.provider);
|
|
234
|
-
const loadBalancerCosts = costs?.find(({ type }) => type === 'loadBalancers');
|
|
235
|
-
const instanceCosts = costs?.find(({ type }) => type === 'instances');
|
|
236
|
-
const totalMonthlyCost = [
|
|
237
|
-
...(costs || []),
|
|
238
|
-
{ type: 'objectStorage', monthly: 5, annually: 60 }
|
|
239
|
-
].reduce((total = 0, cost = {}) => {
|
|
240
|
-
total += cost.monthly;
|
|
241
|
-
return total;
|
|
242
|
-
}, 0);
|
|
243
|
-
const totalAnnualCost = [
|
|
244
|
-
...(costs || []),
|
|
245
|
-
{ type: 'objectStorage', monthly: 5, annually: 60 }
|
|
246
|
-
].reduce((total = 0, cost = {}) => {
|
|
247
|
-
total += cost.annually;
|
|
248
|
-
return total;
|
|
249
|
-
}, 0);
|
|
250
|
-
|
|
251
|
-
const isAbnormal = totalMonthlyCost > 100;
|
|
252
|
-
|
|
253
|
-
return [
|
|
254
|
-
{
|
|
255
|
-
name: 'confirmation',
|
|
256
|
-
type: 'confirm',
|
|
257
|
-
prefix: '',
|
|
258
|
-
message: `\n ${chalk.greenBright('>')} Run this deployment?`,
|
|
259
|
-
suffix: `
|
|
260
|
-
\n${table
|
|
261
|
-
.removeBorder()
|
|
262
|
-
.addRow(chalk.blue('Provider'), `${chalk.greenBright(provider?.name)}\n`)
|
|
263
|
-
.addRow(chalk.white('---'), `\n`)
|
|
264
|
-
.addRow(chalk.blue('Load Balancers'), `${chalk.yellowBright(`(${answers?.loadBalancerInstances}x)`)} ${answers?.loadBalancer_size} ${chalk.gray(`[${answers?.loadBalancer_region}]`)} = ${chalk.greenBright(`${currencyFormatter.format(loadBalancerCosts?.monthly, { code: 'USD' })}/mo`)}`)
|
|
265
|
-
.addRow(chalk.blue('App Instances'), `${chalk.yellowBright(`(${answers?.appInstances}x)`)} ${answers?.app_size} ${chalk.gray(`[${answers?.app_region}]`)} = ${chalk.greenBright(`${currencyFormatter.format(instanceCosts?.monthly, { code: 'USD' })}/mo`)}\n`)
|
|
266
|
-
.addRow(chalk.blue('Build Storage'), `${chalk.greenBright(`${currencyFormatter.format(5, { code: 'USD' })}/mo`)}\n`)
|
|
267
|
-
.addRow(chalk.white('---'), `\n`)
|
|
268
|
-
.addRow(chalk.magenta('Est. Total Monthly Cost'), chalk.greenBright(`${currencyFormatter.format(totalMonthlyCost, { code: 'USD' })}/mo`))
|
|
269
|
-
.addRow(chalk.magenta('Est. Total Annual Cost'), chalk.greenBright(`${currencyFormatter.format(totalAnnualCost, { code: 'USD' })}/yr`))
|
|
270
|
-
.toString()}
|
|
271
|
-
${isAbnormal ? `\n\n ${chalk.yellowBright(`!!! >>> These costs are ${chalk.magenta('high')}. Be absolutely ${chalk.magenta('CERTAIN')} you want to run this deployment. <<< !!!`)}
|
|
272
|
-
\n ` : '\n'}`,
|
|
273
|
-
},
|
|
274
|
-
];
|
|
275
|
-
},
|
|
276
|
-
};
|
|
File without changes
|