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