@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,137 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import child_process from "child_process";
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import { dirname } from 'path';
|
|
5
|
+
import util from 'util';
|
|
6
|
+
import build_files from "./build_files.js";
|
|
7
|
+
import get_files_to_build from "./get_files_to_build.js";
|
|
8
|
+
import get_file_operation from "./get_file_operation.js";
|
|
9
|
+
import get_path_platform from "./get_path_platform.js";
|
|
10
|
+
import get_tar_ignore_list from "./get_tar_ignore_list.js";
|
|
11
|
+
import load_settings from "../load_settings.js";
|
|
12
|
+
import Loader from "../loader.js";
|
|
13
|
+
import path_exists from "../path_exists.js";
|
|
14
|
+
import encrypt_buffer from '../../lib/encrypt_buffer.js';
|
|
15
|
+
|
|
16
|
+
const { mkdir, copyFile, readFile, writeFile, readdir } = fs.promises;
|
|
17
|
+
const exec = util.promisify(child_process.exec);
|
|
18
|
+
|
|
19
|
+
const get_custom_copy_paths = async (copy_paths_from_settings = []) => {
|
|
20
|
+
const custom_copy_paths = [];
|
|
21
|
+
|
|
22
|
+
for (let i = 0; i < copy_paths_from_settings?.length; i += 1) {
|
|
23
|
+
const custom_copy_path = copy_paths_from_settings[i];
|
|
24
|
+
|
|
25
|
+
if (fs.existsSync(custom_copy_path)) {
|
|
26
|
+
const stat = fs.lstatSync(custom_copy_path);
|
|
27
|
+
|
|
28
|
+
if (stat.isDirectory()) {
|
|
29
|
+
const paths = await readdir(custom_copy_path, { recursive: true });
|
|
30
|
+
custom_copy_paths.push(
|
|
31
|
+
...(paths || [])?.map((path) => {
|
|
32
|
+
return `${custom_copy_path}/${path}`;
|
|
33
|
+
})
|
|
34
|
+
);
|
|
35
|
+
} else {
|
|
36
|
+
custom_copy_paths.push(custom_copy_path);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return custom_copy_paths;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const get_files_to_build_with_operation_and_platform = (files = []) => {
|
|
45
|
+
return files?.map((file) => {
|
|
46
|
+
return {
|
|
47
|
+
path: file,
|
|
48
|
+
operation: get_file_operation(file),
|
|
49
|
+
platform: get_path_platform(file),
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const build = async (options = {}) => {
|
|
55
|
+
const loader = new Loader();
|
|
56
|
+
|
|
57
|
+
const build_type = options?.type || 'tar';
|
|
58
|
+
const environment = options?.environment || "production";
|
|
59
|
+
|
|
60
|
+
loader.print(`Building app to ${build_type} for ${environment}...`);
|
|
61
|
+
|
|
62
|
+
const settings = await load_settings(environment);
|
|
63
|
+
const excluded_paths = settings?.config?.build?.excluded_paths || settings?.config?.build?.excludedPaths;
|
|
64
|
+
const custom_copy_paths = await get_custom_copy_paths(settings?.config?.build?.copy_paths);
|
|
65
|
+
|
|
66
|
+
const files_for_build = await get_files_to_build(excluded_paths, custom_copy_paths);
|
|
67
|
+
const output_path = build_type === 'tar' ? '.build/.tar' : '.build';
|
|
68
|
+
const files_to_build_with_operation_and_platform = get_files_to_build_with_operation_and_platform(files_for_build);
|
|
69
|
+
|
|
70
|
+
if (await path_exists('.build')) {
|
|
71
|
+
await exec(`rm -rf .build`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const files_to_copy = [
|
|
75
|
+
...files_to_build_with_operation_and_platform?.filter((file) => {
|
|
76
|
+
return file?.operation === 'copy_file';
|
|
77
|
+
}),
|
|
78
|
+
...(custom_copy_paths || [])?.map((custom_copy_path) => {
|
|
79
|
+
return { path: custom_copy_path };
|
|
80
|
+
}),
|
|
81
|
+
];
|
|
82
|
+
|
|
83
|
+
const files_to_build = files_to_build_with_operation_and_platform?.filter((file) => {
|
|
84
|
+
return file?.operation === 'build_file';
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
for (let i = 0; i < files_to_copy?.length; i += 1) {
|
|
88
|
+
const file_to_copy = files_to_copy[i];
|
|
89
|
+
const stat = fs.lstatSync(file_to_copy?.path);
|
|
90
|
+
|
|
91
|
+
if (stat.isFile()) {
|
|
92
|
+
await mkdir(dirname(`${output_path}/${file_to_copy?.path}`), { recursive: true });
|
|
93
|
+
await copyFile(file_to_copy?.path, `${output_path}/${file_to_copy?.path}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
await build_files({
|
|
98
|
+
files: files_to_build,
|
|
99
|
+
environment,
|
|
100
|
+
output_path,
|
|
101
|
+
}).catch((error) => {
|
|
102
|
+
console.warn(error);
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
if (build_type === "tar") {
|
|
106
|
+
const ignore_list = get_tar_ignore_list(settings?.config?.build?.excludedPaths);
|
|
107
|
+
|
|
108
|
+
await exec(
|
|
109
|
+
`cd ${output_path} && tar --exclude=${ignore_list} -czf ../build.tar.gz .`
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
await exec(`rm -rf ${output_path}`);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (build_type === "tar" && options?.encrypt_build) {
|
|
116
|
+
const build_path = output_path?.replace('/.tar', '/build.tar.gz');
|
|
117
|
+
|
|
118
|
+
const encrypted_build = encrypt_buffer(
|
|
119
|
+
await readFile(build_path),
|
|
120
|
+
options?.encryption_key,
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
await writeFile(`.build/build.encrypted.tar.gz`, encrypted_build);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (!options?.silence_confirmation) {
|
|
127
|
+
console.log(
|
|
128
|
+
chalk.greenBright(`\n✔ App built as ${build_type} to ${build_type === 'tar' ? output_path?.replace('/.tar', '/build.tar.gz') : output_path}!\n`)
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (await path_exists('.build/component_id_cache.json')) {
|
|
133
|
+
await exec(`rm -rf .build/component_id_cache.json`);
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export default build;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const master_ignore_list = [
|
|
2
|
+
'.build',
|
|
3
|
+
'.DS_Store',
|
|
4
|
+
'.git',
|
|
5
|
+
'.joystick/build',
|
|
6
|
+
'.joystick/data',
|
|
7
|
+
'.push',
|
|
8
|
+
'node_modules',
|
|
9
|
+
'settings.development.json',
|
|
10
|
+
'settings.staging.json',
|
|
11
|
+
'settings.production.json',
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
export default master_ignore_list;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import esbuild from "esbuild";
|
|
3
|
+
import path_exists from "../path_exists.js";
|
|
4
|
+
|
|
5
|
+
const { readFile, writeFile } = fs.promises;
|
|
6
|
+
|
|
7
|
+
const minify_file = async (path = "") => {
|
|
8
|
+
if (await path_exists(path)) {
|
|
9
|
+
const file = await readFile(path, "utf-8");
|
|
10
|
+
const minified = await esbuild.transform(file, {
|
|
11
|
+
minify: true,
|
|
12
|
+
}).catch((error) => {
|
|
13
|
+
console.warn(error);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
if (minified?.code) {
|
|
17
|
+
await writeFile(path, minified.code);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default minify_file;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import get_platform_safe_path from "./get_platform_safe_path.js";
|
|
2
|
+
|
|
3
|
+
const node_paths = [
|
|
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
|
+
];
|
|
18
|
+
|
|
19
|
+
export default node_paths;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import constants from "../constants.js";
|
|
3
|
+
import get_code_frame from "./get_code_frame.js";
|
|
4
|
+
import rainbow_road from '../rainbow_road.js';
|
|
5
|
+
|
|
6
|
+
const remove_location_data_from_stack_tree = (stack_trace = "") => {
|
|
7
|
+
return stack_trace.replace(constants.OBJECT_REGEX, "");
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const log_error = (warning = {}) => {
|
|
11
|
+
const snippet_lines = warning?.snippet?.split(`\n`);
|
|
12
|
+
|
|
13
|
+
console.log('\n');
|
|
14
|
+
console.log(`${rainbow_road()}\n`);
|
|
15
|
+
|
|
16
|
+
if (warning.file) {
|
|
17
|
+
console.log(chalk.yellowBright(`Build Error in ${warning?.file}:\n`));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (snippet_lines && snippet_lines.length > 0) {
|
|
21
|
+
snippet_lines.forEach((line) => {
|
|
22
|
+
if (line.includes(`> ${warning.line} |`)) {
|
|
23
|
+
return console.log(` ${chalk.red(line)}`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return console.log(` ${chalk.gray(line)}`);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (warning?.stack) {
|
|
31
|
+
console.log(chalk.magentaBright("\nStack Trace:\n"));
|
|
32
|
+
console.log(chalk.yellow(` ${remove_location_data_from_stack_tree(warning?.stack)}\n`));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
process.loader.error(
|
|
36
|
+
"Build error. Fix the error above to continue building your app."
|
|
37
|
+
);
|
|
38
|
+
console.log('\n');
|
|
39
|
+
console.log(`${rainbow_road()}\n`);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const parse_warning = async (warning = {}, type = "") => {
|
|
43
|
+
if (type && type === "BUILD_ERROR") {
|
|
44
|
+
return {
|
|
45
|
+
file: warning?.file,
|
|
46
|
+
snippet: warning?.snippet ? await get_code_frame(warning.file, {
|
|
47
|
+
line: warning?.line,
|
|
48
|
+
column: warning?.column,
|
|
49
|
+
}) : '',
|
|
50
|
+
stack: warning?.stack,
|
|
51
|
+
line: warning?.line,
|
|
52
|
+
character: warning?.column,
|
|
53
|
+
message: warning?.message,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return null;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const on_warn = async (warning) => {
|
|
61
|
+
const parsed_warning = await parse_warning(warning, "BUILD_ERROR");
|
|
62
|
+
|
|
63
|
+
if (parsed_warning) {
|
|
64
|
+
log_error(parsed_warning);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return parsed_warning;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export default on_warn;
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import get_platform_safe_path from '../../get_platform_safe_path.js';
|
|
4
|
+
import constants from '../../constants.js';
|
|
5
|
+
import set_component_id from './set_component_id.js';
|
|
6
|
+
import path_exists from '../../path_exists.js';
|
|
7
|
+
|
|
8
|
+
const { readFile, writeFile } = fs.promises;
|
|
9
|
+
|
|
10
|
+
const restore_examples_without_mounting_code = (code = '', examples_before_replacement = []) => {
|
|
11
|
+
for (let i = 0; i < examples_before_replacement?.length; i += 1) {
|
|
12
|
+
const example_to_restore = examples_before_replacement[i];
|
|
13
|
+
code = code.replace(`%example:${i}%`, example_to_restore);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const add_page_mounting_code = (code = '', default_export = '', component_name = '') => {
|
|
18
|
+
return code.replace(
|
|
19
|
+
`${default_export};`,
|
|
20
|
+
`if (
|
|
21
|
+
typeof window !== 'undefined' &&
|
|
22
|
+
window.__joystick_should_auto_mount__ === true &&
|
|
23
|
+
!window.__joystick_layout_url__ &&
|
|
24
|
+
window.__joystick_page_url__ &&
|
|
25
|
+
!window.__joystick_hmr_update__ &&
|
|
26
|
+
joystick &&
|
|
27
|
+
joystick.mount
|
|
28
|
+
) {
|
|
29
|
+
joystick.mount(${component_name}, window.__joystick_ssr_props__ || {}, document.getElementById('app'));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default ${component_name};
|
|
33
|
+
`
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const add_layout_mounting_code = (code = '', default_export = '', component_name = '') => {
|
|
38
|
+
return code.replace(
|
|
39
|
+
`${default_export};`,
|
|
40
|
+
`if (
|
|
41
|
+
typeof window !== 'undefined' &&
|
|
42
|
+
window.__joystick_should_auto_mount__ === true &&
|
|
43
|
+
window.__joystick_layout_url__ &&
|
|
44
|
+
window.__joystick_page_url__ &&
|
|
45
|
+
!window.__joystick_hmr_update__ &&
|
|
46
|
+
joystick &&
|
|
47
|
+
joystick.mount
|
|
48
|
+
) {
|
|
49
|
+
(async () => {
|
|
50
|
+
const layout_component_file = await import(window.__joystick_layout_url__);
|
|
51
|
+
const page_component_file = await import(window.window.__joystick_page_url__);
|
|
52
|
+
const layout = layout_component_file.default;
|
|
53
|
+
const page = page_component_file.default;
|
|
54
|
+
joystick.mount(layout, Object.assign({ ...window.__joystick_ssr_props__ }, { page }), document.getElementById('app'));
|
|
55
|
+
})();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export default ${component_name};
|
|
59
|
+
`
|
|
60
|
+
);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const replace_commented_code = (code = '') => {
|
|
64
|
+
return code.replace(constants.JOYSTICK_COMMENT_REGEX, "");
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const set_placeholders_for_examples = (code = '') => {
|
|
68
|
+
// NOTE: Replace any <example> bracketed code with a placeholder. This ensures
|
|
69
|
+
// that we don't accidentally include any mounting code (or inject a _componentId)
|
|
70
|
+
// in Joystick example code included as content on the page.
|
|
71
|
+
//
|
|
72
|
+
// example_index is tracked to account for potential for multiple examples in a
|
|
73
|
+
// single file. example_index acts as a placeholder for the code to swap back
|
|
74
|
+
// in after the _componentId is set in restore_examples_without_mounting_code().
|
|
75
|
+
let example_index = 0;
|
|
76
|
+
|
|
77
|
+
return code.replace(
|
|
78
|
+
constants.EXAMPLE_CODE_REGEX,
|
|
79
|
+
() => {
|
|
80
|
+
return `%example:${example_index++}%`;
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
const get_examples_before_replacement = (code = '') => {
|
|
86
|
+
return code.match(constants.EXAMPLE_CODE_REGEX) || [];
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const get_component_name = (default_export = null) => {
|
|
90
|
+
const default_export_parts = (default_export && default_export.split(" ")) || [];
|
|
91
|
+
return default_export_parts?.pop();
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const check_if_valid_component_file = (has_joystick_ui = false, default_export = null) => {
|
|
95
|
+
return has_joystick_ui && !!default_export;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
const get_default_export = (code = '') => {
|
|
99
|
+
const export_default_matches = code.match(constants.EXPORT_DEFAULT_REGEX) || [];
|
|
100
|
+
return export_default_matches && export_default_matches[0];
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
const check_if_has_joystick_ui = (code = '') => {
|
|
104
|
+
const joystick_ui_matches = code.match(constants.JOYSTICK_UI_REGEX) || [];
|
|
105
|
+
return !!joystick_ui_matches && !!joystick_ui_matches[0];
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
const check_if_is_component_type = (type ='', build_args = {}) => {
|
|
109
|
+
return [get_platform_safe_path(type)].some(
|
|
110
|
+
(bootstrap_target) => {
|
|
111
|
+
return build_args.path.includes(bootstrap_target);
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const check_if_should_set_component_id = (entry_point = '') => {
|
|
117
|
+
return [
|
|
118
|
+
get_platform_safe_path("ui/"),
|
|
119
|
+
get_platform_safe_path("email/"),
|
|
120
|
+
].some((bootstrap_target) => {
|
|
121
|
+
return entry_point.includes(bootstrap_target);
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
const bootstrap_component = (build = {}) => {
|
|
126
|
+
build.onLoad({ filter: /\.js$/ }, async (build_args = {}) => {
|
|
127
|
+
const is_layout_component = check_if_is_component_type('ui/layouts', build_args);
|
|
128
|
+
const is_page_component = check_if_is_component_type('ui/pages', build_args);
|
|
129
|
+
const is_email_component = check_if_is_component_type('email/', build_args);
|
|
130
|
+
const is_component = is_layout_component || is_page_component || is_email_component;
|
|
131
|
+
|
|
132
|
+
if (is_component) {
|
|
133
|
+
let file_contents = await readFile(get_platform_safe_path(build_args.path), "utf-8");
|
|
134
|
+
|
|
135
|
+
const has_joystick_ui = check_if_has_joystick_ui(file_contents);
|
|
136
|
+
const default_export = get_default_export(file_contents);
|
|
137
|
+
const is_valid_component_file = check_if_valid_component_file(has_joystick_ui, default_export);
|
|
138
|
+
const examples_before_replacement = get_examples_before_replacement(file_contents);
|
|
139
|
+
const component_name = get_component_name(default_export);
|
|
140
|
+
|
|
141
|
+
file_contents = set_placeholders_for_examples(file_contents);
|
|
142
|
+
file_contents = replace_commented_code(file_contents);
|
|
143
|
+
file_contents = component_name && is_layout_component ?
|
|
144
|
+
add_layout_mounting_code(file_contents, default_export, component_name) :
|
|
145
|
+
file_contents;
|
|
146
|
+
file_contents = component_name && is_page_component ?
|
|
147
|
+
add_page_mounting_code(file_contents, default_export, component_name) :
|
|
148
|
+
file_contents;
|
|
149
|
+
|
|
150
|
+
restore_examples_without_mounting_code(file_contents, examples_before_replacement);
|
|
151
|
+
|
|
152
|
+
return {
|
|
153
|
+
contents: file_contents,
|
|
154
|
+
loader: "js",
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
build.onEnd(() => {
|
|
160
|
+
return new Promise(async (resolve) => {
|
|
161
|
+
for (let i = 0; i < build?.initialOptions?.entryPoints?.length; i += 1) {
|
|
162
|
+
const entry_point = build?.initialOptions?.entryPoints[i];
|
|
163
|
+
const should_set_component_id = check_if_should_set_component_id(entry_point);
|
|
164
|
+
const build_exists = await path_exists(`${build?.initialOptions?.outdir}/${entry_point}`);
|
|
165
|
+
|
|
166
|
+
if (should_set_component_id && build_exists) {
|
|
167
|
+
let file_contents = await readFile(`${build?.initialOptions?.outdir}/${entry_point}`, "utf-8");
|
|
168
|
+
const has_joystick_ui = check_if_has_joystick_ui(file_contents);
|
|
169
|
+
const examples_before_replacement = get_examples_before_replacement(file_contents);
|
|
170
|
+
|
|
171
|
+
file_contents = set_placeholders_for_examples(file_contents);
|
|
172
|
+
|
|
173
|
+
if (has_joystick_ui) {
|
|
174
|
+
file_contents = await set_component_id(file_contents);
|
|
175
|
+
|
|
176
|
+
for (let i = 0; i < examples_before_replacement?.length; i += 1) {
|
|
177
|
+
const example_to_restore = examples_before_replacement[i];
|
|
178
|
+
file_contents = file_contents.replace(`%example:${i}%`, example_to_restore);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
await writeFile(`${build?.initialOptions?.outdir}/${entry_point}`, file_contents);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
resolve();
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export default bootstrap_component;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import get_platform_safe_path from '../../get_platform_safe_path.js';
|
|
3
|
+
import update_file_map from './update_file_map.js';
|
|
4
|
+
|
|
5
|
+
const { readFile } = fs.promises;
|
|
6
|
+
|
|
7
|
+
const generate_file_dependency_map = (build = {}) => {
|
|
8
|
+
build.onLoad({ filter: /\.js$/ }, async (args) => {
|
|
9
|
+
const can_add_to_map = !["node_modules", ".joystick", "?", "commonjsHelpers.js"].some((excluded_path) => {
|
|
10
|
+
return get_platform_safe_path(args.path).includes(excluded_path);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
if (can_add_to_map) {
|
|
14
|
+
const code = await readFile(get_platform_safe_path(args.path), "utf-8");
|
|
15
|
+
await update_file_map(get_platform_safe_path(args.path), code);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default generate_file_dependency_map;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import bootstrap_component from './bootstrap_component.js';
|
|
2
|
+
import generate_file_dependency_map from './generate_file_dependency_map.js';
|
|
3
|
+
import warn_node_environment from "./warn_node_environment.js";
|
|
4
|
+
|
|
5
|
+
const plugins = {
|
|
6
|
+
bootstrap_component: {
|
|
7
|
+
name: "bootstrap_component",
|
|
8
|
+
setup(build) {
|
|
9
|
+
bootstrap_component(build);
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
generate_file_dependency_map: {
|
|
13
|
+
name: "generate_file_dependency_map",
|
|
14
|
+
setup(build) {
|
|
15
|
+
generate_file_dependency_map(build);
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
warn_node_environment: {
|
|
19
|
+
name: "warn_node_environment",
|
|
20
|
+
setup(build) {
|
|
21
|
+
warn_node_environment(build);
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export default plugins;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import generate_id from "../../generate_id.js";
|
|
3
|
+
import path_exists from "../../path_exists.js";
|
|
4
|
+
|
|
5
|
+
const { readFile, writeFile } = fs.promises;
|
|
6
|
+
|
|
7
|
+
const update_component_id_cache = async (component_id_targets = [], component_id_cache = {}, component_id_cache_path = '') => {
|
|
8
|
+
for (let i = 0; i < component_id_targets.length; i += 1) {
|
|
9
|
+
const component = component_id_targets[i];
|
|
10
|
+
component_id_cache[component.path] = component.component_id;
|
|
11
|
+
await writeFile(component_id_cache_path, JSON.stringify(component_id_cache));
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const inject_component_id = (component_id_targets = [], file = '') => {
|
|
16
|
+
let updated_file = file;
|
|
17
|
+
|
|
18
|
+
for (let i = 0; i < component_id_targets.length; i += 1) {
|
|
19
|
+
const component = component_id_targets[i];
|
|
20
|
+
|
|
21
|
+
const tainted = component.source.replace(
|
|
22
|
+
/\.component\(\{+(?!\n + _componentId)/g,
|
|
23
|
+
() => {
|
|
24
|
+
return `.component({\n _componentId: '${component.component_id}',`;
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
updated_file = updated_file.replace(component.source, tainted);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return updated_file;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const get_component_id_targets = (file = '', component_paths_from_esbuild_output = [], component_id_cache = {}) => {
|
|
35
|
+
return component_paths_from_esbuild_output?.map((component_path, component_path_index) => {
|
|
36
|
+
const next_component_path = component_paths_from_esbuild_output[component_path_index + 1];
|
|
37
|
+
const path_without_comment = component_path.path.replace("// ", "");
|
|
38
|
+
|
|
39
|
+
return {
|
|
40
|
+
path: path_without_comment,
|
|
41
|
+
component_id: component_id_cache[path_without_comment] || generate_id(16),
|
|
42
|
+
index: component_path.index,
|
|
43
|
+
source: file.substring(
|
|
44
|
+
component_path.index,
|
|
45
|
+
next_component_path ? next_component_path.index : file.length
|
|
46
|
+
),
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const get_component_paths_from_esbuild_output = (file = '') => {
|
|
52
|
+
return [...file?.matchAll(/\/\/ ui+.*/gi), ...file?.matchAll(/\/\/ email+.*/gi)]?.map((match) => {
|
|
53
|
+
return {
|
|
54
|
+
path: match[0],
|
|
55
|
+
index: match.index,
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const get_existing_component_id_cache = async (component_id_cache_path = '') => {
|
|
61
|
+
const has_component_id_cache = await path_exists(component_id_cache_path);
|
|
62
|
+
|
|
63
|
+
if (has_component_id_cache) {
|
|
64
|
+
const component_id_cache = await readFile(component_id_cache_path, 'utf-8');
|
|
65
|
+
return JSON.parse(component_id_cache);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return {};
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const get_component_id_cache_path = () => {
|
|
72
|
+
return ['development', 'test'].includes(process.env.NODE_ENV)
|
|
73
|
+
? `./.joystick/build/component_id_cache.json`
|
|
74
|
+
: `./.build/component_id_cache.json`;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const set_component_id = async (file = "") => {
|
|
78
|
+
const component_id_cache_path = get_component_id_cache_path();
|
|
79
|
+
const component_id_cache = await get_existing_component_id_cache(component_id_cache_path);
|
|
80
|
+
const component_paths_from_esbuild_output = get_component_paths_from_esbuild_output(file);
|
|
81
|
+
const component_id_targets = get_component_id_targets(file, component_paths_from_esbuild_output, component_id_cache);
|
|
82
|
+
|
|
83
|
+
const file_with_component_id = inject_component_id(component_id_targets, file);
|
|
84
|
+
await update_component_id_cache(component_id_targets, component_id_cache, component_id_cache_path);
|
|
85
|
+
|
|
86
|
+
return file_with_component_id;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export default set_component_id;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path, { dirname } from 'path';
|
|
3
|
+
import * as acorn from "acorn";
|
|
4
|
+
import path_exists from '../../path_exists.js';
|
|
5
|
+
|
|
6
|
+
const { readFile, writeFile } = fs.promises;
|
|
7
|
+
|
|
8
|
+
const get_requires = (from_path = '', map = {}) => {
|
|
9
|
+
const requires = map?.body?.filter((statement) => {
|
|
10
|
+
const type = statement && statement.type;
|
|
11
|
+
const declarations = (statement && statement.declarations) || [];
|
|
12
|
+
|
|
13
|
+
const is_variable_declaration = type === "VariableDeclaration";
|
|
14
|
+
|
|
15
|
+
const has_require_statement = declarations.some((declaration) => {
|
|
16
|
+
const is_variable_declarator = declaration.type === "VariableDeclarator";
|
|
17
|
+
const callee_name = declaration?.init?.callee?.name;
|
|
18
|
+
return is_variable_declarator && callee_name === "require";
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return is_variable_declaration && has_require_statement;
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
return requires.map((require_declaration) => {
|
|
25
|
+
const declarations = require_declaration.declarations;
|
|
26
|
+
const declaration = declarations && declarations[0];
|
|
27
|
+
const declaration_value = declaration?.init?.arguments[0] && declaration.init.arguments[0]?.value;
|
|
28
|
+
|
|
29
|
+
return {
|
|
30
|
+
absolute_path: declaration_value ? path.resolve(dirname(from_path), declaration_value) : null,
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const get_imports = (from_path = '', map = {}) => {
|
|
36
|
+
const imports = map?.body?.filter(({ type }) => {
|
|
37
|
+
return type === "ImportDeclaration";
|
|
38
|
+
}) || [];
|
|
39
|
+
|
|
40
|
+
return imports.map((import_declaration) => {
|
|
41
|
+
return {
|
|
42
|
+
path: import_declaration?.source?.value,
|
|
43
|
+
absolute_path: path.resolve(dirname(from_path), import_declaration?.source?.value),
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const get_imports_and_requires = (from_path = '', map = {}) => {
|
|
49
|
+
const imports = get_imports(from_path, map);
|
|
50
|
+
const requires = get_requires(from_path, map);
|
|
51
|
+
|
|
52
|
+
return {
|
|
53
|
+
imports,
|
|
54
|
+
requires,
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const parse_file_to_ast = (file = "") => {
|
|
59
|
+
return acorn.parse(file, {
|
|
60
|
+
ecmaVersion: "latest",
|
|
61
|
+
sourceType: "module",
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const read_file_dependency_map = async () => {
|
|
66
|
+
const file_dependency_map_path = `.joystick/build/file_map.json`;
|
|
67
|
+
|
|
68
|
+
if (await path_exists(file_dependency_map_path)) {
|
|
69
|
+
const file_dependency_map_as_json = fs.readFileSync(
|
|
70
|
+
file_dependency_map_path,
|
|
71
|
+
"utf-8"
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
return file_dependency_map_as_json ? JSON.parse(file_dependency_map_as_json) : {};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return {};
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const update_file_map = async (from_path = "", source = "") => {
|
|
81
|
+
try {
|
|
82
|
+
const file_dependency_map = await read_file_dependency_map();
|
|
83
|
+
const file_ast = parse_file_to_ast(source);
|
|
84
|
+
const imports = file_ast ? get_imports_and_requires(from_path, file_ast) : [];
|
|
85
|
+
|
|
86
|
+
file_dependency_map[from_path] = imports;
|
|
87
|
+
|
|
88
|
+
fs.writeFileSync(
|
|
89
|
+
`.joystick/build/file_map.json`,
|
|
90
|
+
JSON.stringify(file_dependency_map, null, 2)
|
|
91
|
+
);
|
|
92
|
+
} catch {
|
|
93
|
+
// Do nothing. This exists to handle acorn parsing errors that are also picked
|
|
94
|
+
// up by the esbuild parser (we want to defer to esbuild).
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export default update_file_map;
|