@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,36 @@
|
|
|
1
|
+
import child_process from "child_process";
|
|
2
|
+
import path from "path";
|
|
3
|
+
|
|
4
|
+
const start_hmr_server_process = (exec_argv = [], __dirname = '') => {
|
|
5
|
+
// NOTE: Port is automatically pulled via process.env.PORT
|
|
6
|
+
// in the hmr_server.js script.
|
|
7
|
+
return child_process.fork(
|
|
8
|
+
path.resolve(`${__dirname}/hmr_server.js`),
|
|
9
|
+
[],
|
|
10
|
+
{
|
|
11
|
+
execArgv: exec_argv,
|
|
12
|
+
// NOTE: Pipe stdin, stdout, and stderr. IPC establishes a message channel so we
|
|
13
|
+
// communicate with the child_process.
|
|
14
|
+
silent: true,
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const get_exec_args = (node_major_version = 0) => {
|
|
20
|
+
const exec_argv = ["--no-warnings"];
|
|
21
|
+
|
|
22
|
+
if (node_major_version < 19) {
|
|
23
|
+
exec_argv.push("--experimental-specifier-resolution=node");
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return exec_argv;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const start_hmr_server = (node_major_version = 0, __dirname = '') => {
|
|
30
|
+
const exec_argv = get_exec_args(node_major_version);
|
|
31
|
+
const hmr_server_process = start_hmr_server_process(exec_argv, __dirname);
|
|
32
|
+
return hmr_server_process;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export default start_hmr_server;
|
|
36
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import get_platform_safe_path from "./get_platform_safe_path.js";
|
|
2
|
+
|
|
3
|
+
const browser_paths = [
|
|
4
|
+
get_platform_safe_path("email/"),
|
|
5
|
+
get_platform_safe_path("lib/"),
|
|
6
|
+
get_platform_safe_path("lib/browser"),
|
|
7
|
+
get_platform_safe_path("ui/"),
|
|
8
|
+
"index.client.js",
|
|
9
|
+
];
|
|
10
|
+
|
|
11
|
+
export default browser_paths;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import constants from "../../constants.js";
|
|
2
|
+
import get_platform_safe_path from "../../get_platform_safe_path.js";
|
|
3
|
+
|
|
4
|
+
const get_after_run_tasks = (path = '') => {
|
|
5
|
+
const is_html_update = path === 'index.html';
|
|
6
|
+
const is_client_index_update = path === 'index.client.js';
|
|
7
|
+
const is_client_lib_update = path.includes(
|
|
8
|
+
get_platform_safe_path('lib/')
|
|
9
|
+
) && !path.includes(
|
|
10
|
+
get_platform_safe_path('lib/node')
|
|
11
|
+
);
|
|
12
|
+
const is_css_path = path.includes('css/');
|
|
13
|
+
const is_i18n_path = path.includes('i18n');
|
|
14
|
+
const is_settings_path = (path.match(constants.SETTINGS_FILE_NAME_REGEX))?.length > 0;
|
|
15
|
+
const is_ui_path = path.includes(
|
|
16
|
+
get_platform_safe_path("ui/")
|
|
17
|
+
) || path === 'index.css' || is_html_update || is_client_index_update || is_client_lib_update;
|
|
18
|
+
const is_ui_update = (process.hmr_server_process && process.hmr_server_process.has_connections) &&
|
|
19
|
+
(is_ui_path || is_i18n_path || is_settings_path) ||
|
|
20
|
+
false;
|
|
21
|
+
|
|
22
|
+
if (is_css_path) {
|
|
23
|
+
return ['hot_module_reload'];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (is_ui_update) {
|
|
27
|
+
// NOTE: As part of hot_module_reload, the server will be restarted after a client has
|
|
28
|
+
// signaled that the HMR update is complete (see handle_hmr_server_process_messages in
|
|
29
|
+
// lib/development_server/index.js for the event handler).
|
|
30
|
+
return ['hot_module_reload'];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return ['restart_app_server'];
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export default get_after_run_tasks;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import read_file_dependency_map from "./read_file_dependency_map.js";
|
|
2
|
+
import path_exists from '../../path_exists.js';
|
|
3
|
+
import get_platform_safe_path from '../../get_platform_safe_path.js';
|
|
4
|
+
|
|
5
|
+
const find_codependencies_in_map = (path_to_find = '', map = {}) => {
|
|
6
|
+
const matching_codependents = Object.entries(map)
|
|
7
|
+
.filter(([_codependent_path, codependent_dependencies]) => {
|
|
8
|
+
const has_matching_imports =
|
|
9
|
+
codependent_dependencies &&
|
|
10
|
+
codependent_dependencies.imports &&
|
|
11
|
+
codependent_dependencies.imports.some((codependent_dependency) => {
|
|
12
|
+
// NOTE: If a file is renamed to use lowercase (or vice versa), the dependent file
|
|
13
|
+
// should respect that change, even if the developer forgets to update the import
|
|
14
|
+
// path's casing.
|
|
15
|
+
|
|
16
|
+
return codependent_dependency.absolute_path.includes(path_to_find) || codependent_dependency.absolute_path?.toLowerCase()?.includes(path_to_find);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const has_matching_requires =
|
|
20
|
+
codependent_dependencies &&
|
|
21
|
+
codependent_dependencies.requires &&
|
|
22
|
+
codependent_dependencies.requires.some((codependent_dependency) => {
|
|
23
|
+
// NOTE: If a file is renamed to use lowercase (or vice versa), the dependent file
|
|
24
|
+
// should respect that change, even if the developer forgets to update the import
|
|
25
|
+
// path's casing.
|
|
26
|
+
|
|
27
|
+
return codependent_dependency.absolute_path.includes(path_to_find) || codependent_dependency.absolute_path?.toLowerCase()?.includes(path_to_find);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
return has_matching_imports || has_matching_requires;
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
return matching_codependents.map(([matching_codependent_path]) => {
|
|
34
|
+
return matching_codependent_path.replace(
|
|
35
|
+
get_platform_safe_path(`${process.cwd()}/`),
|
|
36
|
+
""
|
|
37
|
+
);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const get_file_codependencies = async (path_to_find = "") => {
|
|
42
|
+
const file_dependency_map = await read_file_dependency_map();
|
|
43
|
+
const codpendencies = find_codependencies_in_map(
|
|
44
|
+
path_to_find,
|
|
45
|
+
file_dependency_map
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
return Promise.all(codpendencies.filter((codependency) => {
|
|
49
|
+
return path_exists(codependency);
|
|
50
|
+
}));
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default get_file_codependencies;
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import chokidar from 'chokidar';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import { dirname } from 'path';
|
|
4
|
+
import build_files from '../../build/build_files.js';
|
|
5
|
+
import debounce from '../../debounce.js';
|
|
6
|
+
import get_after_run_tasks from './get_after_run_tasks.js';
|
|
7
|
+
import get_file_codependencies from './get_file_codependencies.js';
|
|
8
|
+
import get_file_operation from '../../build/get_file_operation.js';
|
|
9
|
+
import get_path_platform from '../../build/get_path_platform.js';
|
|
10
|
+
import types from '../../types.js';
|
|
11
|
+
import watch_paths from './watch_paths.js';
|
|
12
|
+
|
|
13
|
+
const { mkdir, copyFile, rm: remove } = fs.promises;
|
|
14
|
+
|
|
15
|
+
const handle_build_files = async (job = {}, options = {}) => {
|
|
16
|
+
const codependencies = process.initial_build_complete ? await get_file_codependencies(job?.path) : [];
|
|
17
|
+
|
|
18
|
+
// NOTE: If we have codependencies, make sure that the file triggering the current job is rebuilt first
|
|
19
|
+
// *before* rebuilding its codependencies. This ensures that codependencies get the latest build of the
|
|
20
|
+
// file. If we do them all together in parallel, the latest build is missed.
|
|
21
|
+
if (options?.is_build_file) {
|
|
22
|
+
await build_files({
|
|
23
|
+
files: [{ path: job?.path, platform: get_path_platform(job?.path) }],
|
|
24
|
+
}).catch((errors = []) => {
|
|
25
|
+
if (!process.initial_build_complete && errors?.length > 0) {
|
|
26
|
+
process.exit(0);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (process.initial_build_complete && errors?.length > 0) {
|
|
30
|
+
process.app_server_process.send(
|
|
31
|
+
JSON.stringify({
|
|
32
|
+
type: "BUILD_ERROR",
|
|
33
|
+
paths: errors.filter(({ success }) => !success),
|
|
34
|
+
})
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
process.hmr_server_process.send(JSON.stringify({
|
|
38
|
+
type: 'BUILD_ERROR',
|
|
39
|
+
}));
|
|
40
|
+
|
|
41
|
+
throw new Error('BUILD_ERROR');
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// NOTE: Run handle_build_files() recursively against codependencies as each of *that* files codependencies
|
|
47
|
+
// need to be rebuilt, too. This is because we bundle code into a single file, so all files up the "tree"
|
|
48
|
+
// need to be updated to reflect any changes of their children.
|
|
49
|
+
if (codependencies?.length > 0) {
|
|
50
|
+
for (let i = 0; i < codependencies?.length; i += 1) {
|
|
51
|
+
const codependency = codependencies[i];
|
|
52
|
+
await handle_build_files({ path: codependency }, options);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return Promise.resolve();
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const run_job = async (job = {}) => {
|
|
60
|
+
switch(job?.operation) {
|
|
61
|
+
case 'add_directory':
|
|
62
|
+
return mkdir(`.joystick/build/${job?.path}`, { recursive: true });
|
|
63
|
+
case 'build_file':
|
|
64
|
+
return handle_build_files(job, { is_build_file: true });
|
|
65
|
+
case 'copy_file':
|
|
66
|
+
await mkdir(dirname(`.joystick/build/${job?.path}`), { recursive: true });
|
|
67
|
+
await copyFile(job?.path, `.joystick/build/${job?.path}`);
|
|
68
|
+
return handle_build_files(job, { is_build_file: false });
|
|
69
|
+
case 'delete_directory':
|
|
70
|
+
return remove(`.joystick/build/${job?.path}`, { recursive: true });
|
|
71
|
+
case 'delete_file':
|
|
72
|
+
await remove(`.joystick/build/${job?.path}`, { recursive: true });
|
|
73
|
+
return handle_build_files(job, { is_build_file: false });
|
|
74
|
+
default:
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const get_delete_directory_job = (job = {}) => {
|
|
80
|
+
return {
|
|
81
|
+
operation: job?.event,
|
|
82
|
+
path: job?.path,
|
|
83
|
+
after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const get_add_directory_job = (job = {}) => {
|
|
88
|
+
return {
|
|
89
|
+
operation: job?.event,
|
|
90
|
+
path: job?.path,
|
|
91
|
+
after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const get_delete_file_job = (job = {}) => {
|
|
96
|
+
return {
|
|
97
|
+
operation: job?.event,
|
|
98
|
+
path: job?.path,
|
|
99
|
+
after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
const get_change_file_job = (job = {}) => {
|
|
104
|
+
return {
|
|
105
|
+
operation: job?.is_custom_copy_path ? 'copy_file' : get_file_operation(job?.path),
|
|
106
|
+
path: job?.path,
|
|
107
|
+
after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const get_add_file_job = (job = {}) => {
|
|
112
|
+
return {
|
|
113
|
+
operation: job?.is_custom_copy_path ? 'copy_file' : get_file_operation(job?.path),
|
|
114
|
+
path: job?.path,
|
|
115
|
+
after_run_tasks: process.initial_build_complete ? get_after_run_tasks(job?.path) : ['start_app_server', 'start_hmr_server'],
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
const get_job_to_be_done = (job = {}) => {
|
|
120
|
+
switch(job?.event) {
|
|
121
|
+
case 'add_file':
|
|
122
|
+
return get_add_file_job(job);
|
|
123
|
+
case 'change_file':
|
|
124
|
+
return get_change_file_job(job);
|
|
125
|
+
case 'delete_file':
|
|
126
|
+
return get_delete_file_job(job);
|
|
127
|
+
case 'add_directory':
|
|
128
|
+
return get_add_directory_job(job);
|
|
129
|
+
case 'delete_directory':
|
|
130
|
+
return get_delete_directory_job(job);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
const process_file_watcher_jobs = async (jobs = [], after_run_functions = {}) => {
|
|
135
|
+
try {
|
|
136
|
+
const after_run_tasks = new Set([]);
|
|
137
|
+
|
|
138
|
+
for (let i = 0; i < jobs?.length; i += 1) {
|
|
139
|
+
const job_to_run = jobs[i];
|
|
140
|
+
const job = get_job_to_be_done(job_to_run);
|
|
141
|
+
|
|
142
|
+
await run_job(job);
|
|
143
|
+
|
|
144
|
+
if (job?.after_run_tasks) {
|
|
145
|
+
for (let i = 0; i < job?.after_run_tasks?.length; i += 1) {
|
|
146
|
+
const after_run_task = job?.after_run_tasks[i];
|
|
147
|
+
after_run_tasks.add(after_run_task);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const tasks_to_run = Array.from(after_run_tasks);
|
|
153
|
+
|
|
154
|
+
for (let i = 0; i < tasks_to_run?.length; i += 1) {
|
|
155
|
+
const after_run_task = tasks_to_run[i];
|
|
156
|
+
|
|
157
|
+
if (types.is_function(after_run_functions[after_run_task])) {
|
|
158
|
+
await after_run_functions[after_run_task](jobs);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
} catch(error) {
|
|
162
|
+
// NOTE: Dead catch as we just want to avoid after_run_tasks from running. Actual
|
|
163
|
+
// errors are handled as part of run_job() (e.g., build errors are handled as a part
|
|
164
|
+
// of handle_build_files()).
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
const transform_chokidar_event = (event = '') => {
|
|
169
|
+
switch(event) {
|
|
170
|
+
case 'add':
|
|
171
|
+
return 'add_file';
|
|
172
|
+
case 'change':
|
|
173
|
+
return 'change_file';
|
|
174
|
+
case 'unlink':
|
|
175
|
+
return 'delete_file';
|
|
176
|
+
case 'addDir':
|
|
177
|
+
return 'add_directory';
|
|
178
|
+
case 'unlinkDir':
|
|
179
|
+
return 'delete_directory';
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
const watch_for_changes = (after_run_functions = {}, watch_for_changes_options = {}) => {
|
|
184
|
+
const file_watcher = chokidar.watch([...watch_paths, ...(watch_for_changes_options?.custom_copy_paths || [])].map(({ path }) => path), {
|
|
185
|
+
ignored: '.joystick',
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
let file_watcher_jobs = [];
|
|
189
|
+
|
|
190
|
+
process.initial_build_complete = false;
|
|
191
|
+
|
|
192
|
+
file_watcher.on('error', (error) => console.error(error));
|
|
193
|
+
|
|
194
|
+
file_watcher.on('all', (event, path) => {
|
|
195
|
+
const is_excluded_path = watch_for_changes_options?.excluded_paths?.some((excluded_path) => {
|
|
196
|
+
return path.includes(excluded_path);
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
if (!is_excluded_path) {
|
|
200
|
+
file_watcher_jobs.push({
|
|
201
|
+
event: transform_chokidar_event(event),
|
|
202
|
+
path,
|
|
203
|
+
is_custom_copy_path: watch_for_changes_options?.custom_copy_paths?.length ? watch_for_changes_options?.custom_copy_paths.some((custom_copy_path) => {
|
|
204
|
+
return path.includes(custom_copy_path?.path);
|
|
205
|
+
}) : false,
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
// NOTE: Depending on the watch event, we expect multiple events to be emitted
|
|
209
|
+
// by chokidar. Debouncing here allows us to "collect" the jobs for the current
|
|
210
|
+
// chain of events and *then* process them all together. This is done to avoid
|
|
211
|
+
// triggering multiple HMR calls or server restarts for files related to the
|
|
212
|
+
// same job. This is near-instant, so there's no delay for the developer.
|
|
213
|
+
debounce(async () => {
|
|
214
|
+
await process_file_watcher_jobs(file_watcher_jobs, after_run_functions);
|
|
215
|
+
process.initial_build_complete = true;
|
|
216
|
+
file_watcher_jobs = [];
|
|
217
|
+
}, 100);
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
export default watch_for_changes;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import get_platform_safe_path from "./get_platform_safe_path.js";
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
get_platform_safe_path("api/"),
|
|
5
|
+
get_platform_safe_path("caches/"),
|
|
6
|
+
get_platform_safe_path("cronJobs/"),
|
|
7
|
+
get_platform_safe_path("cron_jobs/"),
|
|
8
|
+
get_platform_safe_path("fixtures/"),
|
|
9
|
+
get_platform_safe_path("indexes/"),
|
|
10
|
+
get_platform_safe_path("lib/node"),
|
|
11
|
+
get_platform_safe_path("queues/"),
|
|
12
|
+
get_platform_safe_path("routes/"),
|
|
13
|
+
get_platform_safe_path("tests/"),
|
|
14
|
+
get_platform_safe_path("uploaders/"),
|
|
15
|
+
get_platform_safe_path("websockets/"),
|
|
16
|
+
"index.server.js",
|
|
17
|
+
];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path_exists from '../../path_exists.js';
|
|
3
|
+
|
|
4
|
+
const { readFile } = fs.promises;
|
|
5
|
+
|
|
6
|
+
const read_file_dependency_map = async () => {
|
|
7
|
+
const file_map_path = `.joystick/build/file_map.json`;
|
|
8
|
+
|
|
9
|
+
if (await path_exists(file_map_path)) {
|
|
10
|
+
const file_map_as_json = await readFile(file_map_path, "utf-8");
|
|
11
|
+
const file_map = file_map_as_json ? JSON.parse(file_map_as_json) : {};
|
|
12
|
+
return file_map;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return {};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default read_file_dependency_map;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import copy_paths from "../../build/copy_paths.js";
|
|
2
|
+
|
|
3
|
+
const watch_paths = [
|
|
4
|
+
{ path: "api" },
|
|
5
|
+
{ path: "caches" },
|
|
6
|
+
{ path: "cronJobs" },
|
|
7
|
+
{ path: "cron_jobs" },
|
|
8
|
+
{ path: "email" },
|
|
9
|
+
{ path: "fixtures" },
|
|
10
|
+
{ path: "indexes" },
|
|
11
|
+
{ path: "lib" },
|
|
12
|
+
{ path: "queues" },
|
|
13
|
+
{ path: "routes" },
|
|
14
|
+
{ path: "ui" },
|
|
15
|
+
{ path: "uploaders" },
|
|
16
|
+
{ path: "websockets" },
|
|
17
|
+
{ path: "index.client.js" },
|
|
18
|
+
{ path: "index.server.js" },
|
|
19
|
+
...copy_paths,
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
export default watch_paths;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
|
|
3
|
+
const encrypt_buffer = (buffer, key) => {
|
|
4
|
+
const initialization_vector = crypto.randomBytes(16);
|
|
5
|
+
const hashed_encryption_key = crypto.createHash('sha256').update(key).digest('hex').substring(0, 32);
|
|
6
|
+
const cipher = crypto.createCipheriv('aes256', hashed_encryption_key, initialization_vector);
|
|
7
|
+
return Buffer.concat([initialization_vector, cipher.update(buffer), cipher.final()]);
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default encrypt_buffer;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890'.split('');
|
|
2
|
+
|
|
3
|
+
const generate_id = (length = 16) => {
|
|
4
|
+
let id = '';
|
|
5
|
+
let i = 0;
|
|
6
|
+
|
|
7
|
+
while (i < length) {
|
|
8
|
+
id += characters[Math.floor(Math.random() * (characters.length - 1))];
|
|
9
|
+
i += 1;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return id;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default generate_id;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
|
|
4
|
+
const { readdir, stat } = fs.promises;
|
|
5
|
+
|
|
6
|
+
const get_files_in_path = async (path = './', existing_files = []) => {
|
|
7
|
+
const files_in_path = (await readdir(path))?.map((file_in_path) => {
|
|
8
|
+
return join(path, file_in_path);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
existing_files.push(...files_in_path);
|
|
12
|
+
|
|
13
|
+
for (let i = 0; i < files_in_path?.length; i += 1) {
|
|
14
|
+
const file = files_in_path[i];
|
|
15
|
+
const is_directory = (await stat(file)).isDirectory();
|
|
16
|
+
|
|
17
|
+
if (is_directory) {
|
|
18
|
+
await get_files_in_path(file, existing_files);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return existing_files;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default get_files_in_path;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import child_process from 'child_process';
|
|
2
|
+
import util from 'util';
|
|
3
|
+
|
|
4
|
+
const exec = util.promisify(child_process.exec);
|
|
5
|
+
|
|
6
|
+
const get_process_id_from_port = async (port = 0) => {
|
|
7
|
+
if (process.platform === 'win32') {
|
|
8
|
+
return exec(`netstat -a -n -o | find "${port}"`)
|
|
9
|
+
.then((stat) => {
|
|
10
|
+
const stat_result = stat.stdout?.split('\n');
|
|
11
|
+
const process_id_response = stat_result && stat_result[0] && stat_result[0]?.split(' ')?.filter((value) => value !== '')?.map((value) => {
|
|
12
|
+
return value?.replace('\r', '');
|
|
13
|
+
})?.pop();
|
|
14
|
+
|
|
15
|
+
return process_id_response || null;
|
|
16
|
+
})
|
|
17
|
+
.catch(() => {
|
|
18
|
+
return null;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const process_id_response = await exec(`lsof -n -i:${port} | grep LISTEN | awk '{ print $2 }' | uniq`);
|
|
23
|
+
return process_id_response?.stdout || null;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export default get_process_id_from_port;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import get_process_id_from_port from "./get_process_id_from_port.js";
|
|
2
|
+
import kill_process_id from "./kill_process_id.js";
|
|
3
|
+
|
|
4
|
+
const kill_port_process = async (port = 0) => {
|
|
5
|
+
const process_id = await get_process_id_from_port(port);
|
|
6
|
+
|
|
7
|
+
if (process_id) {
|
|
8
|
+
await kill_process_id(process_id);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default kill_port_process;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import child_process from 'child_process';
|
|
2
|
+
import util from 'util';
|
|
3
|
+
|
|
4
|
+
const exec = util.promisify(child_process.exec);
|
|
5
|
+
|
|
6
|
+
const kill_process_id = async (process_id = 0) => {
|
|
7
|
+
const process_id_as_integer = parseInt(process_id, 10);
|
|
8
|
+
|
|
9
|
+
if (process_id_as_integer) {
|
|
10
|
+
if (process.platform === 'win32') {
|
|
11
|
+
await exec(`taskkill /F /PID ${process_id_as_integer}`);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
await exec(`kill -9 ${process_id_as_integer}`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default kill_process_id;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import cli_log from './cli_log.js';
|
|
3
|
+
import is_valid_json_string from './is_valid_json_string.js';
|
|
4
|
+
import path_exists from './path_exists.js';
|
|
5
|
+
|
|
6
|
+
const { readFile } = fs.promises;
|
|
7
|
+
|
|
8
|
+
const load_settings = async (environment = null) => {
|
|
9
|
+
const settings_file_path = `${process.cwd()}/settings.${environment}.json`;
|
|
10
|
+
const has_settings_file = await path_exists(settings_file_path);
|
|
11
|
+
|
|
12
|
+
if (!has_settings_file) {
|
|
13
|
+
cli_log(`A settings file could not be found for this environment (${environment}). Create a settings.${environment}.json file at the root of your project and restart Joystick.`, {
|
|
14
|
+
level: 'danger',
|
|
15
|
+
docs: 'https://github.com/cheatcode/joystick#settings',
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
process.exit(0);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const raw_settings_file = await readFile(settings_file_path, "utf-8");
|
|
22
|
+
const is_valid_json = is_valid_json_string(raw_settings_file);
|
|
23
|
+
|
|
24
|
+
if (!is_valid_json) {
|
|
25
|
+
cli_log(`Failed to parse settings file. Double-check the syntax in your settings.${environment}.json file at the root of your project and restart Joystick.`, {
|
|
26
|
+
level: 'danger',
|
|
27
|
+
docs: 'https://github.com/cheatcode/joystick#settings',
|
|
28
|
+
tools: [
|
|
29
|
+
{ title: 'JSON Linter', url: 'https://jsonlint.com/' }
|
|
30
|
+
],
|
|
31
|
+
});
|
|
32
|
+
process.exit(0);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const settings_file = is_valid_json ? raw_settings_file : "{}";
|
|
36
|
+
|
|
37
|
+
// NOTE: Child process will inherit this env var from this parent process.
|
|
38
|
+
process.env.JOYSTICK_SETTINGS = settings_file;
|
|
39
|
+
|
|
40
|
+
return JSON.parse(settings_file);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export default load_settings;
|