@joystick.js/cli-canary 0.0.0-canary.172 → 0.0.0-canary.1721
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 +5 -3
- package/LICENSE.md +59 -0
- package/README.md +45 -4
- package/dist/cli.js +2 -76
- package/dist/cli.js.map +7 -0
- package/dist/commands/build/definition.js +2 -0
- package/dist/commands/build/definition.js.map +7 -0
- package/dist/commands/build/index.js +2 -0
- package/dist/commands/build/index.js.map +7 -0
- package/dist/commands/create/build_package_json.js +2 -0
- package/dist/commands/create/build_package_json.js.map +7 -0
- package/dist/commands/create/definition.js +2 -0
- package/dist/commands/create/definition.js.map +7 -0
- package/dist/commands/create/index.js +3 -0
- package/dist/commands/create/index.js.map +7 -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 +2 -0
- package/dist/commands/help/definition.js.map +7 -0
- package/dist/commands/help/index.js +20 -0
- package/dist/commands/help/index.js.map +7 -0
- package/dist/commands/index.js +2 -0
- package/dist/commands/index.js.map +7 -0
- package/dist/commands/logout/definition.js +2 -0
- package/dist/commands/logout/definition.js.map +7 -0
- package/dist/commands/logout/index.js +4 -0
- package/dist/commands/logout/index.js.map +7 -0
- package/dist/commands/push/cdn_mirrors.js +2 -0
- package/dist/commands/push/cdn_mirrors.js.map +7 -0
- package/dist/commands/push/check_if_settings_valid.js +2 -0
- package/dist/commands/push/check_if_settings_valid.js.map +7 -0
- package/dist/commands/push/create_version.js +2 -0
- package/dist/commands/push/create_version.js.map +7 -0
- package/dist/commands/push/definition.js +2 -0
- package/dist/commands/push/definition.js.map +7 -0
- package/dist/commands/push/get_app_domain.js +2 -0
- package/dist/commands/push/get_app_domain.js.map +7 -0
- package/dist/commands/push/get_deployment.js +2 -0
- package/dist/commands/push/get_deployment.js.map +7 -0
- package/dist/commands/push/get_provision_domain.js +2 -0
- package/dist/commands/push/get_provision_domain.js.map +7 -0
- package/dist/commands/push/get_session_token.js +2 -0
- package/dist/commands/push/get_session_token.js.map +7 -0
- package/dist/commands/push/get_settings_file.js +2 -0
- package/dist/commands/push/get_settings_file.js.map +7 -0
- package/dist/commands/push/handle_initial_deployment.js +2 -0
- package/dist/commands/push/handle_initial_deployment.js.map +7 -0
- package/dist/commands/push/handle_version_deployment.js +2 -0
- package/dist/commands/push/handle_version_deployment.js.map +7 -0
- package/dist/commands/push/index.js +9 -0
- package/dist/commands/push/index.js.map +7 -0
- package/dist/commands/push/prompts/confirm_deployment.js +18 -0
- package/dist/commands/push/prompts/confirm_deployment.js.map +7 -0
- package/dist/commands/push/prompts/session_token.js +6 -0
- package/dist/commands/push/prompts/session_token.js.map +7 -0
- package/dist/commands/push/upload_build_to_cdn.js +2 -0
- package/dist/commands/push/upload_build_to_cdn.js.map +7 -0
- package/dist/commands/push/validate_deployment.js +2 -0
- package/dist/commands/push/validate_deployment.js.map +7 -0
- package/dist/commands/push/validate_push_config.js +2 -0
- package/dist/commands/push/validate_push_config.js.map +7 -0
- package/dist/commands/push_v2/Dockerfile +47 -0
- package/dist/commands/push_v2/build_docker_image.js +2 -0
- package/dist/commands/push_v2/build_docker_image.js.map +7 -0
- package/dist/commands/push_v2/cdn_mirrors.js +2 -0
- package/dist/commands/push_v2/cdn_mirrors.js.map +7 -0
- package/dist/commands/push_v2/check_if_settings_valid.js +2 -0
- package/dist/commands/push_v2/check_if_settings_valid.js.map +7 -0
- package/dist/commands/push_v2/create_version.js +2 -0
- package/dist/commands/push_v2/create_version.js.map +7 -0
- package/dist/commands/push_v2/definition.js +2 -0
- package/dist/commands/push_v2/definition.js.map +7 -0
- package/dist/commands/push_v2/get_app_domain.js +2 -0
- package/dist/commands/push_v2/get_app_domain.js.map +7 -0
- package/dist/commands/push_v2/get_deployment.js +2 -0
- package/dist/commands/push_v2/get_deployment.js.map +7 -0
- package/dist/commands/push_v2/get_deployment_token.js +2 -0
- package/dist/commands/push_v2/get_deployment_token.js.map +7 -0
- package/dist/commands/push_v2/get_push_domain.js +2 -0
- package/dist/commands/push_v2/get_push_domain.js.map +7 -0
- package/dist/commands/push_v2/get_settings_file.js +2 -0
- package/dist/commands/push_v2/get_settings_file.js.map +7 -0
- package/dist/commands/push_v2/handle_initial_deployment.js +2 -0
- package/dist/commands/push_v2/handle_initial_deployment.js.map +7 -0
- package/dist/commands/push_v2/handle_version_deployment.js +2 -0
- package/dist/commands/push_v2/handle_version_deployment.js.map +7 -0
- package/dist/commands/push_v2/index.js +6 -0
- package/dist/commands/push_v2/index.js.map +7 -0
- package/dist/commands/push_v2/prompts/confirm_deployment.js +18 -0
- package/dist/commands/push_v2/prompts/confirm_deployment.js.map +7 -0
- package/dist/commands/push_v2/prompts/session_token.js +6 -0
- package/dist/commands/push_v2/prompts/session_token.js.map +7 -0
- package/dist/commands/push_v2/upload_build_to_push.js +2 -0
- package/dist/commands/push_v2/upload_build_to_push.js.map +7 -0
- package/dist/commands/push_v2/validate_deployment.js +2 -0
- package/dist/commands/push_v2/validate_deployment.js.map +7 -0
- package/dist/commands/push_v2/validate_push_config.js +2 -0
- package/dist/commands/push_v2/validate_push_config.js.map +7 -0
- package/dist/commands/start/definition.js +2 -0
- package/dist/commands/start/definition.js.map +7 -0
- package/dist/commands/start/index.js +2 -0
- package/dist/commands/start/index.js.map +7 -0
- package/dist/commands/test/definition.js +2 -0
- package/dist/commands/test/definition.js.map +7 -0
- package/dist/commands/test/index.js +2 -0
- package/dist/commands/test/index.js.map +7 -0
- package/dist/commands/update/definition.js +2 -0
- package/dist/commands/update/definition.js.map +7 -0
- package/dist/commands/update/index.js +2 -0
- package/dist/commands/update/index.js.map +7 -0
- package/dist/commands/use/definition.js +2 -0
- package/dist/commands/use/definition.js.map +7 -0
- package/dist/commands/use/index.js +2 -0
- package/dist/commands/use/index.js.map +7 -0
- package/dist/index.js +2 -7
- package/dist/index.js.map +7 -0
- package/dist/lib/build/browser_path_exclusions.js +2 -0
- package/dist/lib/build/browser_path_exclusions.js.map +7 -0
- package/dist/lib/build/browser_paths.js +2 -0
- package/dist/lib/build/browser_paths.js.map +7 -0
- package/dist/lib/build/build_files.js +4 -0
- package/dist/lib/build/build_files.js.map +7 -0
- package/dist/lib/build/copy_paths.js +2 -0
- package/dist/lib/build/copy_paths.js.map +7 -0
- package/dist/lib/build/get_code_frame.js +2 -0
- package/dist/lib/build/get_code_frame.js.map +7 -0
- package/dist/lib/build/get_file_operation.js +2 -0
- package/dist/lib/build/get_file_operation.js.map +7 -0
- package/dist/lib/build/get_files_to_build.js +2 -0
- package/dist/lib/build/get_files_to_build.js.map +7 -0
- package/dist/lib/build/get_path_platform.js +2 -0
- package/dist/lib/build/get_path_platform.js.map +7 -0
- package/dist/lib/build/get_platform_safe_path.js +2 -0
- package/dist/lib/build/get_platform_safe_path.js.map +7 -0
- package/dist/lib/build/get_tar_ignore_list.js +3 -0
- package/dist/lib/build/get_tar_ignore_list.js.map +7 -0
- package/dist/lib/build/index.js +4 -0
- package/dist/lib/build/index.js.map +7 -0
- package/dist/lib/build/master_ignore_list.js +2 -0
- package/dist/lib/build/master_ignore_list.js.map +7 -0
- package/dist/lib/build/minify_file.js +2 -0
- package/dist/lib/build/minify_file.js.map +7 -0
- package/dist/lib/build/node_paths.js +2 -0
- package/dist/lib/build/node_paths.js.map +7 -0
- package/dist/lib/build/on_warn.js +11 -0
- package/dist/lib/build/on_warn.js.map +7 -0
- package/dist/lib/build/plugins/bootstrap_component.js +34 -0
- package/dist/lib/build/plugins/bootstrap_component.js.map +7 -0
- package/dist/lib/build/plugins/generate_file_dependency_map.js +2 -0
- package/dist/lib/build/plugins/generate_file_dependency_map.js.map +7 -0
- package/dist/lib/build/plugins/index.js +2 -0
- package/dist/lib/build/plugins/index.js.map +7 -0
- package/dist/lib/build/plugins/set_component_id.js +3 -0
- package/dist/lib/build/plugins/set_component_id.js.map +7 -0
- package/dist/lib/build/plugins/update_file_map.js +2 -0
- package/dist/lib/build/plugins/update_file_map.js.map +7 -0
- package/dist/lib/build/plugins/warn_node_environment.js +4 -0
- package/dist/lib/build/plugins/warn_node_environment.js.map +7 -0
- package/dist/lib/cli_log.js +14 -0
- package/dist/lib/cli_log.js.map +7 -0
- package/dist/lib/color_log.js +2 -0
- package/dist/lib/color_log.js.map +7 -0
- package/dist/lib/command_exists.js +2 -0
- package/dist/lib/command_exists.js.map +7 -0
- package/dist/lib/constants.js +2 -4
- package/dist/lib/constants.js.map +7 -0
- package/dist/lib/debounce.js +2 -0
- package/dist/lib/debounce.js.map +7 -0
- package/dist/lib/decrypt_buffer.js +2 -0
- package/dist/lib/decrypt_buffer.js.map +7 -0
- package/dist/lib/development_server/ava_config.js +2 -0
- package/dist/lib/development_server/ava_config.js.map +7 -0
- package/dist/lib/development_server/check_if_port_occupied.js +2 -0
- package/dist/lib/development_server/check_if_port_occupied.js.map +7 -0
- package/dist/lib/development_server/cleanup.js +2 -0
- package/dist/lib/development_server/cleanup.js.map +7 -0
- package/dist/lib/development_server/databases/download_database_binary.js +2 -0
- package/dist/lib/development_server/databases/download_database_binary.js.map +7 -0
- package/dist/lib/development_server/databases/mongodb/available_query_parameters.js +2 -0
- package/dist/lib/development_server/databases/mongodb/available_query_parameters.js.map +7 -0
- package/dist/lib/development_server/databases/mongodb/build_connection_string.js +2 -0
- package/dist/lib/development_server/databases/mongodb/build_connection_string.js.map +7 -0
- package/dist/lib/development_server/databases/mongodb/build_query_parameters.js +2 -0
- package/dist/lib/development_server/databases/mongodb/build_query_parameters.js.map +7 -0
- package/dist/lib/development_server/databases/mongodb/check_connection.js +3 -0
- package/dist/lib/development_server/databases/mongodb/check_connection.js.map +7 -0
- package/dist/lib/development_server/databases/mongodb/connect.js +2 -0
- package/dist/lib/development_server/databases/mongodb/connect.js.map +7 -0
- package/dist/lib/development_server/databases/mongodb/index.js +2 -0
- package/dist/lib/development_server/databases/mongodb/index.js.map +7 -0
- package/dist/lib/development_server/databases/mongodb/installers/linux.js +2 -0
- package/dist/lib/development_server/databases/mongodb/installers/linux.js.map +7 -0
- package/dist/lib/development_server/databases/mongodb/installers/macos.js +2 -0
- package/dist/lib/development_server/databases/mongodb/installers/macos.js.map +7 -0
- package/dist/lib/development_server/databases/mongodb/installers/windows.js +2 -0
- package/dist/lib/development_server/databases/mongodb/installers/windows.js.map +7 -0
- package/dist/lib/development_server/databases/postgresql/check_connection.js +3 -0
- package/dist/lib/development_server/databases/postgresql/check_connection.js.map +7 -0
- package/dist/lib/development_server/databases/postgresql/connect.js +2 -0
- package/dist/lib/development_server/databases/postgresql/connect.js.map +7 -0
- package/dist/lib/development_server/databases/postgresql/index.js +3 -0
- package/dist/lib/development_server/databases/postgresql/index.js.map +7 -0
- package/dist/lib/development_server/databases/postgresql/installers/linux.js +2 -0
- package/dist/lib/development_server/databases/postgresql/installers/linux.js.map +7 -0
- package/dist/lib/development_server/databases/postgresql/installers/macos.js +2 -0
- package/dist/lib/development_server/databases/postgresql/installers/macos.js.map +7 -0
- package/dist/lib/development_server/databases/postgresql/installers/windows.js +2 -0
- package/dist/lib/development_server/databases/postgresql/installers/windows.js.map +7 -0
- package/dist/lib/development_server/databases/provider_map.js +2 -0
- package/dist/lib/development_server/databases/provider_map.js.map +7 -0
- package/dist/lib/development_server/get_database_process_ids.js +2 -0
- package/dist/lib/development_server/get_database_process_ids.js.map +7 -0
- package/dist/lib/development_server/get_translations.js +2 -0
- package/dist/lib/development_server/get_translations.js.map +7 -0
- package/dist/lib/development_server/hmr_server.js +2 -0
- package/dist/lib/development_server/hmr_server.js.map +7 -0
- package/dist/lib/development_server/index.js +11 -0
- package/dist/lib/development_server/index.js.map +7 -0
- package/dist/lib/development_server/kill_process_ids.js +2 -0
- package/dist/lib/development_server/kill_process_ids.js.map +7 -0
- package/dist/lib/development_server/run_tests.js +3 -0
- package/dist/lib/development_server/run_tests.js.map +7 -0
- package/dist/lib/development_server/start_app_server.js +2 -0
- package/dist/lib/development_server/start_app_server.js.map +7 -0
- package/dist/lib/development_server/start_databases.js +2 -0
- package/dist/lib/development_server/start_databases.js.map +7 -0
- package/dist/lib/development_server/start_hmr_server.js +2 -0
- package/dist/lib/development_server/start_hmr_server.js.map +7 -0
- package/dist/lib/development_server/watch_for_changes/browser_path_exclusions.js +2 -0
- package/dist/lib/development_server/watch_for_changes/browser_path_exclusions.js.map +7 -0
- package/dist/lib/development_server/watch_for_changes/browser_paths.js +2 -0
- package/dist/lib/development_server/watch_for_changes/browser_paths.js.map +7 -0
- package/dist/lib/development_server/watch_for_changes/get_after_run_tasks.js +2 -0
- package/dist/lib/development_server/watch_for_changes/get_after_run_tasks.js.map +7 -0
- package/dist/lib/development_server/watch_for_changes/get_file_codependencies.js +2 -0
- package/dist/lib/development_server/watch_for_changes/get_file_codependencies.js.map +7 -0
- package/dist/lib/development_server/watch_for_changes/get_platform_safe_path.js +2 -0
- package/dist/lib/development_server/watch_for_changes/get_platform_safe_path.js.map +7 -0
- package/dist/lib/development_server/watch_for_changes/index.js +2 -0
- package/dist/lib/development_server/watch_for_changes/index.js.map +7 -0
- package/dist/lib/development_server/watch_for_changes/node_paths.js +2 -0
- package/dist/lib/development_server/watch_for_changes/node_paths.js.map +7 -0
- package/dist/lib/development_server/watch_for_changes/read_file_dependency_map.js +2 -0
- package/dist/lib/development_server/watch_for_changes/read_file_dependency_map.js.map +7 -0
- package/dist/lib/development_server/watch_for_changes/watch_paths.js +2 -0
- package/dist/lib/development_server/watch_for_changes/watch_paths.js.map +7 -0
- package/dist/lib/dynamic_import.js +2 -0
- package/dist/lib/dynamic_import.js.map +7 -0
- package/dist/lib/encrypt_buffer.js +2 -0
- package/dist/lib/encrypt_buffer.js.map +7 -0
- package/dist/lib/generate_id.js +2 -0
- package/dist/lib/generate_id.js.map +7 -0
- package/dist/lib/get_files_in_path.js +2 -0
- package/dist/lib/get_files_in_path.js.map +7 -0
- package/dist/lib/get_platform_safe_path.js +2 -0
- package/dist/lib/get_platform_safe_path.js.map +7 -0
- package/dist/lib/get_process_id_from_port.js +3 -0
- package/dist/lib/get_process_id_from_port.js.map +7 -0
- package/dist/lib/is_valid_json_string.js +2 -0
- package/dist/lib/is_valid_json_string.js.map +7 -0
- package/dist/lib/kill_port_process.js +2 -0
- package/dist/lib/kill_port_process.js.map +7 -0
- package/dist/lib/kill_process_id.js +2 -0
- package/dist/lib/kill_process_id.js.map +7 -0
- package/dist/lib/load_settings.js +2 -0
- package/dist/lib/load_settings.js.map +7 -0
- package/dist/lib/loader.js +3 -82
- package/dist/lib/loader.js.map +7 -0
- package/dist/lib/log_bars.js +2 -0
- package/dist/lib/log_bars.js.map +7 -0
- package/dist/lib/node_path_polyfills.js +2 -0
- package/dist/lib/node_path_polyfills.js.map +7 -0
- package/dist/lib/parse_args.js +2 -0
- package/dist/lib/parse_args.js.map +7 -0
- package/dist/lib/parse_options.js +2 -0
- package/dist/lib/parse_options.js.map +7 -0
- package/dist/lib/path_exists.js +2 -0
- package/dist/lib/path_exists.js.map +7 -0
- package/dist/lib/rainbow_road.js +2 -0
- package/dist/lib/rainbow_road.js.map +7 -0
- package/dist/lib/replace_in_files.js +2 -0
- package/dist/lib/replace_in_files.js.map +7 -0
- package/dist/lib/required_files.js +2 -0
- package/dist/lib/required_files.js.map +7 -0
- package/dist/lib/serialize_query_parameters.js +2 -0
- package/dist/lib/serialize_query_parameters.js.map +7 -0
- package/dist/lib/types.js +2 -6
- package/dist/lib/types.js.map +7 -0
- package/dist/lib/unique_array.js +2 -0
- package/dist/lib/unique_array.js.map +7 -0
- package/increment_version.js +3 -0
- package/package.json +19 -38
- package/src/cli.js +69 -51
- 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 +25 -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/push_v2/Dockerfile +47 -0
- package/src/commands/push_v2/build_docker_image.js +78 -0
- package/src/commands/push_v2/cdn_mirrors.js +7 -0
- package/src/commands/push_v2/check_if_settings_valid.js +10 -0
- package/src/commands/push_v2/create_version.js +20 -0
- package/src/commands/push_v2/definition.js +58 -0
- package/src/commands/push_v2/get_app_domain.js +11 -0
- package/src/commands/push_v2/get_deployment.js +19 -0
- package/src/commands/push_v2/get_deployment_token.js +30 -0
- package/src/commands/push_v2/get_push_domain.js +8 -0
- package/src/commands/push_v2/get_settings_file.js +47 -0
- package/src/commands/push_v2/handle_initial_deployment.js +24 -0
- package/src/commands/push_v2/handle_version_deployment.js +23 -0
- package/src/commands/push_v2/index.js +90 -0
- package/src/commands/push_v2/prompts/confirm_deployment.js +73 -0
- package/src/commands/push_v2/prompts/session_token.js +11 -0
- package/src/commands/push_v2/upload_build_to_push.js +37 -0
- package/src/commands/push_v2/validate_deployment.js +19 -0
- package/src/commands/push_v2/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 +167 -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 +41 -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 +137 -0
- package/src/lib/build/master_ignore_list.js +14 -0
- package/src/lib/build/minify_file.js +22 -0
- package/src/lib/build/node_paths.js +19 -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/development_server/databases/download_database_binary.js +35 -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 +36 -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 +102 -0
- package/src/lib/development_server/databases/mongodb/installers/linux.js +107 -0
- package/src/lib/development_server/databases/mongodb/installers/macos.js +109 -0
- package/src/lib/development_server/databases/mongodb/installers/windows.js +90 -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 +157 -0
- package/src/lib/development_server/databases/postgresql/installers/linux.js +80 -0
- package/src/lib/development_server/databases/postgresql/installers/macos.js +91 -0
- package/src/lib/development_server/databases/postgresql/installers/windows.js +83 -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 +436 -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 +36 -0
- package/src/lib/development_server/watch_for_changes/get_file_codependencies.js +53 -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 +222 -0
- package/src/lib/development_server/watch_for_changes/node_paths.js +17 -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 +22 -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/src/lib/unique_array.js +24 -0
- package/HMRNOTES.txt +0 -23
- package/_package.json +0 -56
- 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 -269
- 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 -11
- 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 -12
- 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 -8
- package/dist/lib/build/browserPaths.js +0 -11
- package/dist/lib/build/buildFile.js +0 -84
- package/dist/lib/build/buildFiles.js +0 -242
- 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 -12
- 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 -18
- 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/hmrServer.js +0 -66
- package/dist/lib/dev/index.js +0 -561
- 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 -96
- package/dist/lib/dev/startDatabases.js +0 -109
- package/dist/lib/dev/startHMR.js +0 -55
- package/dist/lib/dev/tests.config.js +0 -6
- 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 -269
- 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 -9
- 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 -10
- package/src/functions/update/index.js +0 -20
- package/src/functions/use/index.js +0 -62
- package/src/lib/build/browserPathExclusions.js +0 -6
- package/src/lib/build/browserPaths.js +0 -9
- package/src/lib/build/buildFile.js +0 -91
- package/src/lib/build/buildFiles.js +0 -274
- 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 -10
- 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 -26
- 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/hmrServer.js +0 -78
- package/src/lib/dev/index.js +0 -686
- 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 -122
- package/src/lib/dev/startApp.js +0 -81
- package/src/lib/dev/startDatabases.js +0 -131
- package/src/lib/dev/startHMR.js +0 -62
- package/src/lib/dev/tests.config.js +0 -3
- 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
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import fetch from 'node-fetch';
|
|
2
|
+
|
|
3
|
+
const create_version = (options = {}) => {
|
|
4
|
+
return fetch(`${options?.push_provision_domain}/api/versions/${options?.domain}`, {
|
|
5
|
+
method: 'POST',
|
|
6
|
+
headers: {
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
'x-push-session-token': options?.session_token,
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify(options?.body),
|
|
11
|
+
})?.then(async (response) => {
|
|
12
|
+
// NOTE: We only care about the response body here so parse it out and return it.
|
|
13
|
+
const data = await response.json();
|
|
14
|
+
return data?.data;
|
|
15
|
+
}).catch((error) => {
|
|
16
|
+
console.warn(error);
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default create_version;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import push from './index.js';
|
|
2
|
+
|
|
3
|
+
const [_node, _bin, ...raw_args] = process.argv;
|
|
4
|
+
|
|
5
|
+
const definition = {
|
|
6
|
+
description: 'Deploy your Joystick app using Push.',
|
|
7
|
+
args: {},
|
|
8
|
+
options: {
|
|
9
|
+
environment: {
|
|
10
|
+
flags: {
|
|
11
|
+
'-e': {
|
|
12
|
+
set: !!raw_args.includes('-e'),
|
|
13
|
+
value: !!raw_args.includes('-e') && raw_args[raw_args.indexOf('-e') + 1],
|
|
14
|
+
parent: 'push',
|
|
15
|
+
},
|
|
16
|
+
'--environment': {
|
|
17
|
+
set: !!raw_args.includes('--environment'),
|
|
18
|
+
value: !!raw_args.includes('--environment') && raw_args[raw_args.indexOf('--environment') + 1],
|
|
19
|
+
parent: 'push',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
description: 'The value you want to use for NODE_ENV in the deployed app (e.g., staging or production). Default is production.',
|
|
23
|
+
},
|
|
24
|
+
provision_server: {
|
|
25
|
+
flags: {
|
|
26
|
+
'-s': {
|
|
27
|
+
set: !!raw_args.includes('-s'),
|
|
28
|
+
value: !!raw_args.includes('-s') && raw_args[raw_args.indexOf('-s') + 1],
|
|
29
|
+
parent: 'push',
|
|
30
|
+
},
|
|
31
|
+
'--server': {
|
|
32
|
+
set: !!raw_args.includes('--server'),
|
|
33
|
+
value: !!raw_args.includes('--server') && raw_args[raw_args.indexOf('--server') + 1],
|
|
34
|
+
parent: 'push',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
description: 'The Push provision server to target (development or production).',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
command: push,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export default definition;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const get_app_domain = (provision_server = 'production') => {
|
|
2
|
+
// NOTE: Rely on provision_server CLI option flag here because that will need
|
|
3
|
+
// to be paired with the appropriate app server.
|
|
4
|
+
return {
|
|
5
|
+
development: 'http://localhost:2600',
|
|
6
|
+
staging: 'https://staging.push.cheatcode.co',
|
|
7
|
+
production: 'https://push.cheatcode.co',
|
|
8
|
+
}[provision_server];
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default get_app_domain;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import fetch from 'node-fetch';
|
|
2
|
+
|
|
3
|
+
const get_deployment = (options = {}) => {
|
|
4
|
+
return fetch(`${options?.push_provision_domain}/api/deployments/${options?.domain}`, {
|
|
5
|
+
method: 'GET',
|
|
6
|
+
headers: {
|
|
7
|
+
'x-push-session-token': options?.session_token,
|
|
8
|
+
Accept: 'application/json',
|
|
9
|
+
},
|
|
10
|
+
})?.then(async (response) => {
|
|
11
|
+
// NOTE: We only care about the data in the response here so just return it.
|
|
12
|
+
const data = await response.json();
|
|
13
|
+
return data?.data;
|
|
14
|
+
}).catch((error) => {
|
|
15
|
+
console.warn(error);
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default get_deployment;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const get_provision_domain = (provision_server = 'production') => {
|
|
2
|
+
return {
|
|
3
|
+
development: 'http://localhost:2603',
|
|
4
|
+
staging: 'https://staging.provision.cheatcode.co',
|
|
5
|
+
production: 'https://provision.cheatcode.co',
|
|
6
|
+
}[provision_server];
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default get_provision_domain;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import os from 'os';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import inquirer from 'inquirer';
|
|
4
|
+
import path_exists from '../../lib/path_exists.js';
|
|
5
|
+
import session_token_prompt from './prompts/session_token.js';
|
|
6
|
+
|
|
7
|
+
const { readFile, mkdir, writeFile } = fs.promises;
|
|
8
|
+
|
|
9
|
+
const get_session_token = async () => {
|
|
10
|
+
const home_directory = os.homedir();
|
|
11
|
+
const session_token_path = `${home_directory}/.push/session_token`;
|
|
12
|
+
const session_token_exists = await path_exists(session_token_path);
|
|
13
|
+
|
|
14
|
+
if (session_token_exists) {
|
|
15
|
+
return readFile(session_token_path, 'utf-8');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const { session_token } = await inquirer.prompt(session_token_prompt());
|
|
19
|
+
|
|
20
|
+
if (session_token) {
|
|
21
|
+
if (!(await path_exists(`${home_directory}/.push`))) {
|
|
22
|
+
await mkdir(`${home_directory}/.push`);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
await writeFile(`${home_directory}/.push/session_token`, session_token);
|
|
26
|
+
|
|
27
|
+
return session_token;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default get_session_token;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import cli_log from '../../lib/cli_log.js';
|
|
3
|
+
import is_valid_json_string from '../../lib/is_valid_json_string.js';
|
|
4
|
+
import path_exists from '../../lib/path_exists.js';
|
|
5
|
+
|
|
6
|
+
const { readFile } = fs.promises;
|
|
7
|
+
|
|
8
|
+
const read_settings_file = async (environment = '') => {
|
|
9
|
+
const settings_file_name = `settings.${environment}.json`;
|
|
10
|
+
const settings_file_exists = await path_exists(settings_file_name);
|
|
11
|
+
|
|
12
|
+
if (!settings_file_exists) {
|
|
13
|
+
cli_log(
|
|
14
|
+
`Could not find a ${settings_file_name} in your project. Double-check this exists and try again.`,
|
|
15
|
+
{
|
|
16
|
+
level: "danger",
|
|
17
|
+
docs: "https://cheatcode.co/docs/push/config"
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
return process.exit(0);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return readFile(settings_file_name);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const get_settings_file = async (options) => {
|
|
28
|
+
const settings_file_name = `settings.${options?.environment}.json`;
|
|
29
|
+
const raw_settings_file = await read_settings_file(options?.environment);
|
|
30
|
+
const settings_file_is_valid_json = is_valid_json_string(raw_settings_file);
|
|
31
|
+
|
|
32
|
+
if (!settings_file_is_valid_json) {
|
|
33
|
+
cli_log(
|
|
34
|
+
`${settings_file_name} contains invalid JSON. Double-check the syntax and try again.`,
|
|
35
|
+
{
|
|
36
|
+
level: "danger",
|
|
37
|
+
docs: "https://cheatcode.co/docs/push/config"
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
return process.exit(0);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return JSON.parse(raw_settings_file);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export default get_settings_file;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import fetch from "node-fetch";
|
|
2
|
+
|
|
3
|
+
const handle_initial_deployment = async (options = {}) => {
|
|
4
|
+
return fetch(`${options?.push_provision_domain}/api/deployments/${options?.deployment?.domain}`, {
|
|
5
|
+
method: "POST",
|
|
6
|
+
headers: {
|
|
7
|
+
"x-push-session-token": options?.session_token,
|
|
8
|
+
'Content-Type': 'application/json',
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify({
|
|
11
|
+
environment: options?.environment,
|
|
12
|
+
build_timestamp: options?.build_timestamp,
|
|
13
|
+
domain: options?.deployment?.domain,
|
|
14
|
+
deployment_id: options?.deployment?._id,
|
|
15
|
+
}),
|
|
16
|
+
}).then(async (response) => {
|
|
17
|
+
const data = await response.json();
|
|
18
|
+
return data?.data;
|
|
19
|
+
}).catch((error) => {
|
|
20
|
+
console.warn(error);
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export default handle_initial_deployment;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import fetch from "node-fetch";
|
|
2
|
+
|
|
3
|
+
const handle_version_deployment = async (options = {}) => {
|
|
4
|
+
return fetch(`${options?.push_provision_domain}/api/deployments/${options?.deployment?.domain}`, {
|
|
5
|
+
method: "PUT",
|
|
6
|
+
headers: {
|
|
7
|
+
"x-push-session-token": options?.session_token,
|
|
8
|
+
'Content-Type': 'application/json',
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify({
|
|
11
|
+
build_timestamp: options?.build_timestamp,
|
|
12
|
+
domain: options?.deployment?.domain,
|
|
13
|
+
deployment_id: options?.deployment?._id,
|
|
14
|
+
}),
|
|
15
|
+
}).then(async (response) => {
|
|
16
|
+
const data = await response.json();
|
|
17
|
+
return data?.data;
|
|
18
|
+
}).catch((error) => {
|
|
19
|
+
console.warn(error);
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export default handle_version_deployment;
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import inquirer from "inquirer";
|
|
3
|
+
import build from '../../lib/build/index.js';
|
|
4
|
+
import cli_log from '../../lib/cli_log.js';
|
|
5
|
+
import confirm_deployment_prompt from './prompts/confirm_deployment.js';
|
|
6
|
+
import create_version from './create_version.js';
|
|
7
|
+
import get_app_domain from './get_app_domain.js';
|
|
8
|
+
import get_deployment from './get_deployment.js';
|
|
9
|
+
import get_provision_domain from './get_provision_domain.js';
|
|
10
|
+
import get_settings_file from './get_settings_file.js';
|
|
11
|
+
import get_session_token from './get_session_token.js';
|
|
12
|
+
import handle_initial_deployment from './handle_initial_deployment.js';
|
|
13
|
+
import handle_version_deployment from './handle_version_deployment.js';
|
|
14
|
+
import Loader from '../../lib/loader.js';
|
|
15
|
+
import upload_build_to_cdn from './upload_build_to_cdn.js';
|
|
16
|
+
import validate_deployment from './validate_deployment.js';
|
|
17
|
+
import validate_push_config from './validate_push_config.js';
|
|
18
|
+
|
|
19
|
+
const log_validation_error_response = (validation_type = '', root_error = '', validation_response = {}) => {
|
|
20
|
+
let errors_list = ``;
|
|
21
|
+
|
|
22
|
+
for (let i = 0; i < validation_response?.errors?.length; i += 1) {
|
|
23
|
+
const validation_error = validation_response?.errors[i];
|
|
24
|
+
|
|
25
|
+
if (validation_type === 'push_config') {
|
|
26
|
+
errors_list += `${chalk.yellowBright(`> ${validation_error.field}`)}\n`;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
errors_list += `${validation_error?.error}\n${i + 1 === validation_response?.errors?.length ? '' : '\n'}`;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
cli_log(
|
|
33
|
+
`${root_error ? `${chalk.yellowBright(root_error)}\n\n\n` : ''}${errors_list}`,
|
|
34
|
+
{
|
|
35
|
+
level: "danger",
|
|
36
|
+
docs: {
|
|
37
|
+
push_config: "https://cheatcode.co/docs/push/config",
|
|
38
|
+
deployment: "https://cheatcode.co/docs/push/subscription",
|
|
39
|
+
}[validation_type],
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
process.exit(0);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const get_session_for_deployment = async () => {
|
|
47
|
+
const session_token = await get_session_token();
|
|
48
|
+
|
|
49
|
+
if (!session_token) {
|
|
50
|
+
cli_log(
|
|
51
|
+
data?.error?.message,
|
|
52
|
+
{
|
|
53
|
+
level: "danger",
|
|
54
|
+
docs: "https://cheatcode.co/docs/push/cli#authentication"
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
return process.exit(0);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return session_token;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const warn_no_push_config = (environment = '') => {
|
|
65
|
+
cli_log(
|
|
66
|
+
`settings.${environment}.json must contain a push config object. Add this following the docs link below and try again.`,
|
|
67
|
+
{
|
|
68
|
+
level: "danger",
|
|
69
|
+
docs: "https://cheatcode.co/docs/push/config"
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
return process.exit(0);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const push = async (args = {}, options = {}) => {
|
|
77
|
+
process.loader = new Loader();
|
|
78
|
+
process.loader.print('Starting deployment...');
|
|
79
|
+
|
|
80
|
+
const session_token = await get_session_for_deployment();
|
|
81
|
+
const environment = options?.environment || 'production';
|
|
82
|
+
const settings = await get_settings_file({ environment });
|
|
83
|
+
|
|
84
|
+
if (!settings?.push) {
|
|
85
|
+
return warn_no_push_config(environment);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const push_provision_domain = get_provision_domain(options?.provision_server);
|
|
89
|
+
const push_app_domain = get_app_domain(options?.provision_server);
|
|
90
|
+
const deployment = await get_deployment({
|
|
91
|
+
domain: settings?.push?.domain,
|
|
92
|
+
session_token,
|
|
93
|
+
push_provision_domain,
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
let push_config_validation_response;
|
|
97
|
+
|
|
98
|
+
if (deployment?.status === 'undeployed') {
|
|
99
|
+
push_config_validation_response = await validate_push_config({
|
|
100
|
+
push_provision_domain,
|
|
101
|
+
push_config: settings?.push,
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
if (push_config_validation_response?.errors?.length > 0) {
|
|
105
|
+
log_validation_error_response(
|
|
106
|
+
'push_config',
|
|
107
|
+
`Push config in settings.${environment}.json failed validation with the following errors:`,
|
|
108
|
+
push_config_validation_response,
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const deployment_validation_response = await validate_deployment({
|
|
114
|
+
session_token,
|
|
115
|
+
push_provision_domain,
|
|
116
|
+
push_config: settings?.push,
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
if (deployment_validation_response?.errors?.length > 0) {
|
|
120
|
+
log_validation_error_response(
|
|
121
|
+
'deployment',
|
|
122
|
+
`Deployment failed validation with the following errors:`,
|
|
123
|
+
deployment_validation_response,
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// NOTE: A bit hacky but removes need for weird if {} statement nesting.
|
|
128
|
+
const { confirm_deployment } = deployment?.status === 'undeployed' ? await inquirer.prompt(
|
|
129
|
+
confirm_deployment_prompt(push_config_validation_response?.instances)
|
|
130
|
+
) : { confirm_deployment: true };
|
|
131
|
+
|
|
132
|
+
if (confirm_deployment) {
|
|
133
|
+
// NOTE: Do this to create a gap between the confirmation text above (only applies if
|
|
134
|
+
// the deployment is a first-run).
|
|
135
|
+
if (deployment?.status === 'undeployed') {
|
|
136
|
+
console.log('\n');
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const build_timestamp = new Date().toISOString();
|
|
140
|
+
await build({
|
|
141
|
+
environment,
|
|
142
|
+
encrypt_build: true,
|
|
143
|
+
encryption_key: deployment?.deployment_secret,
|
|
144
|
+
silence_confirmation: true,
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
process.loader.print('Uploading version...');
|
|
148
|
+
|
|
149
|
+
await upload_build_to_cdn(
|
|
150
|
+
build_timestamp,
|
|
151
|
+
deployment,
|
|
152
|
+
session_token,
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
const create_version_response = await create_version({
|
|
156
|
+
push_provision_domain,
|
|
157
|
+
domain: settings?.push?.domain,
|
|
158
|
+
session_token,
|
|
159
|
+
body: {
|
|
160
|
+
// NOTE: Endpoint anticipates a stringified version of settings.
|
|
161
|
+
settings: JSON.stringify(settings),
|
|
162
|
+
build_timestamp,
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
process.loader.print('Deploying app...');
|
|
167
|
+
|
|
168
|
+
if (deployment?.status === 'undeployed') {
|
|
169
|
+
return handle_initial_deployment({
|
|
170
|
+
push_provision_domain,
|
|
171
|
+
push_app_domain,
|
|
172
|
+
session_token,
|
|
173
|
+
environment,
|
|
174
|
+
build_timestamp,
|
|
175
|
+
deployment,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return handle_version_deployment({
|
|
180
|
+
push_provision_domain,
|
|
181
|
+
push_app_domain,
|
|
182
|
+
session_token,
|
|
183
|
+
environment,
|
|
184
|
+
build_timestamp,
|
|
185
|
+
deployment,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
export default push;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import AsciiTable from 'ascii-table';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
|
|
4
|
+
const render_instance_row = (table, [continent_name = '', continent_instances = []]) => {
|
|
5
|
+
table.addRow(`${chalk.magenta(continent_name)}\n`);
|
|
6
|
+
|
|
7
|
+
for (let i = 0; i < continent_instances?.length; i += 1) {
|
|
8
|
+
const instance = continent_instances[i];
|
|
9
|
+
table.addRow(
|
|
10
|
+
`${chalk.yellow(instance?.provider)} (${chalk.green(instance?.region)})`,
|
|
11
|
+
`${chalk.white(instance?.size)} $${chalk.green(instance?.pricePerMonth)}/mo. x${chalk.blue(instance?.quantity)} ${chalk.white('=')} $${chalk.green((instance?.quantity * instance?.pricePerMonth))}/mo.${i + 1 === continent_instances?.length ? '\n' : ''}`,
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const get_total_monthly_cost_for_instances = (instances = []) => {
|
|
17
|
+
const instances_by_continent = Object.values(instances)?.flatMap((instances_for_continent) => instances_for_continent);
|
|
18
|
+
return instances_by_continent?.reduce((total = 0, instance = {}) => {
|
|
19
|
+
total += instance?.pricePerMonth * instance?.quantity;
|
|
20
|
+
return total;
|
|
21
|
+
}, 0);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const confirm_deployment = (instances = {}) => {
|
|
25
|
+
const load_balancer_total_per_month = get_total_monthly_cost_for_instances(instances?.load_balancer);
|
|
26
|
+
const app_total_per_month = get_total_monthly_cost_for_instances(instances?.app);
|
|
27
|
+
const total_monthly_cost = load_balancer_total_per_month + app_total_per_month;
|
|
28
|
+
|
|
29
|
+
const table = new AsciiTable();
|
|
30
|
+
|
|
31
|
+
table.removeBorder();
|
|
32
|
+
table.addRow(`${chalk.blue('Load Balancer')}\n`);
|
|
33
|
+
|
|
34
|
+
const load_balancer_continents = Object.entries(instances?.load_balancer);
|
|
35
|
+
const app_continents = Object.entries(instances?.app);
|
|
36
|
+
|
|
37
|
+
for (let i = 0; i < load_balancer_continents?.length; i += 1) {
|
|
38
|
+
render_instance_row(table, load_balancer_continents[i]);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
table.addRow(`\n ${chalk.blue('App')}\n`);
|
|
42
|
+
|
|
43
|
+
for (let i = 0; i < app_continents?.length; i += 1) {
|
|
44
|
+
render_instance_row(table, app_continents[i]);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
table.addRow(chalk.white('\n ---\n'));
|
|
48
|
+
|
|
49
|
+
table.addRow(
|
|
50
|
+
chalk.green('Monthly Cost'),
|
|
51
|
+
chalk.white(`$${chalk.green(total_monthly_cost)}/mo.`)
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
table.addRow(
|
|
55
|
+
chalk.green('Annual Cost'),
|
|
56
|
+
chalk.white(`$${chalk.green(total_monthly_cost * 12)}/yr.`)
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
const is_abnormal = total_monthly_cost > 100;
|
|
60
|
+
|
|
61
|
+
return [{
|
|
62
|
+
name: 'confirm_deployment',
|
|
63
|
+
type: 'confirm',
|
|
64
|
+
prefix: '',
|
|
65
|
+
message: `\n ${chalk.greenBright('>')} Start deployment and provision these instances?`,
|
|
66
|
+
suffix: `
|
|
67
|
+
\n${table.toString()}
|
|
68
|
+
${is_abnormal ? `\n\n ${chalk.yellowBright(`!!! >>> These costs are ${chalk.magenta('high')}. Be absolutely ${chalk.magenta('CERTAIN')} you want to run this deployment. <<< !!!`)}
|
|
69
|
+
\n ` : '\n'}`,
|
|
70
|
+
}];
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default confirm_deployment;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
|
|
3
|
+
const session_token = () => [{
|
|
4
|
+
name: 'session_token',
|
|
5
|
+
type: 'text',
|
|
6
|
+
prefix: '',
|
|
7
|
+
message: `\n${chalk.yellowBright('>')} To login to Push, paste your session token below:\n`,
|
|
8
|
+
suffix: ` ${chalk.yellowBright('Find your session token here:')} https://push.cheatcode.co/account/profile\n\n`,
|
|
9
|
+
}];
|
|
10
|
+
|
|
11
|
+
export default session_token;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import fetch from "node-fetch";
|
|
2
|
+
import FormData from "form-data";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
import _ from 'lodash';
|
|
5
|
+
import cdn_mirrors from './cdn_mirrors.js';
|
|
6
|
+
|
|
7
|
+
const { readFile } = fs.promises;
|
|
8
|
+
|
|
9
|
+
const get_first_available_mirror = async () => {
|
|
10
|
+
const results = (await Promise.allSettled(cdn_mirrors?.map(async (mirror) => {
|
|
11
|
+
const controller = new AbortController();
|
|
12
|
+
setTimeout(() => controller.abort(), 2000);
|
|
13
|
+
|
|
14
|
+
const result = await fetch(`${mirror}/api/ping`, { signal: controller.signal }).catch((error) => {
|
|
15
|
+
return { status: 503 };
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
return {
|
|
19
|
+
mirror,
|
|
20
|
+
status: result.status,
|
|
21
|
+
};
|
|
22
|
+
})))?.map((result) => {
|
|
23
|
+
return result.value;
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
return _.orderBy(results, ['status', 'mirror'])[0];
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const upload_build_to_cdn = async (build_timestamp = '', deployment = {}, session_token = '') => {
|
|
30
|
+
const first_available_mirror = await get_first_available_mirror();
|
|
31
|
+
const form_data = new FormData();
|
|
32
|
+
|
|
33
|
+
form_data.append(
|
|
34
|
+
"version_tar",
|
|
35
|
+
await readFile(`.build/build.encrypted.tar.gz`),
|
|
36
|
+
`${build_timestamp}.tar.gz`
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
form_data.append("build_timestamp", build_timestamp);
|
|
40
|
+
form_data.append("domain", deployment?.domain);
|
|
41
|
+
form_data.append("deployment_id", deployment?._id);
|
|
42
|
+
|
|
43
|
+
return fetch(`${first_available_mirror?.mirror}/api/versions`, {
|
|
44
|
+
method: "POST",
|
|
45
|
+
headers: {
|
|
46
|
+
...form_data.getHeaders(),
|
|
47
|
+
"x-push-session-token": session_token,
|
|
48
|
+
},
|
|
49
|
+
body: form_data,
|
|
50
|
+
}).then(async (response) => {
|
|
51
|
+
const data = await response.json();
|
|
52
|
+
return data?.data;
|
|
53
|
+
}).catch((error) => {
|
|
54
|
+
console.warn(error);
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export default upload_build_to_cdn;
|
|
59
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import fetch from 'node-fetch';
|
|
2
|
+
|
|
3
|
+
const validate_deployment = (options = {}) => {
|
|
4
|
+
return fetch(`${options?.push_provision_domain}/api/deployments/${options?.push_config?.domain}/validate`, {
|
|
5
|
+
method: 'POST',
|
|
6
|
+
headers: {
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
'x-push-session-token': options?.session_token,
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify(options?.push_config),
|
|
11
|
+
})?.then(async (response) => {
|
|
12
|
+
const data = await response.json();
|
|
13
|
+
return data?.data;
|
|
14
|
+
}).catch((error) => {
|
|
15
|
+
console.warn(error);
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default validate_deployment;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import fetch from 'node-fetch';
|
|
2
|
+
|
|
3
|
+
const validate_push_config = (options = {}) => {
|
|
4
|
+
return fetch(`${options?.push_provision_domain}/api/validate/config`, {
|
|
5
|
+
method: 'POST',
|
|
6
|
+
headers: {
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
},
|
|
9
|
+
body: JSON.stringify(options?.push_config),
|
|
10
|
+
})?.then(async (response) => {
|
|
11
|
+
const data = await response.json();
|
|
12
|
+
return data?.data;
|
|
13
|
+
}).catch((error) => {
|
|
14
|
+
console.warn(error);
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default validate_push_config;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Use Node.js 20 Slim as the base image
|
|
2
|
+
FROM node:20-slim
|
|
3
|
+
|
|
4
|
+
# Avoid prompts from apt
|
|
5
|
+
ENV DEBIAN_FRONTEND=noninteractive
|
|
6
|
+
|
|
7
|
+
# Set the working directory in the container
|
|
8
|
+
WORKDIR /app
|
|
9
|
+
|
|
10
|
+
# Allow custom apt dependencies to be passed as build argument
|
|
11
|
+
ARG CUSTOM_APT_DEPS=""
|
|
12
|
+
|
|
13
|
+
# Install custom apt dependencies if provided
|
|
14
|
+
RUN if [ ! -z "$CUSTOM_APT_DEPS" ]; then \
|
|
15
|
+
apt-get update && apt-get install -y $CUSTOM_APT_DEPS \
|
|
16
|
+
&& apt-get clean \
|
|
17
|
+
&& rm -rf /var/lib/apt/lists/*; \
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Allow custom global npm packages to be passed as build argument
|
|
21
|
+
ARG GLOBAL_NPM_PACKAGES=""
|
|
22
|
+
|
|
23
|
+
# Install custom global npm packages if provided
|
|
24
|
+
RUN if [ ! -z "$GLOBAL_NPM_PACKAGES" ]; then \
|
|
25
|
+
npm install -g $GLOBAL_NPM_PACKAGES; \
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
# Copy package.json and package-lock.json (if available)
|
|
29
|
+
COPY ./.build/package*.json ./
|
|
30
|
+
|
|
31
|
+
# Install NPM dependencies
|
|
32
|
+
RUN npm ci --only=production
|
|
33
|
+
|
|
34
|
+
# Add build argument to invalidate cache
|
|
35
|
+
ARG CACHEBUST=1
|
|
36
|
+
|
|
37
|
+
# Copy the rest of the pre-built application
|
|
38
|
+
COPY ./.build .
|
|
39
|
+
|
|
40
|
+
# Expose the port the app runs on
|
|
41
|
+
EXPOSE 2600
|
|
42
|
+
|
|
43
|
+
# Note: Environment variables (JOYSTICK_SETTINGS, PUSH_INSTANCE_TOKEN)
|
|
44
|
+
# will be passed at runtime via the container.env file
|
|
45
|
+
|
|
46
|
+
# Command to run the application
|
|
47
|
+
CMD ["node", "index.server.js"]
|