@joystick.js/cli-canary 0.0.0-canary.66 → 0.0.0-canary.661
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.build/getFilesToBuild.js +1 -1
- package/.build/index.js +3 -3
- package/dist/cli.js +1 -69
- package/dist/commands/build/definition.js +1 -0
- package/dist/commands/build/index.js +1 -0
- package/dist/commands/create/build_package_json.js +1 -0
- package/dist/commands/create/definition.js +1 -0
- package/dist/commands/create/index.js +2 -0
- package/dist/commands/create/template/api/index.js +6 -0
- package/dist/commands/create/template/email/base.css +1 -0
- package/dist/commands/create/template/email/base.html +1 -0
- package/dist/commands/create/template/email/reset_password.js +20 -0
- package/dist/commands/create/template/i18n/en-US.js +14 -0
- package/dist/commands/create/template/index.client.js +1 -0
- package/dist/commands/create/template/index.css +34 -0
- package/dist/{functions/create/templates → commands/create/template}/index.html +2 -3
- package/dist/{functions/create/templates → commands/create/template}/index.server.js +6 -6
- package/dist/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
- package/dist/commands/create/template/public/favicon.ico +0 -0
- package/dist/commands/create/template/public/joystick_logo.webp +0 -0
- package/dist/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
- package/dist/commands/create/template/public/splash-screen-1024x1024.png +0 -0
- package/{src/functions/create/templates → dist/commands/create/template}/ui/components/button/index.js +14 -6
- package/{src/functions/create/templates → dist/commands/create/template}/ui/layouts/app/index.js +2 -2
- package/dist/commands/create/template/ui/pages/error/index.js +50 -0
- package/dist/commands/create/template/ui/pages/index/index.js +121 -0
- package/dist/commands/help/definition.js +1 -0
- package/dist/commands/help/index.js +19 -0
- package/dist/commands/index.js +1 -0
- package/dist/commands/logout/definition.js +1 -0
- package/dist/commands/logout/index.js +3 -0
- package/dist/commands/push/cdn_mirrors.js +1 -0
- package/dist/commands/push/check_if_settings_valid.js +1 -0
- package/dist/commands/push/create_version.js +1 -0
- package/dist/commands/push/definition.js +1 -0
- package/dist/commands/push/get_app_domain.js +1 -0
- package/dist/commands/push/get_deployment.js +1 -0
- package/dist/commands/push/get_provision_domain.js +1 -0
- package/dist/commands/push/get_session_token.js +1 -0
- package/dist/commands/push/get_settings_file.js +1 -0
- package/dist/commands/push/handle_initial_deployment.js +1 -0
- package/dist/commands/push/handle_version_deployment.js +1 -0
- package/dist/commands/push/index.js +8 -0
- package/dist/commands/push/prompts/confirm_deployment.js +17 -0
- package/dist/commands/push/prompts/session_token.js +5 -0
- package/dist/commands/push/upload_build_to_cdn.js +1 -0
- package/dist/commands/push/validate_deployment.js +1 -0
- package/dist/commands/push/validate_push_config.js +1 -0
- package/dist/commands/start/definition.js +1 -0
- package/dist/commands/start/index.js +1 -0
- package/dist/commands/test/definition.js +1 -0
- package/dist/commands/test/index.js +1 -0
- package/dist/commands/update/definition.js +1 -0
- package/dist/commands/update/index.js +1 -0
- package/dist/commands/use/definition.js +1 -0
- package/dist/commands/use/index.js +1 -0
- package/dist/index.js +1 -7
- package/dist/lib/build/browser_path_exclusions.js +1 -0
- package/dist/lib/build/browser_paths.js +1 -0
- package/dist/lib/build/build_files.js +3 -0
- package/dist/lib/build/copy_paths.js +1 -0
- package/dist/lib/build/get_code_frame.js +1 -0
- package/dist/lib/build/get_file_operation.js +1 -0
- package/dist/lib/build/get_files_to_build.js +1 -0
- package/dist/lib/build/get_path_platform.js +1 -0
- package/dist/lib/build/get_platform_safe_path.js +1 -0
- package/dist/lib/build/get_tar_ignore_list.js +2 -0
- package/dist/lib/build/index.js +3 -0
- package/dist/lib/build/master_ignore_list.js +1 -0
- package/dist/lib/build/minify_file.js +1 -0
- package/dist/lib/build/node_paths.js +1 -0
- package/dist/lib/build/on_warn.js +10 -0
- package/dist/lib/build/plugins/bootstrap_component.js +33 -0
- package/dist/lib/build/plugins/generate_file_dependency_map.js +1 -0
- package/dist/lib/build/plugins/index.js +1 -0
- package/dist/lib/build/plugins/set_component_id.js +2 -0
- package/dist/lib/build/plugins/update_file_map.js +1 -0
- package/dist/lib/build/plugins/warn_node_environment.js +3 -0
- package/dist/lib/cli_log.js +13 -0
- package/dist/lib/color_log.js +1 -0
- package/dist/lib/command_exists.js +1 -0
- package/dist/lib/constants.js +1 -4
- package/dist/lib/debounce.js +1 -0
- package/dist/lib/decrypt_buffer.js +1 -0
- package/dist/lib/development_server/ava_config.js +1 -0
- package/dist/lib/development_server/check_if_port_occupied.js +1 -0
- package/dist/lib/development_server/cleanup.js +1 -0
- package/dist/lib/development_server/databases/mongodb/available_query_parameters.js +1 -0
- package/dist/lib/development_server/databases/mongodb/build_connection_string.js +1 -0
- package/dist/lib/development_server/databases/mongodb/build_query_parameters.js +1 -0
- package/dist/lib/development_server/databases/mongodb/check_connection.js +2 -0
- package/dist/lib/development_server/databases/mongodb/connect.js +1 -0
- package/dist/lib/development_server/databases/mongodb/index.js +5 -0
- package/dist/lib/development_server/databases/postgresql/check_connection.js +2 -0
- package/dist/lib/development_server/databases/postgresql/connect.js +1 -0
- package/dist/lib/development_server/databases/postgresql/index.js +2 -0
- package/dist/lib/development_server/databases/provider_map.js +1 -0
- package/dist/lib/development_server/get_database_process_ids.js +1 -0
- package/dist/lib/development_server/get_translations.js +1 -0
- package/dist/lib/development_server/hmr_server.js +1 -0
- package/dist/lib/development_server/index.js +10 -0
- package/dist/lib/development_server/kill_process_ids.js +1 -0
- package/dist/lib/development_server/run_tests.js +2 -0
- package/dist/lib/development_server/start_app_server.js +1 -0
- package/dist/lib/development_server/start_databases.js +1 -0
- package/dist/lib/development_server/start_hmr_server.js +1 -0
- package/dist/lib/development_server/watch_for_changes/browser_path_exclusions.js +1 -0
- package/dist/lib/development_server/watch_for_changes/browser_paths.js +1 -0
- package/dist/lib/development_server/watch_for_changes/get_after_run_tasks.js +1 -0
- package/dist/lib/development_server/watch_for_changes/get_file_codependencies.js +1 -0
- package/dist/lib/development_server/watch_for_changes/get_platform_safe_path.js +1 -0
- package/dist/lib/development_server/watch_for_changes/index.js +1 -0
- package/dist/lib/development_server/watch_for_changes/node_paths.js +1 -0
- package/dist/lib/development_server/watch_for_changes/read_file_dependency_map.js +1 -0
- package/dist/lib/development_server/watch_for_changes/watch_paths.js +1 -0
- package/dist/lib/dynamic_import.js +1 -0
- package/dist/lib/encrypt_buffer.js +1 -0
- package/dist/lib/generate_id.js +1 -0
- package/dist/lib/get_files_in_path.js +1 -0
- package/dist/lib/get_platform_safe_path.js +1 -0
- package/dist/lib/get_process_id_from_port.js +2 -0
- package/dist/lib/is_valid_json_string.js +1 -0
- package/dist/lib/kill_port_process.js +1 -0
- package/dist/lib/kill_process_id.js +1 -0
- package/dist/lib/load_settings.js +1 -0
- package/dist/lib/loader.js +2 -82
- package/dist/lib/log_bars.js +1 -0
- package/dist/lib/node_path_polyfills.js +1 -0
- package/dist/lib/parse_args.js +1 -0
- package/dist/lib/parse_options.js +1 -0
- package/dist/lib/path_exists.js +1 -0
- package/dist/lib/rainbow_road.js +1 -0
- package/dist/lib/replace_in_files.js +1 -0
- package/dist/lib/required_files.js +1 -0
- package/dist/lib/serialize_query_parameters.js +1 -0
- package/dist/lib/types.js +1 -6
- package/increment_version.js +3 -0
- package/package.json +18 -37
- package/src/cli.js +63 -46
- package/src/commands/build/definition.js +58 -0
- package/src/commands/build/index.js +7 -0
- package/src/commands/create/build_package_json.js +20 -0
- package/src/commands/create/definition.js +35 -0
- package/src/commands/create/index.js +71 -0
- package/src/commands/create/template/api/index.js +6 -0
- package/src/commands/create/template/email/base.css +1 -0
- package/src/commands/create/template/email/base.html +1 -0
- package/src/commands/create/template/email/reset_password.js +20 -0
- package/src/commands/create/template/i18n/en-US.js +14 -0
- package/src/commands/create/template/index.client.js +1 -0
- package/src/commands/create/template/index.css +34 -0
- package/src/{functions/create/templates → commands/create/template}/index.html +2 -3
- package/src/{functions/create/templates → commands/create/template}/index.server.js +6 -6
- package/src/commands/create/template/public/apple-touch-icon-152x152.png +0 -0
- package/src/commands/create/template/public/favicon.ico +0 -0
- package/src/commands/create/template/public/joystick_logo.webp +0 -0
- package/src/{functions/create/templates → commands/create/template}/public/manifest.json +4 -4
- package/src/commands/create/template/public/splash-screen-1024x1024.png +0 -0
- package/{dist/functions/create/templates → src/commands/create/template}/ui/components/button/index.js +14 -6
- package/{dist/functions/create/templates → src/commands/create/template}/ui/layouts/app/index.js +2 -2
- package/src/commands/create/template/ui/pages/error/index.js +50 -0
- package/src/commands/create/template/ui/pages/index/index.js +121 -0
- package/src/commands/help/definition.js +12 -0
- package/src/commands/help/index.js +48 -0
- package/src/commands/index.js +23 -0
- package/src/commands/logout/definition.js +10 -0
- package/src/commands/logout/index.js +20 -0
- package/src/commands/push/cdn_mirrors.js +7 -0
- package/src/commands/push/check_if_settings_valid.js +10 -0
- package/src/commands/push/create_version.js +20 -0
- package/src/commands/push/definition.js +43 -0
- package/src/commands/push/get_app_domain.js +11 -0
- package/src/commands/push/get_deployment.js +19 -0
- package/src/commands/push/get_provision_domain.js +9 -0
- package/src/commands/push/get_session_token.js +31 -0
- package/src/commands/push/get_settings_file.js +47 -0
- package/src/commands/push/handle_initial_deployment.js +24 -0
- package/src/commands/push/handle_version_deployment.js +23 -0
- package/src/commands/push/index.js +190 -0
- package/src/commands/push/prompts/confirm_deployment.js +73 -0
- package/src/commands/push/prompts/session_token.js +11 -0
- package/src/commands/push/upload_build_to_cdn.js +59 -0
- package/src/commands/push/validate_deployment.js +19 -0
- package/src/commands/push/validate_push_config.js +18 -0
- package/src/commands/start/definition.js +58 -0
- package/src/commands/start/index.js +11 -0
- package/src/commands/test/definition.js +28 -0
- package/src/commands/test/index.js +12 -0
- package/src/commands/update/definition.js +28 -0
- package/src/commands/update/index.js +29 -0
- package/src/commands/use/definition.js +19 -0
- package/src/commands/use/index.js +54 -0
- package/src/index.js +0 -0
- package/src/lib/build/browser_path_exclusions.js +8 -0
- package/src/lib/build/browser_paths.js +11 -0
- package/src/lib/build/build_files.js +161 -0
- package/src/{functions/start/filesToCopy.js → lib/build/copy_paths.js} +3 -1
- package/src/lib/build/get_code_frame.js +11 -0
- package/src/lib/build/get_file_operation.js +25 -0
- package/src/lib/build/get_files_to_build.js +36 -0
- package/src/lib/build/get_path_platform.js +32 -0
- package/src/lib/build/get_platform_safe_path.js +6 -0
- package/src/lib/build/get_tar_ignore_list.js +41 -0
- package/src/lib/build/index.js +101 -0
- package/src/lib/build/master_ignore_list.js +14 -0
- package/src/lib/build/minify_file.js +15 -0
- package/src/lib/build/node_paths.js +17 -0
- package/src/lib/build/on_warn.js +70 -0
- package/src/lib/build/plugins/bootstrap_component.js +191 -0
- package/src/lib/build/plugins/generate_file_dependency_map.js +20 -0
- package/src/lib/build/plugins/index.js +26 -0
- package/src/lib/build/plugins/set_component_id.js +89 -0
- package/src/lib/build/plugins/update_file_map.js +98 -0
- package/src/lib/build/plugins/warn_node_environment.js +20 -0
- package/src/lib/{CLILog.js → cli_log.js} +12 -8
- package/src/lib/color_log.js +7 -0
- package/src/lib/command_exists.js +16 -0
- package/src/lib/constants.js +11 -1
- package/src/lib/debounce.js +9 -0
- package/src/lib/decrypt_buffer.js +12 -0
- package/src/lib/development_server/ava_config.js +14 -0
- package/src/lib/development_server/check_if_port_occupied.js +31 -0
- package/src/lib/development_server/cleanup.js +15 -0
- package/src/lib/{dev/databases/mongodb/availableQueryParameters.js → development_server/databases/mongodb/available_query_parameters.js} +3 -1
- package/src/lib/development_server/databases/mongodb/build_connection_string.js +31 -0
- package/src/lib/development_server/databases/mongodb/build_query_parameters.js +17 -0
- package/src/lib/development_server/databases/mongodb/check_connection.js +41 -0
- package/src/lib/development_server/databases/mongodb/connect.js +27 -0
- package/src/lib/development_server/databases/mongodb/index.js +118 -0
- package/src/lib/development_server/databases/postgresql/check_connection.js +56 -0
- package/src/lib/development_server/databases/postgresql/connect.js +33 -0
- package/src/lib/development_server/databases/postgresql/index.js +126 -0
- package/src/lib/development_server/databases/provider_map.js +15 -0
- package/src/lib/development_server/get_database_process_ids.js +28 -0
- package/src/lib/development_server/get_translations.js +85 -0
- package/src/lib/development_server/hmr_server.js +94 -0
- package/src/lib/development_server/index.js +394 -0
- package/src/lib/development_server/kill_process_ids.js +8 -0
- package/src/lib/development_server/run_tests.js +84 -0
- package/src/lib/development_server/start_app_server.js +55 -0
- package/src/lib/development_server/start_databases.js +108 -0
- package/src/lib/development_server/start_hmr_server.js +36 -0
- package/src/lib/development_server/watch_for_changes/browser_path_exclusions.js +8 -0
- package/src/lib/development_server/watch_for_changes/browser_paths.js +11 -0
- package/src/lib/development_server/watch_for_changes/get_after_run_tasks.js +31 -0
- package/src/lib/development_server/watch_for_changes/get_file_codependencies.js +48 -0
- package/src/lib/development_server/watch_for_changes/get_platform_safe_path.js +6 -0
- package/src/lib/development_server/watch_for_changes/index.js +216 -0
- package/src/lib/development_server/watch_for_changes/node_paths.js +16 -0
- package/src/lib/development_server/watch_for_changes/read_file_dependency_map.js +18 -0
- package/src/lib/development_server/watch_for_changes/watch_paths.js +21 -0
- package/src/lib/dynamic_import.js +6 -0
- package/src/lib/encrypt_buffer.js +10 -0
- package/src/lib/generate_id.js +15 -0
- package/src/lib/get_files_in_path.js +25 -0
- package/src/lib/get_platform_safe_path.js +8 -0
- package/src/lib/get_process_id_from_port.js +26 -0
- package/src/lib/is_valid_json_string.js +10 -0
- package/src/lib/kill_port_process.js +12 -0
- package/src/lib/kill_process_id.js +19 -0
- package/src/lib/load_settings.js +43 -0
- package/src/lib/loader.js +4 -77
- package/src/lib/log_bars.js +7 -0
- package/src/lib/node_path_polyfills.js +23 -0
- package/src/lib/parse_args.js +16 -0
- package/src/lib/parse_options.js +16 -0
- package/src/lib/path_exists.js +11 -0
- package/src/lib/{rainbowRoad.js → rainbow_road.js} +4 -2
- package/src/lib/replace_in_files.js +40 -0
- package/src/lib/{dev/requiredFiles.js → required_files.js} +3 -1
- package/src/lib/serialize_query_parameters.js +7 -0
- package/src/lib/types.js +59 -2
- package/HMRNOTES.txt +0 -23
- package/README.md +0 -7
- package/_package.json +0 -55
- package/canary.js +0 -12
- package/dist/functions/build/getTarIgnoreList.js +0 -25
- package/dist/functions/build/index.js +0 -54
- package/dist/functions/create/buildPackageJSON.js +0 -20
- package/dist/functions/create/index.js +0 -193
- package/dist/functions/create/templates/api/index.js +0 -4
- package/dist/functions/create/templates/i18n/en-US.js +0 -4
- package/dist/functions/create/templates/index.client.js +0 -7
- package/dist/functions/create/templates/index.css +0 -20
- package/dist/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
- package/dist/functions/create/templates/public/favicon.ico +0 -0
- package/dist/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
- package/dist/functions/create/templates/ui/pages/error/index.js +0 -31
- package/dist/functions/create/templates/ui/pages/index/index.js +0 -94
- package/dist/functions/index.js +0 -243
- package/dist/functions/logout/index.js +0 -20
- package/dist/functions/push/checkIfProvisionAvailable.js +0 -19
- package/dist/functions/push/deploy/index.js +0 -173
- package/dist/functions/push/deploy/initial.js +0 -100
- package/dist/functions/push/deploy/version.js +0 -100
- package/dist/functions/push/domains.js +0 -23
- package/dist/functions/push/getAvailableCDN.js +0 -23
- package/dist/functions/push/getDeployment.js +0 -41
- package/dist/functions/push/getDeploymentSummary.js +0 -38
- package/dist/functions/push/getInstanceSizeRegions.js +0 -37
- package/dist/functions/push/getInstanceSizesForRegion.js +0 -34
- package/dist/functions/push/getProviderInstanceSizes.js +0 -34
- package/dist/functions/push/getProviderRegions.js +0 -36
- package/dist/functions/push/getProvidersWithConnectionStatus.js +0 -20
- package/dist/functions/push/getSessionToken.js +0 -23
- package/dist/functions/push/getUserFromSessionToken.js +0 -37
- package/dist/functions/push/index.js +0 -210
- package/dist/functions/push/loginToCheatCode.js +0 -33
- package/dist/functions/push/pingProvisionAPI.js +0 -31
- package/dist/functions/push/prompts.js +0 -332
- package/dist/functions/push/providerMap.js +0 -11
- package/dist/functions/push/providers.js +0 -9
- package/dist/functions/reset/index.js +0 -0
- package/dist/functions/reset/reset.js +0 -127
- package/dist/functions/start/bootstrapLayoutComponent.js +0 -54
- package/dist/functions/start/bootstrapPageComponent.js +0 -51
- package/dist/functions/start/buildFile.js +0 -85
- package/dist/functions/start/buildFiles.js +0 -76
- package/dist/functions/start/buildPlugins.js +0 -183
- package/dist/functions/start/checkIfPortAvailable.js +0 -18
- package/dist/functions/start/cleanup/index.js +0 -18
- package/dist/functions/start/databases/mongodb/availableQueryParameters.js +0 -42
- package/dist/functions/start/databases/mongodb/buildConnectionString.js +0 -22
- package/dist/functions/start/databases/mongodb/buildQueryParameters.js +0 -14
- package/dist/functions/start/databases/mongodb/checkConnection.js +0 -35
- package/dist/functions/start/databases/mongodb/connect.js +0 -25
- package/dist/functions/start/databases/mongodb/index.js +0 -93
- package/dist/functions/start/databases/postgresql/checkConnection.js +0 -41
- package/dist/functions/start/databases/postgresql/connect.js +0 -27
- package/dist/functions/start/databases/postgresql/index.js +0 -106
- package/dist/functions/start/databases/redis.js +0 -0
- package/dist/functions/start/databases/startProvider.js +0 -16
- package/dist/functions/start/fileDependencyMapper.js +0 -22
- package/dist/functions/start/filesToCopy.js +0 -18
- package/dist/functions/start/generateId.js +0 -74
- package/dist/functions/start/getCodependenciesForFile.js +0 -64
- package/dist/functions/start/getFilesToBuild.js +0 -39
- package/dist/functions/start/getProcessIdFromPort.js +0 -60
- package/dist/functions/start/hmrServer.js +0 -66
- package/dist/functions/start/index.js +0 -31
- package/dist/functions/start/isWindows.js +0 -5
- package/dist/functions/start/minifyFile.js +0 -12
- package/dist/functions/start/onWarn.js +0 -63
- package/dist/functions/start/readFileDependencyMap.js +0 -16
- package/dist/functions/start/removeDeletedDependenciesFromMap.js +0 -18
- package/dist/functions/start/setComponentId.js +0 -46
- package/dist/functions/start/updateFileMap.js +0 -67
- package/dist/functions/test/index.js +0 -30
- package/dist/functions/update/index.js +0 -21
- package/dist/functions/use/index.js +0 -61
- package/dist/lib/CLILog.js +0 -49
- package/dist/lib/build/browserPathExclusions.js +0 -7
- package/dist/lib/build/browserPaths.js +0 -11
- package/dist/lib/build/buildFile.js +0 -84
- package/dist/lib/build/buildFiles.js +0 -238
- package/dist/lib/build/buildPlugins.js +0 -186
- package/dist/lib/build/getCodeFrame.js +0 -9
- package/dist/lib/build/minifyFile.js +0 -12
- package/dist/lib/build/nodePathExclusions.js +0 -7
- package/dist/lib/build/nodePaths.js +0 -11
- package/dist/lib/build/onWarn.js +0 -63
- package/dist/lib/build/removeDeletedDependenciesFromMap.js +0 -18
- package/dist/lib/build/setComponentId.js +0 -46
- package/dist/lib/build/updateFileMap.js +0 -67
- package/dist/lib/buildResolvePlugin.js +0 -21
- package/dist/lib/checkIfValidJSON.js +0 -11
- package/dist/lib/colorLog.js +0 -7
- package/dist/lib/dev/cleanup.js +0 -30
- package/dist/lib/dev/databases/mongodb/availableQueryParameters.js +0 -42
- package/dist/lib/dev/databases/mongodb/buildConnectionString.js +0 -22
- package/dist/lib/dev/databases/mongodb/buildQueryParameters.js +0 -14
- package/dist/lib/dev/databases/mongodb/checkConnection.js +0 -38
- package/dist/lib/dev/databases/mongodb/connect.js +0 -25
- package/dist/lib/dev/databases/mongodb/index.js +0 -93
- package/dist/lib/dev/databases/postgresql/checkConnection.js +0 -41
- package/dist/lib/dev/databases/postgresql/connect.js +0 -27
- package/dist/lib/dev/databases/postgresql/index.js +0 -106
- package/dist/lib/dev/databases/providerMap.js +0 -15
- package/dist/lib/dev/getCodependenciesForFile.js +0 -64
- package/dist/lib/dev/getFilesToBuild.js +0 -38
- package/dist/lib/dev/index.js +0 -452
- package/dist/lib/dev/isWindows.js +0 -5
- package/dist/lib/dev/loadSettings.js +0 -79
- package/dist/lib/dev/readFileDependencyMap.js +0 -16
- package/dist/lib/dev/requiredFiles.js +0 -18
- package/dist/lib/dev/runBuild.js +0 -30
- package/dist/lib/dev/runTests.js +0 -30
- package/dist/lib/dev/startApp.js +0 -79
- package/dist/lib/dev/startDatabases.js +0 -109
- package/dist/lib/dev/startHMR.js +0 -55
- package/dist/lib/dev/updateFileMap.js +0 -67
- package/dist/lib/dev/validateProject.js +0 -0
- package/dist/lib/dev/watchlist.js +0 -15
- package/dist/lib/filesToCopy.js +0 -18
- package/dist/lib/generateId.js +0 -74
- package/dist/lib/getArgs.js +0 -14
- package/dist/lib/getOptions.js +0 -15
- package/dist/lib/getPlatformSafePath.js +0 -7
- package/dist/lib/getProcessIdFromPort.js +0 -60
- package/dist/lib/getProvider.js +0 -8
- package/dist/lib/help.js +0 -56
- package/dist/lib/isObject.js +0 -6
- package/dist/lib/isValidJSONString.js +0 -11
- package/dist/lib/isWindows.js +0 -5
- package/dist/lib/killProcesses.js +0 -0
- package/dist/lib/loadSettings.js +0 -33
- package/dist/lib/masterIgnoreList.js +0 -16
- package/dist/lib/nodeEnvironment.js +0 -9
- package/dist/lib/nodeEnvironments.js +0 -8
- package/dist/lib/parseCookiesFromLogin.js +0 -18
- package/dist/lib/rainbowRoad.js +0 -7
- package/dist/lib/readDirectorySync.js +0 -14
- package/dist/lib/regexes.js +0 -14
- package/dist/lib/replaceBackslashesWithForwardSlashes.js +0 -8
- package/dist/lib/replaceFileProtocol.js +0 -8
- package/dist/lib/serializeQueryParameters.js +0 -8
- package/dist/lib/settings.js +0 -4
- package/dist/lib/validateDatabasesFromSettings.js +0 -34
- package/dist/lib/wait.js +0 -8
- package/release.js +0 -40
- package/src/functions/build/getTarIgnoreList.js +0 -30
- package/src/functions/build/index.js +0 -63
- package/src/functions/create/buildPackageJSON.js +0 -18
- package/src/functions/create/index.js +0 -209
- package/src/functions/create/templates/api/index.js +0 -4
- package/src/functions/create/templates/i18n/en-US.js +0 -4
- package/src/functions/create/templates/index.client.js +0 -7
- package/src/functions/create/templates/index.css +0 -20
- package/src/functions/create/templates/public/apple-touch-icon-152x152.png +0 -0
- package/src/functions/create/templates/public/favicon.ico +0 -0
- package/src/functions/create/templates/public/splash-screen-1024x1024.png +0 -0
- package/src/functions/create/templates/ui/pages/error/index.js +0 -31
- package/src/functions/create/templates/ui/pages/index/index.js +0 -94
- package/src/functions/index.js +0 -243
- package/src/functions/logout/index.js +0 -20
- package/src/functions/push/checkIfProvisionAvailable.js +0 -20
- package/src/functions/push/deploy/index.js +0 -199
- package/src/functions/push/deploy/initial.js +0 -108
- package/src/functions/push/deploy/version.js +0 -108
- package/src/functions/push/domains.js +0 -23
- package/src/functions/push/getAvailableCDN.js +0 -27
- package/src/functions/push/getDeployment.js +0 -43
- package/src/functions/push/getDeploymentSummary.js +0 -39
- package/src/functions/push/getInstanceSizeRegions.js +0 -40
- package/src/functions/push/getInstanceSizesForRegion.js +0 -35
- package/src/functions/push/getProviderInstanceSizes.js +0 -35
- package/src/functions/push/getProviderRegions.js +0 -39
- package/src/functions/push/getProvidersWithConnectionStatus.js +0 -25
- package/src/functions/push/getSessionToken.js +0 -26
- package/src/functions/push/getUserFromSessionToken.js +0 -39
- package/src/functions/push/index.js +0 -245
- package/src/functions/push/loginToCheatCode.js +0 -34
- package/src/functions/push/pingProvisionAPI.js +0 -33
- package/src/functions/push/prompts.js +0 -276
- package/src/functions/push/providerMap.js +0 -8
- package/src/functions/push/providers.js +0 -6
- package/src/functions/reset/index.js +0 -0
- package/src/functions/reset/reset.js +0 -163
- package/src/functions/start/bootstrapLayoutComponent.js +0 -57
- package/src/functions/start/bootstrapPageComponent.js +0 -54
- package/src/functions/start/buildFile.js +0 -97
- package/src/functions/start/buildFiles.js +0 -101
- package/src/functions/start/buildPlugins.js +0 -215
- package/src/functions/start/checkIfPortAvailable.js +0 -21
- package/src/functions/start/cleanup/index.js +0 -23
- package/src/functions/start/databases/mongodb/availableQueryParameters.js +0 -39
- package/src/functions/start/databases/mongodb/buildConnectionString.js +0 -28
- package/src/functions/start/databases/mongodb/buildQueryParameters.js +0 -15
- package/src/functions/start/databases/mongodb/checkConnection.js +0 -36
- package/src/functions/start/databases/mongodb/connect.js +0 -25
- package/src/functions/start/databases/mongodb/index.js +0 -108
- package/src/functions/start/databases/postgresql/checkConnection.js +0 -43
- package/src/functions/start/databases/postgresql/connect.js +0 -27
- package/src/functions/start/databases/postgresql/index.js +0 -127
- package/src/functions/start/databases/redis.js +0 -0
- package/src/functions/start/databases/startProvider.js +0 -15
- package/src/functions/start/fileDependencyMapper.js +0 -24
- package/src/functions/start/generateId.js +0 -73
- package/src/functions/start/getCodependenciesForFile.js +0 -84
- package/src/functions/start/getFilesToBuild.js +0 -49
- package/src/functions/start/getProcessIdFromPort.js +0 -92
- package/src/functions/start/hmrServer.js +0 -78
- package/src/functions/start/index.js +0 -701
- package/src/functions/start/isWindows.js +0 -3
- package/src/functions/start/minifyFile.js +0 -10
- package/src/functions/start/onWarn.js +0 -68
- package/src/functions/start/readFileDependencyMap.js +0 -19
- package/src/functions/start/removeDeletedDependenciesFromMap.js +0 -19
- package/src/functions/start/setComponentId.js +0 -58
- package/src/functions/start/updateFileMap.js +0 -100
- package/src/functions/test/index.js +0 -34
- package/src/functions/update/index.js +0 -20
- package/src/functions/use/index.js +0 -62
- package/src/lib/build/browserPathExclusions.js +0 -5
- package/src/lib/build/browserPaths.js +0 -9
- package/src/lib/build/buildFile.js +0 -91
- package/src/lib/build/buildFiles.js +0 -270
- package/src/lib/build/buildPlugins.js +0 -222
- package/src/lib/build/getCodeFrame.js +0 -7
- package/src/lib/build/minifyFile.js +0 -10
- package/src/lib/build/nodePathExclusions.js +0 -5
- package/src/lib/build/nodePaths.js +0 -9
- package/src/lib/build/onWarn.js +0 -68
- package/src/lib/build/removeDeletedDependenciesFromMap.js +0 -19
- package/src/lib/build/setComponentId.js +0 -58
- package/src/lib/build/updateFileMap.js +0 -100
- package/src/lib/buildResolvePlugin.js +0 -32
- package/src/lib/checkIfValidJSON.js +0 -8
- package/src/lib/colorLog.js +0 -5
- package/src/lib/dev/cleanup.js +0 -34
- package/src/lib/dev/databases/mongodb/buildConnectionString.js +0 -28
- package/src/lib/dev/databases/mongodb/buildQueryParameters.js +0 -15
- package/src/lib/dev/databases/mongodb/checkConnection.js +0 -40
- package/src/lib/dev/databases/mongodb/connect.js +0 -25
- package/src/lib/dev/databases/mongodb/index.js +0 -108
- package/src/lib/dev/databases/postgresql/checkConnection.js +0 -43
- package/src/lib/dev/databases/postgresql/connect.js +0 -27
- package/src/lib/dev/databases/postgresql/index.js +0 -127
- package/src/lib/dev/databases/providerMap.js +0 -13
- package/src/lib/dev/getCodependenciesForFile.js +0 -84
- package/src/lib/dev/getFilesToBuild.js +0 -47
- package/src/lib/dev/index.js +0 -560
- package/src/lib/dev/isWindows.js +0 -3
- package/src/lib/dev/loadSettings.js +0 -90
- package/src/lib/dev/readFileDependencyMap.js +0 -19
- package/src/lib/dev/runBuild.js +0 -33
- package/src/lib/dev/runTests.js +0 -33
- package/src/lib/dev/startApp.js +0 -89
- package/src/lib/dev/startDatabases.js +0 -131
- package/src/lib/dev/startHMR.js +0 -62
- package/src/lib/dev/updateFileMap.js +0 -100
- package/src/lib/dev/validateProject.js +0 -0
- package/src/lib/dev/watchlist.js +0 -13
- package/src/lib/filesToCopy.js +0 -15
- package/src/lib/generateId.js +0 -73
- package/src/lib/getArgs.js +0 -14
- package/src/lib/getOptions.js +0 -12
- package/src/lib/getProcessIdFromPort.js +0 -92
- package/src/lib/getProvider.js +0 -5
- package/src/lib/help.js +0 -56
- package/src/lib/isObject.js +0 -3
- package/src/lib/isValidJSONString.js +0 -8
- package/src/lib/killProcesses.js +0 -5
- package/src/lib/loadSettings.js +0 -40
- package/src/lib/masterIgnoreList.js +0 -13
- package/src/lib/nodeEnvironment.js +0 -6
- package/src/lib/nodeEnvironments.js +0 -8
- package/src/lib/parseCookiesFromLogin.js +0 -21
- package/src/lib/readDirectorySync.js +0 -13
- package/src/lib/regexes.js +0 -7
- package/src/lib/replaceBackslashesWithForwardSlashes.js +0 -8
- package/src/lib/replaceFileProtocol.js +0 -8
- package/src/lib/serializeQueryParameters.js +0 -5
- package/src/lib/settings.js +0 -1
- package/src/lib/validateDatabasesFromSettings.js +0 -37
- package/src/lib/wait.js +0 -5
- package/storage/.verdaccio-db.json +0 -1
- /package/{src/lib → .build}/getPlatformSafePath.js +0 -0
- /package/{src/lib → .build}/isWindows.js +0 -0
- /package/dist/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
- /package/dist/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
- /package/src/{functions/create/templates → commands/create/template}/public/service-worker.js +0 -0
- /package/src/{functions/create/templates → commands/create/template}/settings.development.json +0 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import inquirer from "inquirer";
|
|
3
|
+
import build from '../../lib/build/index.js';
|
|
4
|
+
import cli_log from '../../lib/cli_log.js';
|
|
5
|
+
import confirm_deployment_prompt from './prompts/confirm_deployment.js';
|
|
6
|
+
import create_version from './create_version.js';
|
|
7
|
+
import get_app_domain from './get_app_domain.js';
|
|
8
|
+
import get_deployment from './get_deployment.js';
|
|
9
|
+
import get_provision_domain from './get_provision_domain.js';
|
|
10
|
+
import get_settings_file from './get_settings_file.js';
|
|
11
|
+
import get_session_token from './get_session_token.js';
|
|
12
|
+
import handle_initial_deployment from './handle_initial_deployment.js';
|
|
13
|
+
import handle_version_deployment from './handle_version_deployment.js';
|
|
14
|
+
import Loader from '../../lib/loader.js';
|
|
15
|
+
import upload_build_to_cdn from './upload_build_to_cdn.js';
|
|
16
|
+
import validate_deployment from './validate_deployment.js';
|
|
17
|
+
import validate_push_config from './validate_push_config.js';
|
|
18
|
+
|
|
19
|
+
const log_validation_error_response = (validation_type = '', root_error = '', validation_response = {}) => {
|
|
20
|
+
let errors_list = ``;
|
|
21
|
+
|
|
22
|
+
for (let i = 0; i < validation_response?.errors?.length; i += 1) {
|
|
23
|
+
const validation_error = validation_response?.errors[i];
|
|
24
|
+
|
|
25
|
+
if (validation_type === 'push_config') {
|
|
26
|
+
errors_list += `${chalk.yellowBright(`> ${validation_error.field}`)}\n`;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
errors_list += `${validation_error?.error}\n${i + 1 === validation_response?.errors?.length ? '' : '\n'}`;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
cli_log(
|
|
33
|
+
`${root_error ? `${chalk.yellowBright(root_error)}\n\n\n` : ''}${errors_list}`,
|
|
34
|
+
{
|
|
35
|
+
level: "danger",
|
|
36
|
+
docs: {
|
|
37
|
+
push_config: "https://cheatcode.co/docs/push/config",
|
|
38
|
+
deployment: "https://cheatcode.co/docs/push/subscription",
|
|
39
|
+
}[validation_type],
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
process.exit(0);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const get_session_for_deployment = async () => {
|
|
47
|
+
const session_token = await get_session_token();
|
|
48
|
+
|
|
49
|
+
if (!session_token) {
|
|
50
|
+
cli_log(
|
|
51
|
+
data?.error?.message,
|
|
52
|
+
{
|
|
53
|
+
level: "danger",
|
|
54
|
+
docs: "https://cheatcode.co/docs/push/cli#authentication"
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
return process.exit(0);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return session_token;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const warn_no_push_config = (environment = '') => {
|
|
65
|
+
cli_log(
|
|
66
|
+
`settings.${environment}.json must contain a push config object. Add this following the docs link below and try again.`,
|
|
67
|
+
{
|
|
68
|
+
level: "danger",
|
|
69
|
+
docs: "https://cheatcode.co/docs/push/config"
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
return process.exit(0);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const push = async (args = {}, options = {}) => {
|
|
77
|
+
process.loader = new Loader();
|
|
78
|
+
process.loader.print('Starting deployment...');
|
|
79
|
+
|
|
80
|
+
const session_token = await get_session_for_deployment();
|
|
81
|
+
const environment = options?.environment || 'production';
|
|
82
|
+
const settings = await get_settings_file({ environment });
|
|
83
|
+
|
|
84
|
+
if (!settings?.push) {
|
|
85
|
+
return warn_no_push_config(environment);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const push_provision_domain = get_provision_domain(options?.provision_server);
|
|
89
|
+
const push_app_domain = get_app_domain(options?.provision_server);
|
|
90
|
+
const deployment = await get_deployment({
|
|
91
|
+
domain: settings?.push?.domain,
|
|
92
|
+
session_token,
|
|
93
|
+
push_provision_domain,
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
let push_config_validation_response;
|
|
97
|
+
|
|
98
|
+
if (deployment?.status === 'undeployed') {
|
|
99
|
+
push_config_validation_response = await validate_push_config({
|
|
100
|
+
push_provision_domain,
|
|
101
|
+
push_config: settings?.push,
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
if (push_config_validation_response?.errors?.length > 0) {
|
|
105
|
+
log_validation_error_response(
|
|
106
|
+
'push_config',
|
|
107
|
+
`Push config in settings.${environment}.json failed validation with the following errors:`,
|
|
108
|
+
push_config_validation_response,
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const deployment_validation_response = await validate_deployment({
|
|
114
|
+
session_token,
|
|
115
|
+
push_provision_domain,
|
|
116
|
+
push_config: settings?.push,
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
if (deployment_validation_response?.errors?.length > 0) {
|
|
120
|
+
log_validation_error_response(
|
|
121
|
+
'deployment',
|
|
122
|
+
`Deployment failed validation with the following errors:`,
|
|
123
|
+
deployment_validation_response,
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// NOTE: A bit hacky but removes need for weird if {} statement nesting.
|
|
128
|
+
const { confirm_deployment } = deployment?.status === 'undeployed' ? await inquirer.prompt(
|
|
129
|
+
confirm_deployment_prompt(push_config_validation_response?.instances)
|
|
130
|
+
) : { confirm_deployment: true };
|
|
131
|
+
|
|
132
|
+
if (confirm_deployment) {
|
|
133
|
+
// NOTE: Do this to create a gap between the confirmation text above (only applies if
|
|
134
|
+
// the deployment is a first-run).
|
|
135
|
+
if (deployment?.status === 'undeployed') {
|
|
136
|
+
console.log('\n');
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const build_timestamp = new Date().toISOString();
|
|
140
|
+
await build({
|
|
141
|
+
environment,
|
|
142
|
+
encrypt_build: true,
|
|
143
|
+
encryption_key: deployment?.deployment_secret,
|
|
144
|
+
silence_confirmation: true,
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
process.loader.print('Uploading version...');
|
|
148
|
+
|
|
149
|
+
await upload_build_to_cdn(
|
|
150
|
+
build_timestamp,
|
|
151
|
+
deployment,
|
|
152
|
+
session_token,
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
const create_version_response = await create_version({
|
|
156
|
+
push_provision_domain,
|
|
157
|
+
domain: settings?.push?.domain,
|
|
158
|
+
session_token,
|
|
159
|
+
body: {
|
|
160
|
+
// NOTE: Endpoint anticipates a stringified version of settings.
|
|
161
|
+
settings: JSON.stringify(settings),
|
|
162
|
+
build_timestamp,
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
process.loader.print('Deploying app...');
|
|
167
|
+
|
|
168
|
+
if (deployment?.status === 'undeployed') {
|
|
169
|
+
return handle_initial_deployment({
|
|
170
|
+
push_provision_domain,
|
|
171
|
+
push_app_domain,
|
|
172
|
+
session_token,
|
|
173
|
+
environment,
|
|
174
|
+
build_timestamp,
|
|
175
|
+
deployment,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return handle_version_deployment({
|
|
180
|
+
push_provision_domain,
|
|
181
|
+
push_app_domain,
|
|
182
|
+
session_token,
|
|
183
|
+
environment,
|
|
184
|
+
build_timestamp,
|
|
185
|
+
deployment,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
export default push;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import AsciiTable from 'ascii-table';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
|
|
4
|
+
const render_instance_row = (table, [continent_name = '', continent_instances = []]) => {
|
|
5
|
+
table.addRow(`${chalk.magenta(continent_name)}\n`);
|
|
6
|
+
|
|
7
|
+
for (let i = 0; i < continent_instances?.length; i += 1) {
|
|
8
|
+
const instance = continent_instances[i];
|
|
9
|
+
table.addRow(
|
|
10
|
+
`${chalk.yellow(instance?.provider)} (${chalk.green(instance?.region)})`,
|
|
11
|
+
`${chalk.white(instance?.size)} $${chalk.green(instance?.pricePerMonth)}/mo. x${chalk.blue(instance?.quantity)} ${chalk.white('=')} $${chalk.green((instance?.quantity * instance?.pricePerMonth))}/mo.${i + 1 === continent_instances?.length ? '\n' : ''}`,
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const get_total_monthly_cost_for_instances = (instances = []) => {
|
|
17
|
+
const instances_by_continent = Object.values(instances)?.flatMap((instances_for_continent) => instances_for_continent);
|
|
18
|
+
return instances_by_continent?.reduce((total = 0, instance = {}) => {
|
|
19
|
+
total += instance?.pricePerMonth * instance?.quantity;
|
|
20
|
+
return total;
|
|
21
|
+
}, 0);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const confirm_deployment = (instances = {}) => {
|
|
25
|
+
const load_balancer_total_per_month = get_total_monthly_cost_for_instances(instances?.load_balancer);
|
|
26
|
+
const app_total_per_month = get_total_monthly_cost_for_instances(instances?.app);
|
|
27
|
+
const total_monthly_cost = load_balancer_total_per_month + app_total_per_month;
|
|
28
|
+
|
|
29
|
+
const table = new AsciiTable();
|
|
30
|
+
|
|
31
|
+
table.removeBorder();
|
|
32
|
+
table.addRow(`${chalk.blue('Load Balancer')}\n`);
|
|
33
|
+
|
|
34
|
+
const load_balancer_continents = Object.entries(instances?.load_balancer);
|
|
35
|
+
const app_continents = Object.entries(instances?.app);
|
|
36
|
+
|
|
37
|
+
for (let i = 0; i < load_balancer_continents?.length; i += 1) {
|
|
38
|
+
render_instance_row(table, load_balancer_continents[i]);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
table.addRow(`\n ${chalk.blue('App')}\n`);
|
|
42
|
+
|
|
43
|
+
for (let i = 0; i < app_continents?.length; i += 1) {
|
|
44
|
+
render_instance_row(table, app_continents[i]);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
table.addRow(chalk.white('\n ---\n'));
|
|
48
|
+
|
|
49
|
+
table.addRow(
|
|
50
|
+
chalk.green('Monthly Cost'),
|
|
51
|
+
chalk.white(`$${chalk.green(total_monthly_cost)}/mo.`)
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
table.addRow(
|
|
55
|
+
chalk.green('Annual Cost'),
|
|
56
|
+
chalk.white(`$${chalk.green(total_monthly_cost * 12)}/yr.`)
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
const is_abnormal = total_monthly_cost > 100;
|
|
60
|
+
|
|
61
|
+
return [{
|
|
62
|
+
name: 'confirm_deployment',
|
|
63
|
+
type: 'confirm',
|
|
64
|
+
prefix: '',
|
|
65
|
+
message: `\n ${chalk.greenBright('>')} Start deployment and provision these instances?`,
|
|
66
|
+
suffix: `
|
|
67
|
+
\n${table.toString()}
|
|
68
|
+
${is_abnormal ? `\n\n ${chalk.yellowBright(`!!! >>> These costs are ${chalk.magenta('high')}. Be absolutely ${chalk.magenta('CERTAIN')} you want to run this deployment. <<< !!!`)}
|
|
69
|
+
\n ` : '\n'}`,
|
|
70
|
+
}];
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default confirm_deployment;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
|
|
3
|
+
const session_token = () => [{
|
|
4
|
+
name: 'session_token',
|
|
5
|
+
type: 'text',
|
|
6
|
+
prefix: '',
|
|
7
|
+
message: `\n${chalk.yellowBright('>')} To login to Push, paste your session token below:\n`,
|
|
8
|
+
suffix: ` ${chalk.yellowBright('Find your session token here:')} https://push.cheatcode.co/account/profile\n\n`,
|
|
9
|
+
}];
|
|
10
|
+
|
|
11
|
+
export default session_token;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import fetch from "node-fetch";
|
|
2
|
+
import FormData from "form-data";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
import _ from 'lodash';
|
|
5
|
+
import cdn_mirrors from './cdn_mirrors.js';
|
|
6
|
+
|
|
7
|
+
const { readFile } = fs.promises;
|
|
8
|
+
|
|
9
|
+
const get_first_available_mirror = async () => {
|
|
10
|
+
const results = (await Promise.allSettled(cdn_mirrors?.map(async (mirror) => {
|
|
11
|
+
const controller = new AbortController();
|
|
12
|
+
setTimeout(() => controller.abort(), 2000);
|
|
13
|
+
|
|
14
|
+
const result = await fetch(`${mirror}/api/ping`, { signal: controller.signal }).catch((error) => {
|
|
15
|
+
return { status: 503 };
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
return {
|
|
19
|
+
mirror,
|
|
20
|
+
status: result.status,
|
|
21
|
+
};
|
|
22
|
+
})))?.map((result) => {
|
|
23
|
+
return result.value;
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
return _.orderBy(results, ['status', 'mirror'])[0];
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const upload_build_to_cdn = async (build_timestamp = '', deployment = {}, session_token = '') => {
|
|
30
|
+
const first_available_mirror = await get_first_available_mirror();
|
|
31
|
+
const form_data = new FormData();
|
|
32
|
+
|
|
33
|
+
form_data.append(
|
|
34
|
+
"version_tar",
|
|
35
|
+
await readFile(`.build/build.encrypted.tar.gz`),
|
|
36
|
+
`${build_timestamp}.tar.gz`
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
form_data.append("build_timestamp", build_timestamp);
|
|
40
|
+
form_data.append("domain", deployment?.domain);
|
|
41
|
+
form_data.append("deployment_id", deployment?._id);
|
|
42
|
+
|
|
43
|
+
return fetch(`${first_available_mirror?.mirror}/api/versions`, {
|
|
44
|
+
method: "POST",
|
|
45
|
+
headers: {
|
|
46
|
+
...form_data.getHeaders(),
|
|
47
|
+
"x-push-session-token": session_token,
|
|
48
|
+
},
|
|
49
|
+
body: form_data,
|
|
50
|
+
}).then(async (response) => {
|
|
51
|
+
const data = await response.json();
|
|
52
|
+
return data?.data;
|
|
53
|
+
}).catch((error) => {
|
|
54
|
+
console.warn(error);
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export default upload_build_to_cdn;
|
|
59
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import fetch from 'node-fetch';
|
|
2
|
+
|
|
3
|
+
const validate_deployment = (options = {}) => {
|
|
4
|
+
return fetch(`${options?.push_provision_domain}/api/deployments/${options?.push_config?.domain}/validate`, {
|
|
5
|
+
method: 'POST',
|
|
6
|
+
headers: {
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
'x-push-session-token': options?.session_token,
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify(options?.push_config),
|
|
11
|
+
})?.then(async (response) => {
|
|
12
|
+
const data = await response.json();
|
|
13
|
+
return data?.data;
|
|
14
|
+
}).catch((error) => {
|
|
15
|
+
console.warn(error);
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default validate_deployment;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import fetch from 'node-fetch';
|
|
2
|
+
|
|
3
|
+
const validate_push_config = (options = {}) => {
|
|
4
|
+
return fetch(`${options?.push_provision_domain}/api/validate/config`, {
|
|
5
|
+
method: 'POST',
|
|
6
|
+
headers: {
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
},
|
|
9
|
+
body: JSON.stringify(options?.push_config),
|
|
10
|
+
})?.then(async (response) => {
|
|
11
|
+
const data = await response.json();
|
|
12
|
+
return data?.data;
|
|
13
|
+
}).catch((error) => {
|
|
14
|
+
console.warn(error);
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default validate_push_config;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import start from './index.js';
|
|
2
|
+
|
|
3
|
+
const [_node, _bin, ...raw_args] = process.argv;
|
|
4
|
+
|
|
5
|
+
const definition = {
|
|
6
|
+
description: 'Start an existing Joystick app.',
|
|
7
|
+
args: {},
|
|
8
|
+
options: {
|
|
9
|
+
environment: {
|
|
10
|
+
flags: {
|
|
11
|
+
'-e': {
|
|
12
|
+
set: !!raw_args.includes('-e'),
|
|
13
|
+
value: !!raw_args.includes('-e') && raw_args[raw_args.indexOf('-e') + 1],
|
|
14
|
+
parent: 'start'
|
|
15
|
+
},
|
|
16
|
+
'--environment': {
|
|
17
|
+
set: !!raw_args.includes('--environment'),
|
|
18
|
+
value: !!raw_args.includes('--environment') && raw_args[raw_args.indexOf('--environment') + 1],
|
|
19
|
+
parent: 'start'
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
description: 'Environment to set for process.env.NODE_ENV.',
|
|
23
|
+
},
|
|
24
|
+
port: {
|
|
25
|
+
flags: {
|
|
26
|
+
'-p': {
|
|
27
|
+
set: !!raw_args.includes('-p'),
|
|
28
|
+
value: !!raw_args.includes('-p') && parseInt(raw_args[raw_args.indexOf('-p') + 1], 10),
|
|
29
|
+
parent: 'start'
|
|
30
|
+
},
|
|
31
|
+
'--port': {
|
|
32
|
+
set: !!raw_args.includes('--port'),
|
|
33
|
+
value: !!raw_args.includes('--port') && parseInt(raw_args[raw_args.indexOf('--port') + 1], 10),
|
|
34
|
+
parent: 'start'
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
description: 'Port number to run the app on.',
|
|
38
|
+
},
|
|
39
|
+
debug: {
|
|
40
|
+
flags: {
|
|
41
|
+
'-d': {
|
|
42
|
+
set: !!raw_args.includes('-d'),
|
|
43
|
+
value: !!raw_args.includes('-d'),
|
|
44
|
+
parent: 'start'
|
|
45
|
+
},
|
|
46
|
+
'--debug': {
|
|
47
|
+
set: !!raw_args.includes('--debug'),
|
|
48
|
+
value: !!raw_args.includes('--debug'),
|
|
49
|
+
parent: 'start'
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
description: 'Run the Joystick app\'s Node.js process in debug mode with --inspect.',
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
command: start,
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export default definition;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import development_server from "../../lib/development_server/index.js";
|
|
2
|
+
|
|
3
|
+
const start = async (args = {}, options = {}) => {
|
|
4
|
+
await development_server({
|
|
5
|
+
environment: options?.environment || 'development',
|
|
6
|
+
port: options?.port || 2600,
|
|
7
|
+
debug: !!options?.debug,
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default start;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import test from './index.js';
|
|
2
|
+
|
|
3
|
+
const [_node, _bin, ...raw_args] = process.argv;
|
|
4
|
+
|
|
5
|
+
const definition = {
|
|
6
|
+
description: 'Start an existing Joystick app and run its tests.',
|
|
7
|
+
args: {},
|
|
8
|
+
options: {
|
|
9
|
+
watch: {
|
|
10
|
+
flags: {
|
|
11
|
+
'-w': {
|
|
12
|
+
set: !!raw_args.includes('-w'),
|
|
13
|
+
value: !!raw_args.includes('-w'),
|
|
14
|
+
parent: 'test'
|
|
15
|
+
},
|
|
16
|
+
'--watch': {
|
|
17
|
+
set: !!raw_args.includes('--watch'),
|
|
18
|
+
value: !!raw_args.includes('--watch'),
|
|
19
|
+
parent: 'test'
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
description: 'Run joystick test in watch mode.',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
command: test,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default definition;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import development_server from "../../lib/development_server/index.js";
|
|
2
|
+
|
|
3
|
+
const test = async (args = {}, options = {}) => {
|
|
4
|
+
await development_server({
|
|
5
|
+
environment: 'test',
|
|
6
|
+
process,
|
|
7
|
+
port: 1977,
|
|
8
|
+
watch: options?.watch,
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default test;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import update from './index.js';
|
|
2
|
+
|
|
3
|
+
const [_node, _bin, ...raw_args] = process.argv;
|
|
4
|
+
|
|
5
|
+
const definition = {
|
|
6
|
+
description: 'Update all Joystick packages to their latest version.',
|
|
7
|
+
args: {},
|
|
8
|
+
options: {
|
|
9
|
+
release: {
|
|
10
|
+
flags: {
|
|
11
|
+
'-r': {
|
|
12
|
+
set: !!raw_args.includes('-r'),
|
|
13
|
+
value: !!raw_args.includes('-r') && raw_args[raw_args.indexOf('-r') + 1],
|
|
14
|
+
parent: 'create',
|
|
15
|
+
},
|
|
16
|
+
'--release': {
|
|
17
|
+
set: !!raw_args.includes('--release'),
|
|
18
|
+
value: !!raw_args.includes('--release') && raw_args[raw_args.indexOf('--release') + 1],
|
|
19
|
+
parent: 'create',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
description: 'The release of Joystick to update (production or canary).',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
command: update,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default definition;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import child_process from "child_process";
|
|
3
|
+
import util from 'util';
|
|
4
|
+
import color_log from "../../lib/color_log.js";
|
|
5
|
+
import Loader from "../../lib/loader.js";
|
|
6
|
+
|
|
7
|
+
const exec = util.promisify(child_process.exec);
|
|
8
|
+
|
|
9
|
+
const update = async (args = {}, options = {}) => {
|
|
10
|
+
process.loader = new Loader();
|
|
11
|
+
process.loader.print('Updating Joystick dependencies...');
|
|
12
|
+
|
|
13
|
+
process.loader.print(`Updating @joystick.js/node${options?.relase === 'canary' ? '-canary' : ''}...`);
|
|
14
|
+
await exec(`npm i @joystick.js/node${options?.relase === 'canary' ? '-canary' : ''}@latest`);
|
|
15
|
+
|
|
16
|
+
process.loader.print(`Updating @joystick.js/test${options?.relase === 'canary' ? '-canary' : ''}...`);
|
|
17
|
+
await exec(`npm i @joystick.js/test${options?.relase === 'canary' ? '-canary' : ''}@latest`);
|
|
18
|
+
|
|
19
|
+
process.loader.print(`Updating @joystick.js/ui${options?.relase === 'canary' ? '-canary' : ''}...`);
|
|
20
|
+
await exec(`npm i @joystick.js/ui${options?.relase === 'canary' ? '-canary' : ''}@latest`);
|
|
21
|
+
|
|
22
|
+
process.loader.print(`Updating @joystick.js/cli${options?.relase === 'canary' ? '-canary' : ''}...`);
|
|
23
|
+
await exec(`npm i -g @joystick.js/cli${options?.relase === 'canary' ? '-canary' : ''}@latest`);
|
|
24
|
+
|
|
25
|
+
color_log('✔ Joystick updated!', 'green');
|
|
26
|
+
process.exit(0);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default update;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import use from './index.js';
|
|
2
|
+
|
|
3
|
+
const [_node, _bin, ...raw_args] = process.argv;
|
|
4
|
+
|
|
5
|
+
const definition = {
|
|
6
|
+
description: 'Decides which release of Joystick to use (production or canary).',
|
|
7
|
+
args: {
|
|
8
|
+
release: {
|
|
9
|
+
set: !!raw_args.includes('use') && !!raw_args[raw_args.indexOf('use') + 1],
|
|
10
|
+
parent: 'use',
|
|
11
|
+
value: !!raw_args.includes('use') && raw_args[raw_args.indexOf('use') + 1],
|
|
12
|
+
description: 'The release of Joystick to use (production or canary).',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
options: {},
|
|
16
|
+
command: use
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default definition;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import child_process from "child_process";
|
|
2
|
+
import util from 'util';
|
|
3
|
+
import Loader from '../../lib/loader.js';
|
|
4
|
+
import replace_in_files from '../../lib/replace_in_files.js';
|
|
5
|
+
|
|
6
|
+
const exec = util.promisify(child_process.exec);
|
|
7
|
+
|
|
8
|
+
const use = async (args = {}, options = {}) => {
|
|
9
|
+
const loader = new Loader();
|
|
10
|
+
|
|
11
|
+
if (args?.release === 'canary') {
|
|
12
|
+
await replace_in_files(process.cwd(), {
|
|
13
|
+
match: [/\.js$/],
|
|
14
|
+
exclude: [/node_modules/],
|
|
15
|
+
replace_regex: /(@joystick\.js\/node)(?!-)/g,
|
|
16
|
+
replace_with: '@joystick.js/node-canary',
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
await replace_in_files(process.cwd(), {
|
|
20
|
+
match: [/\.js$/],
|
|
21
|
+
exclude: [/node_modules/],
|
|
22
|
+
replace_regex: /(@joystick\.js\/ui)(?!-)/g,
|
|
23
|
+
replace_with: '@joystick.js/ui-canary',
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
loader.print('Swapping production packages for canary versions...');
|
|
27
|
+
|
|
28
|
+
await exec('npm uninstall @joystick.js/node && npm i @joystick.js/node-canary');
|
|
29
|
+
await exec('npm uninstall @joystick.js/ui && npm i @joystick.js/ui-canary');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (args?.release === 'production') {
|
|
33
|
+
await replace_in_files(process.cwd(), {
|
|
34
|
+
match: [/\.js$/],
|
|
35
|
+
exclude: [/node_modules/],
|
|
36
|
+
replace_regex: /(@joystick\.js\/node-canary)/g,
|
|
37
|
+
replace_with: '@joystick.js/node',
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
await replace_in_files(process.cwd(), {
|
|
41
|
+
match: [/\.js$/],
|
|
42
|
+
exclude: [/node_modules/],
|
|
43
|
+
replace_regex: /(@joystick.js\/ui-canary)/g,
|
|
44
|
+
replace_with: '@joystick.js/ui',
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
loader.print('Swapping canary packages for production versions...');
|
|
48
|
+
|
|
49
|
+
await exec('npm uninstall @joystick.js/node-canary && npm i @joystick.js/node');
|
|
50
|
+
await exec('npm uninstall @joystick.js/ui-canary && npm i @joystick.js/ui');
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export default use;
|
package/src/index.js
CHANGED
|
File without changes
|
|
@@ -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;
|