@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,191 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import get_platform_safe_path from '../../get_platform_safe_path.js';
|
|
4
|
+
import constants from '../../constants.js';
|
|
5
|
+
import set_component_id from './set_component_id.js';
|
|
6
|
+
import path_exists from '../../path_exists.js';
|
|
7
|
+
|
|
8
|
+
const { readFile, writeFile } = fs.promises;
|
|
9
|
+
|
|
10
|
+
const restore_examples_without_mounting_code = (code = '', examples_before_replacement = []) => {
|
|
11
|
+
for (let i = 0; i < examples_before_replacement?.length; i += 1) {
|
|
12
|
+
const example_to_restore = examples_before_replacement[i];
|
|
13
|
+
code = code.replace(`%example:${i}%`, example_to_restore);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const add_page_mounting_code = (code = '', default_export = '', component_name = '') => {
|
|
18
|
+
return code.replace(
|
|
19
|
+
`${default_export};`,
|
|
20
|
+
`if (
|
|
21
|
+
typeof window !== 'undefined' &&
|
|
22
|
+
window.__joystick_should_auto_mount__ === true &&
|
|
23
|
+
!window.__joystick_layout_url__ &&
|
|
24
|
+
window.__joystick_page_url__ &&
|
|
25
|
+
!window.__joystick_hmr_update__ &&
|
|
26
|
+
joystick &&
|
|
27
|
+
joystick.mount
|
|
28
|
+
) {
|
|
29
|
+
joystick.mount(${component_name}, window.__joystick_ssr_props__ || {}, document.getElementById('app'));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default ${component_name};
|
|
33
|
+
`
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const add_layout_mounting_code = (code = '', default_export = '', component_name = '') => {
|
|
38
|
+
return code.replace(
|
|
39
|
+
`${default_export};`,
|
|
40
|
+
`if (
|
|
41
|
+
typeof window !== 'undefined' &&
|
|
42
|
+
window.__joystick_should_auto_mount__ === true &&
|
|
43
|
+
window.__joystick_layout_url__ &&
|
|
44
|
+
window.__joystick_page_url__ &&
|
|
45
|
+
!window.__joystick_hmr_update__ &&
|
|
46
|
+
joystick &&
|
|
47
|
+
joystick.mount
|
|
48
|
+
) {
|
|
49
|
+
(async () => {
|
|
50
|
+
const layout_component_file = await import(window.__joystick_layout_url__);
|
|
51
|
+
const page_component_file = await import(window.window.__joystick_page_url__);
|
|
52
|
+
const layout = layout_component_file.default;
|
|
53
|
+
const page = page_component_file.default;
|
|
54
|
+
joystick.mount(layout, Object.assign({ ...window.__joystick_ssr_props__ }, { page }), document.getElementById('app'));
|
|
55
|
+
})();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export default ${component_name};
|
|
59
|
+
`
|
|
60
|
+
);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const replace_commented_code = (code = '') => {
|
|
64
|
+
return code.replace(constants.JOYSTICK_COMMENT_REGEX, "");
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const set_placeholders_for_examples = (code = '') => {
|
|
68
|
+
// NOTE: Replace any <example> bracketed code with a placeholder. This ensures
|
|
69
|
+
// that we don't accidentally include any mounting code (or inject a _componentId)
|
|
70
|
+
// in Joystick example code included as content on the page.
|
|
71
|
+
//
|
|
72
|
+
// example_index is tracked to account for potential for multiple examples in a
|
|
73
|
+
// single file. example_index acts as a placeholder for the code to swap back
|
|
74
|
+
// in after the _componentId is set in restore_examples_without_mounting_code().
|
|
75
|
+
let example_index = 0;
|
|
76
|
+
|
|
77
|
+
return code.replace(
|
|
78
|
+
constants.EXAMPLE_CODE_REGEX,
|
|
79
|
+
() => {
|
|
80
|
+
return `%example:${example_index++}%`;
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
const get_examples_before_replacement = (code = '') => {
|
|
86
|
+
return code.match(constants.EXAMPLE_CODE_REGEX) || [];
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const get_component_name = (default_export = null) => {
|
|
90
|
+
const default_export_parts = (default_export && default_export.split(" ")) || [];
|
|
91
|
+
return default_export_parts?.pop();
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const check_if_valid_component_file = (has_joystick_ui = false, default_export = null) => {
|
|
95
|
+
return has_joystick_ui && !!default_export;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
const get_default_export = (code = '') => {
|
|
99
|
+
const export_default_matches = code.match(constants.EXPORT_DEFAULT_REGEX) || [];
|
|
100
|
+
return export_default_matches && export_default_matches[0];
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
const check_if_has_joystick_ui = (code = '') => {
|
|
104
|
+
const joystick_ui_matches = code.match(constants.JOYSTICK_UI_REGEX) || [];
|
|
105
|
+
return !!joystick_ui_matches && !!joystick_ui_matches[0];
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
const check_if_is_component_type = (type ='', build_args = {}) => {
|
|
109
|
+
return [get_platform_safe_path(type)].some(
|
|
110
|
+
(bootstrap_target) => {
|
|
111
|
+
return build_args.path.includes(bootstrap_target);
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const check_if_should_set_component_id = (entry_point = '') => {
|
|
117
|
+
return [
|
|
118
|
+
get_platform_safe_path("ui/"),
|
|
119
|
+
get_platform_safe_path("email/"),
|
|
120
|
+
].some((bootstrap_target) => {
|
|
121
|
+
return entry_point.includes(bootstrap_target);
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
const bootstrap_component = (build = {}) => {
|
|
126
|
+
build.onLoad({ filter: /\.js$/ }, async (build_args = {}) => {
|
|
127
|
+
const is_layout_component = check_if_is_component_type('ui/layouts', build_args);
|
|
128
|
+
const is_page_component = check_if_is_component_type('ui/pages', build_args);
|
|
129
|
+
const is_email_component = check_if_is_component_type('email/', build_args);
|
|
130
|
+
const is_component = is_layout_component || is_page_component || is_email_component;
|
|
131
|
+
|
|
132
|
+
if (is_component) {
|
|
133
|
+
let file_contents = await readFile(get_platform_safe_path(build_args.path), "utf-8");
|
|
134
|
+
|
|
135
|
+
const has_joystick_ui = check_if_has_joystick_ui(file_contents);
|
|
136
|
+
const default_export = get_default_export(file_contents);
|
|
137
|
+
const is_valid_component_file = check_if_valid_component_file(has_joystick_ui, default_export);
|
|
138
|
+
const examples_before_replacement = get_examples_before_replacement(file_contents);
|
|
139
|
+
const component_name = get_component_name(default_export);
|
|
140
|
+
|
|
141
|
+
file_contents = set_placeholders_for_examples(file_contents);
|
|
142
|
+
file_contents = replace_commented_code(file_contents);
|
|
143
|
+
file_contents = component_name && is_layout_component ?
|
|
144
|
+
add_layout_mounting_code(file_contents, default_export, component_name) :
|
|
145
|
+
file_contents;
|
|
146
|
+
file_contents = component_name && is_page_component ?
|
|
147
|
+
add_page_mounting_code(file_contents, default_export, component_name) :
|
|
148
|
+
file_contents;
|
|
149
|
+
|
|
150
|
+
restore_examples_without_mounting_code(file_contents, examples_before_replacement);
|
|
151
|
+
|
|
152
|
+
return {
|
|
153
|
+
contents: file_contents,
|
|
154
|
+
loader: "js",
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
build.onEnd(() => {
|
|
160
|
+
return new Promise(async (resolve) => {
|
|
161
|
+
for (let i = 0; i < build?.initialOptions?.entryPoints?.length; i += 1) {
|
|
162
|
+
const entry_point = build?.initialOptions?.entryPoints[i];
|
|
163
|
+
const should_set_component_id = check_if_should_set_component_id(entry_point);
|
|
164
|
+
const build_exists = await path_exists(`${build?.initialOptions?.outdir}/${entry_point}`);
|
|
165
|
+
|
|
166
|
+
if (should_set_component_id && build_exists) {
|
|
167
|
+
let file_contents = await readFile(`${build?.initialOptions?.outdir}/${entry_point}`, "utf-8");
|
|
168
|
+
const has_joystick_ui = check_if_has_joystick_ui(file_contents);
|
|
169
|
+
const examples_before_replacement = get_examples_before_replacement(file_contents);
|
|
170
|
+
|
|
171
|
+
file_contents = set_placeholders_for_examples(file_contents);
|
|
172
|
+
|
|
173
|
+
if (has_joystick_ui) {
|
|
174
|
+
file_contents = await set_component_id(file_contents);
|
|
175
|
+
|
|
176
|
+
for (let i = 0; i < examples_before_replacement?.length; i += 1) {
|
|
177
|
+
const example_to_restore = examples_before_replacement[i];
|
|
178
|
+
file_contents = file_contents.replace(`%example:${i}%`, example_to_restore);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
await writeFile(`${build?.initialOptions?.outdir}/${entry_point}`, file_contents);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
resolve();
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export default bootstrap_component;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import get_platform_safe_path from '../../get_platform_safe_path.js';
|
|
3
|
+
import update_file_map from './update_file_map.js';
|
|
4
|
+
|
|
5
|
+
const { readFile } = fs.promises;
|
|
6
|
+
|
|
7
|
+
const generate_file_dependency_map = (build = {}) => {
|
|
8
|
+
build.onLoad({ filter: /\.js$/ }, async (args) => {
|
|
9
|
+
const can_add_to_map = !["node_modules", ".joystick", "?", "commonjsHelpers.js"].some((excluded_path) => {
|
|
10
|
+
return get_platform_safe_path(args.path).includes(excluded_path);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
if (can_add_to_map) {
|
|
14
|
+
const code = await readFile(get_platform_safe_path(args.path), "utf-8");
|
|
15
|
+
await update_file_map(get_platform_safe_path(args.path), code);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default generate_file_dependency_map;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import bootstrap_component from './bootstrap_component.js';
|
|
2
|
+
import generate_file_dependency_map from './generate_file_dependency_map.js';
|
|
3
|
+
import warn_node_environment from "./warn_node_environment.js";
|
|
4
|
+
|
|
5
|
+
const plugins = {
|
|
6
|
+
bootstrap_component: {
|
|
7
|
+
name: "bootstrap_component",
|
|
8
|
+
setup(build) {
|
|
9
|
+
bootstrap_component(build);
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
generate_file_dependency_map: {
|
|
13
|
+
name: "generate_file_dependency_map",
|
|
14
|
+
setup(build) {
|
|
15
|
+
generate_file_dependency_map(build);
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
warn_node_environment: {
|
|
19
|
+
name: "warn_node_environment",
|
|
20
|
+
setup(build) {
|
|
21
|
+
warn_node_environment(build);
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export default plugins;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import generate_id from "../../generate_id.js";
|
|
3
|
+
import path_exists from "../../path_exists.js";
|
|
4
|
+
|
|
5
|
+
const { readFile, writeFile } = fs.promises;
|
|
6
|
+
|
|
7
|
+
const update_component_id_cache = async (component_id_targets = [], component_id_cache = {}, component_id_cache_path = '') => {
|
|
8
|
+
for (let i = 0; i < component_id_targets.length; i += 1) {
|
|
9
|
+
const component = component_id_targets[i];
|
|
10
|
+
component_id_cache[component.path] = component.component_id;
|
|
11
|
+
await writeFile(component_id_cache_path, JSON.stringify(component_id_cache));
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const inject_component_id = (component_id_targets = [], file = '') => {
|
|
16
|
+
let updated_file = file;
|
|
17
|
+
|
|
18
|
+
for (let i = 0; i < component_id_targets.length; i += 1) {
|
|
19
|
+
const component = component_id_targets[i];
|
|
20
|
+
|
|
21
|
+
const tainted = component.source.replace(
|
|
22
|
+
/\.component\(\{+(?!\n + _componentId)/g,
|
|
23
|
+
() => {
|
|
24
|
+
return `.component({\n _componentId: '${component.component_id}',`;
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
updated_file = updated_file.replace(component.source, tainted);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return updated_file;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const get_component_id_targets = (file = '', component_paths_from_esbuild_output = [], component_id_cache = {}) => {
|
|
35
|
+
return component_paths_from_esbuild_output?.map((component_path, component_path_index) => {
|
|
36
|
+
const next_component_path = component_paths_from_esbuild_output[component_path_index + 1];
|
|
37
|
+
const path_without_comment = component_path.path.replace("// ", "");
|
|
38
|
+
|
|
39
|
+
return {
|
|
40
|
+
path: path_without_comment,
|
|
41
|
+
component_id: component_id_cache[path_without_comment] || generate_id(16),
|
|
42
|
+
index: component_path.index,
|
|
43
|
+
source: file.substring(
|
|
44
|
+
component_path.index,
|
|
45
|
+
next_component_path ? next_component_path.index : file.length
|
|
46
|
+
),
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const get_component_paths_from_esbuild_output = (file = '') => {
|
|
52
|
+
return [...file?.matchAll(/\/\/ ui+.*/gi), ...file?.matchAll(/\/\/ email+.*/gi)]?.map((match) => {
|
|
53
|
+
return {
|
|
54
|
+
path: match[0],
|
|
55
|
+
index: match.index,
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const get_existing_component_id_cache = async (component_id_cache_path = '') => {
|
|
61
|
+
const has_component_id_cache = await path_exists(component_id_cache_path);
|
|
62
|
+
|
|
63
|
+
if (has_component_id_cache) {
|
|
64
|
+
const component_id_cache = await readFile(component_id_cache_path, 'utf-8');
|
|
65
|
+
return JSON.parse(component_id_cache);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return {};
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const get_component_id_cache_path = () => {
|
|
72
|
+
return ['development', 'test'].includes(process.env.NODE_ENV)
|
|
73
|
+
? `./.joystick/build/component_id_cache.json`
|
|
74
|
+
: `./.build/component_id_cache.json`;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
const set_component_id = async (file = "") => {
|
|
78
|
+
const component_id_cache_path = get_component_id_cache_path();
|
|
79
|
+
const component_id_cache = await get_existing_component_id_cache(component_id_cache_path);
|
|
80
|
+
const component_paths_from_esbuild_output = get_component_paths_from_esbuild_output(file);
|
|
81
|
+
const component_id_targets = get_component_id_targets(file, component_paths_from_esbuild_output, component_id_cache);
|
|
82
|
+
|
|
83
|
+
const file_with_component_id = inject_component_id(component_id_targets, file);
|
|
84
|
+
await update_component_id_cache(component_id_targets, component_id_cache, component_id_cache_path);
|
|
85
|
+
|
|
86
|
+
return file_with_component_id;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export default set_component_id;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path, { dirname } from 'path';
|
|
3
|
+
import * as acorn from "acorn";
|
|
4
|
+
import path_exists from '../../path_exists.js';
|
|
5
|
+
|
|
6
|
+
const { readFile, writeFile } = fs.promises;
|
|
7
|
+
|
|
8
|
+
const get_requires = (from_path = '', map = {}) => {
|
|
9
|
+
const requires = map?.body?.filter((statement) => {
|
|
10
|
+
const type = statement && statement.type;
|
|
11
|
+
const declarations = (statement && statement.declarations) || [];
|
|
12
|
+
|
|
13
|
+
const is_variable_declaration = type === "VariableDeclaration";
|
|
14
|
+
|
|
15
|
+
const has_require_statement = declarations.some((declaration) => {
|
|
16
|
+
const is_variable_declarator = declaration.type === "VariableDeclarator";
|
|
17
|
+
const callee_name = declaration?.init?.callee?.name;
|
|
18
|
+
return is_variable_declarator && callee_name === "require";
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return is_variable_declaration && has_require_statement;
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
return requires.map((require_declaration) => {
|
|
25
|
+
const declarations = require_declaration.declarations;
|
|
26
|
+
const declaration = declarations && declarations[0];
|
|
27
|
+
const declaration_value = declaration?.init?.arguments[0] && declaration.init.arguments[0]?.value;
|
|
28
|
+
|
|
29
|
+
return {
|
|
30
|
+
absolute_path: declaration_value ? path.resolve(dirname(from_path), declaration_value) : null,
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const get_imports = (from_path = '', map = {}) => {
|
|
36
|
+
const imports = map?.body?.filter(({ type }) => {
|
|
37
|
+
return type === "ImportDeclaration";
|
|
38
|
+
}) || [];
|
|
39
|
+
|
|
40
|
+
return imports.map((import_declaration) => {
|
|
41
|
+
return {
|
|
42
|
+
path: import_declaration?.source?.value,
|
|
43
|
+
absolute_path: path.resolve(dirname(from_path), import_declaration?.source?.value),
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const get_imports_and_requires = (from_path = '', map = {}) => {
|
|
49
|
+
const imports = get_imports(from_path, map);
|
|
50
|
+
const requires = get_requires(from_path, map);
|
|
51
|
+
|
|
52
|
+
return {
|
|
53
|
+
imports,
|
|
54
|
+
requires,
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const parse_file_to_ast = (file = "") => {
|
|
59
|
+
return acorn.parse(file, {
|
|
60
|
+
ecmaVersion: "latest",
|
|
61
|
+
sourceType: "module",
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const read_file_dependency_map = async () => {
|
|
66
|
+
const file_dependency_map_path = `.joystick/build/file_map.json`;
|
|
67
|
+
|
|
68
|
+
if (await path_exists(file_dependency_map_path)) {
|
|
69
|
+
const file_dependency_map_as_json = fs.readFileSync(
|
|
70
|
+
file_dependency_map_path,
|
|
71
|
+
"utf-8"
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
return file_dependency_map_as_json ? JSON.parse(file_dependency_map_as_json) : {};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return {};
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const update_file_map = async (from_path = "", source = "") => {
|
|
81
|
+
try {
|
|
82
|
+
const file_dependency_map = await read_file_dependency_map();
|
|
83
|
+
const file_ast = parse_file_to_ast(source);
|
|
84
|
+
const imports = file_ast ? get_imports_and_requires(from_path, file_ast) : [];
|
|
85
|
+
|
|
86
|
+
file_dependency_map[from_path] = imports;
|
|
87
|
+
|
|
88
|
+
fs.writeFileSync(
|
|
89
|
+
`.joystick/build/file_map.json`,
|
|
90
|
+
JSON.stringify(file_dependency_map, null, 2)
|
|
91
|
+
);
|
|
92
|
+
} catch {
|
|
93
|
+
// Do nothing. This exists to handle acorn parsing errors that are also picked
|
|
94
|
+
// up by the esbuild parser (we want to defer to esbuild).
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export default update_file_map;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
|
|
4
|
+
const { readFile } = fs.promises;
|
|
5
|
+
|
|
6
|
+
const warn_node_environment = (build = {}) => {
|
|
7
|
+
build.onLoad({ filter: /\.js$/ }, async (args = {}) => {
|
|
8
|
+
const code = await readFile(args.path, "utf-8");
|
|
9
|
+
|
|
10
|
+
if (code?.match(/process.env.NODE_ENV\s+=\s/gi)?.length) {
|
|
11
|
+
console.warn(
|
|
12
|
+
chalk.yellowBright(
|
|
13
|
+
"\n[WARNING] process.env.NODE_ENV should only be set via a CLI flag in development or via external environment variables in production.\n"
|
|
14
|
+
)
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default warn_node_environment;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import
|
|
2
|
+
import log_bars from './log_bars.js';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const cli_log = (message = '', options = {}) => {
|
|
5
5
|
const colors = {
|
|
6
6
|
info: 'blue',
|
|
7
7
|
success: 'green',
|
|
@@ -18,23 +18,27 @@ export default (message = '', options = {}) => {
|
|
|
18
18
|
|
|
19
19
|
const color = options.level ? colors[options.level] : 'gray';
|
|
20
20
|
const title = options.level ? titles[options.level] : 'Log';
|
|
21
|
-
const docs = options.docs || 'https://
|
|
21
|
+
const docs = options.docs || 'https://docs.cheatcode.co/joystick';
|
|
22
22
|
|
|
23
|
-
console.log(`\n${(options.padding || '')}${
|
|
23
|
+
console.log(`\n${(options.padding || '')}${log_bars()}\n`);
|
|
24
24
|
console.log(`${(options.padding || '')}${chalk[color](`${title}:`)}\n`)
|
|
25
25
|
console.log(`${(options.padding || '')}${chalk.white(message)}\n`);
|
|
26
26
|
console.log(`${(options.padding || '')}${chalk.grey('---')}\n`);
|
|
27
27
|
console.log(`${(options.padding || '')}${chalk.white('Relevant Documentation:')}\n`)
|
|
28
28
|
console.log(`${(options.padding || '')}${chalk.blue(docs)}\n`);
|
|
29
29
|
console.log(`${(options.padding || '')}${chalk.white('Stuck? Ask a Question:')}\n`)
|
|
30
|
-
console.log(`${(options.padding || '')}${chalk.blue('
|
|
30
|
+
console.log(`${(options.padding || '')}${chalk.blue('http://discord.cheatcode.co')}\n`);
|
|
31
31
|
|
|
32
32
|
if (options.tools && Array.isArray(options.tools)) {
|
|
33
33
|
console.log(`${(options.padding || '')}${chalk.white('Helpful Tools:')}\n`);
|
|
34
|
-
|
|
34
|
+
|
|
35
|
+
for (let i = 0; i < options?.tools?.length; i += 1) {
|
|
36
|
+
const tool = options?.tools[i];
|
|
35
37
|
console.log(`${(options.padding || '')}${chalk.blue(`${tool.title} — ${tool.url}`)}\n`);
|
|
36
|
-
}
|
|
38
|
+
}
|
|
37
39
|
}
|
|
38
40
|
|
|
39
|
-
console.log(`${(options.padding || '')}${
|
|
41
|
+
console.log(`${(options.padding || '')}${log_bars()}\n`);
|
|
40
42
|
};
|
|
43
|
+
|
|
44
|
+
export default cli_log;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import child_process from 'child_process';
|
|
2
|
+
import util from 'util';
|
|
3
|
+
|
|
4
|
+
const exec = util.promisify(child_process.exec);
|
|
5
|
+
|
|
6
|
+
const command_exists = (command = '') => {
|
|
7
|
+
const where_command = process.platform === 'win32' ? 'where' : 'whereis';
|
|
8
|
+
return exec(`${where_command} ${command}`).then(() => {
|
|
9
|
+
return true;
|
|
10
|
+
}).catch((error) => {
|
|
11
|
+
console.warn(error);
|
|
12
|
+
return false;
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default command_exists;
|
package/src/lib/constants.js
CHANGED
|
@@ -1 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
const constants = {
|
|
2
|
+
EXAMPLE_CODE_REGEX: new RegExp(/\<example\>[^%]+\<\/example\>/g),
|
|
3
|
+
EXPORT_DEFAULT_REGEX: new RegExp(/export default [a-zA-Z0-9]+/g),
|
|
4
|
+
JOYSTICK_COMMENT_REGEX: new RegExp(/\<\!\-\-(.|\n|\r)*?-->/g),
|
|
5
|
+
JOYSTICK_COMPONENT_REGEX: new RegExp(/\.component\(\{/g),
|
|
6
|
+
JOYSTICK_UI_REGEX: new RegExp(/joystick-ui-test|joystick.js\/ui-canary|joystick.js\/ui/g),
|
|
7
|
+
OBJECT_REGEX: new RegExp(/{([^;]*)}/g),
|
|
8
|
+
SETTINGS_FILE_NAME_REGEX: new RegExp(/settings\.+[a-z]+\.json/g),
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default constants;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
|
|
3
|
+
const decrypt_buffer = (buffer, key) => {
|
|
4
|
+
// NOTE: First 16 bytes of buffer are the initialization_vector.
|
|
5
|
+
const initialization_vector = buffer.slice(0, 16);
|
|
6
|
+
const rest_of_buffer = buffer.slice(16);
|
|
7
|
+
const hashed_encryption_key = crypto.createHash('sha256').update(key).digest('hex').substring(0, 32);
|
|
8
|
+
const decipher = crypto.createDecipheriv('aes256', hashed_encryption_key, initialization_vector);
|
|
9
|
+
return Buffer.concat([decipher.update(rest_of_buffer), decipher.final()]);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default decrypt_buffer;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const ava_config = {
|
|
2
|
+
files: [
|
|
3
|
+
`tests/**/*.test.js`,
|
|
4
|
+
],
|
|
5
|
+
ignoredByWatcher: ['.joystick', './uploads'],
|
|
6
|
+
// NOTE: Intentionally limit to 1 test at a time to avoid concurrency creating
|
|
7
|
+
// race conditions in tests that have users or other global data that needs
|
|
8
|
+
// to be cleaned up. The extra time needed is worth it to guarantee that tests
|
|
9
|
+
// don't step on each other's toes and our code is properly verified.
|
|
10
|
+
concurrency: 1,
|
|
11
|
+
cache: false,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default ava_config;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import net from 'net';
|
|
2
|
+
|
|
3
|
+
const reset_client = (client = {}) => {
|
|
4
|
+
client.end();
|
|
5
|
+
client.destroy();
|
|
6
|
+
client.unref();
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const check_if_port_occupied = (port = 2600) => {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const client = new net.Socket();
|
|
12
|
+
|
|
13
|
+
// NOTE: This is inverted. If we can connect, the port is occupied. If we can't, the port is free.
|
|
14
|
+
client.once('connect', () => {
|
|
15
|
+
reset_client(client);
|
|
16
|
+
resolve(true);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
client.once('error', () => {
|
|
20
|
+
reset_client(client);
|
|
21
|
+
resolve(false);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
client.connect({
|
|
25
|
+
port,
|
|
26
|
+
host: '127.0.0.1',
|
|
27
|
+
}, function() {});
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default check_if_port_occupied;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// NOTE: This module is intended to be run as a child_process as part of
|
|
2
|
+
// a SIGINT or SIGTERM event.
|
|
3
|
+
|
|
4
|
+
import kill_process_ids from "./kill_process_ids.js";
|
|
5
|
+
|
|
6
|
+
process.title = "joystick_cleanup";
|
|
7
|
+
|
|
8
|
+
process.on('message', async (message) => {
|
|
9
|
+
const parsed_message = JSON.parse(message);
|
|
10
|
+
const process_ids = parsed_message?.process_ids;
|
|
11
|
+
|
|
12
|
+
kill_process_ids(process_ids);
|
|
13
|
+
|
|
14
|
+
process.exit();
|
|
15
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import build_query_parameters from "./build_query_parameters.js";
|
|
2
|
+
import serialize_query_parameters from "../../../serialize_query_parameters.js";
|
|
3
|
+
import types from "../../../types.js";
|
|
4
|
+
|
|
5
|
+
const build_connection_string = (connection = {}) => {
|
|
6
|
+
let connection_string = "mongodb://";
|
|
7
|
+
|
|
8
|
+
if (connection && (connection.username || connection.password)) {
|
|
9
|
+
connection_string = `${connection_string}${connection.username || connection.password ? `${connection.username || ""}${!!connection.username && !!connection.password ? ':' : ''}${connection.password || ""}@` : ''}`;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
if (connection && connection.hosts && types.is_array(connection.hosts)) {
|
|
13
|
+
connection_string = `${connection_string}${connection.hosts
|
|
14
|
+
.map((host) => `${host.hostname}:${host.port}`)
|
|
15
|
+
.join(",")}`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (connection && connection.database) {
|
|
19
|
+
connection_string = `${connection_string}/${connection.database}`;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const query_parameters = build_query_parameters(connection);
|
|
23
|
+
|
|
24
|
+
if (Object.keys(query_parameters)?.length > 0 ) {
|
|
25
|
+
connection_string = `${connection_string}?${serialize_query_parameters(query_parameters)}`;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return connection_string;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default build_connection_string;
|