@scandipwa/magento-scripts 2.0.3 → 2.0.4
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/.eslintrc +6 -1
- package/exec.js +75 -39
- package/index.js +87 -46
- package/lib/commands/cleanup.js +18 -21
- package/lib/commands/cli.js +138 -73
- package/lib/commands/execute.js +5 -5
- package/lib/commands/import-db.js +21 -24
- package/lib/commands/link.js +17 -20
- package/lib/commands/logs.js +91 -91
- package/lib/commands/start.js +229 -191
- package/lib/commands/status.js +64 -50
- package/lib/commands/stop.js +14 -11
- package/lib/config/check-configuration-file.js +33 -28
- package/lib/config/cma-config.js +4 -4
- package/lib/config/config.js +40 -18
- package/lib/config/dependencies-for-platforms.js +33 -3
- package/lib/config/docker.js +259 -157
- package/lib/config/get-magento-version-config.js +45 -38
- package/lib/config/get-port-config.js +30 -44
- package/lib/config/get-project-configuration.js +8 -8
- package/lib/config/index.js +51 -42
- package/lib/config/magento/required-php-extensions/index.js +33 -19
- package/lib/config/magento/required-php-extensions/magento-2.3.js +2 -2
- package/lib/config/magento/required-php-extensions/magento-2.4.js +2 -2
- package/lib/config/magento-config.js +4 -4
- package/lib/config/php-config.js +8 -6
- package/lib/config/port-config.js +62 -43
- package/lib/config/save-config.js +6 -6
- package/lib/config/scandipwa-versions.js +2 -2
- package/lib/config/services/composer/versions/composer-1.js +2 -2
- package/lib/config/services/composer/versions/composer-2.js +2 -2
- package/lib/config/services/composer/versions/index.js +1 -1
- package/lib/config/services/elasticsearch/base-repo.js +1 -1
- package/lib/config/services/elasticsearch/default-es-env.js +4 -1
- package/lib/config/services/elasticsearch/versions/elasticsearch-6.8.js +17 -14
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.10.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.12.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.16.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.17.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.6.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.7.js +4 -4
- package/lib/config/services/elasticsearch/versions/elasticsearch-7.9.js +4 -4
- package/lib/config/services/elasticsearch/versions/index.js +9 -9
- package/lib/config/services/maildev/index.js +5 -2
- package/lib/config/services/mariadb/versions/index.js +1 -1
- package/lib/config/services/mariadb/versions/mariadb-10.2.js +3 -3
- package/lib/config/services/mariadb/versions/mariadb-10.3.js +3 -3
- package/lib/config/services/mariadb/versions/mariadb-10.4.js +3 -3
- package/lib/config/services/nginx/versions/index.js +1 -1
- package/lib/config/services/nginx/versions/nginx-1.18.js +5 -4
- package/lib/config/services/php/base-repo.js +1 -1
- package/lib/config/services/php/extensions/apcu.js +3 -3
- package/lib/config/services/php/extensions/bcmath.js +2 -2
- package/lib/config/services/php/extensions/curl.js +3 -6
- package/lib/config/services/php/extensions/gd.js +4 -3
- package/lib/config/services/php/extensions/index.js +9 -8
- package/lib/config/services/php/extensions/intl.js +3 -5
- package/lib/config/services/php/extensions/opcache.js +3 -5
- package/lib/config/services/php/extensions/pdo_mysql.js +2 -2
- package/lib/config/services/php/extensions/soap.js +3 -5
- package/lib/config/services/php/extensions/sodium.js +3 -5
- package/lib/config/services/php/extensions/xdebug.js +5 -3
- package/lib/config/services/php/extensions/xsl.js +3 -5
- package/lib/config/services/php/extensions/zip.js +3 -5
- package/lib/config/services/php/versions/index.js +1 -1
- package/lib/config/services/php/versions/php-7.2.js +13 -9
- package/lib/config/services/php/versions/php-7.3.js +13 -9
- package/lib/config/services/php/versions/php-7.4.js +13 -9
- package/lib/config/services/php/versions/php-8.1.js +13 -9
- package/lib/config/services/redis/index.js +1 -1
- package/lib/config/services/redis/redis-5.0.js +2 -2
- package/lib/config/services/redis/redis-6.0.js +2 -2
- package/lib/config/services/redis/redis-6.2.js +2 -2
- package/lib/config/services/ssl-terminator/index.js +6 -5
- package/lib/config/services/varnish/index.js +1 -1
- package/lib/config/services/varnish/varnish-6-0.js +7 -5
- package/lib/config/services/varnish/varnish-6-6.js +7 -5
- package/lib/config/services/varnish/varnish-7-0.js +7 -5
- package/lib/config/system-config.js +55 -32
- package/lib/config/templates/mariadb.template.cnf +2 -0
- package/lib/config/versions/index.js +48 -27
- package/lib/config/versions/magento-2.2.10.js +22 -15
- package/lib/config/versions/magento-2.3.0.js +22 -15
- package/lib/config/versions/magento-2.3.1.js +22 -15
- package/lib/config/versions/magento-2.3.2-p1.js +22 -15
- package/lib/config/versions/magento-2.3.2-p2.js +22 -15
- package/lib/config/versions/magento-2.3.2.js +22 -15
- package/lib/config/versions/magento-2.3.3-p1.js +22 -15
- package/lib/config/versions/magento-2.3.3.js +22 -15
- package/lib/config/versions/magento-2.3.4-p1.js +22 -15
- package/lib/config/versions/magento-2.3.4-p2.js +22 -15
- package/lib/config/versions/magento-2.3.4.js +22 -15
- package/lib/config/versions/magento-2.3.5-p1.js +22 -15
- package/lib/config/versions/magento-2.3.5-p2.js +22 -15
- package/lib/config/versions/magento-2.3.5.js +27 -15
- package/lib/config/versions/magento-2.3.6-p1.js +22 -15
- package/lib/config/versions/magento-2.3.6.js +22 -15
- package/lib/config/versions/magento-2.3.7-p1.js +22 -15
- package/lib/config/versions/magento-2.3.7-p2.js +22 -15
- package/lib/config/versions/magento-2.3.7-p3.js +22 -15
- package/lib/config/versions/magento-2.3.7-p4.js +22 -15
- package/lib/config/versions/magento-2.3.7.js +22 -15
- package/lib/config/versions/magento-2.4.0-p1.js +22 -15
- package/lib/config/versions/magento-2.4.0.js +22 -15
- package/lib/config/versions/magento-2.4.1-p1.js +23 -16
- package/lib/config/versions/magento-2.4.1.js +23 -16
- package/lib/config/versions/magento-2.4.2-p1.js +23 -16
- package/lib/config/versions/magento-2.4.2-p2.js +23 -16
- package/lib/config/versions/magento-2.4.2.js +23 -16
- package/lib/config/versions/magento-2.4.3-p1.js +23 -16
- package/lib/config/versions/magento-2.4.3-p2.js +23 -16
- package/lib/config/versions/magento-2.4.3-p3.js +23 -16
- package/lib/config/versions/magento-2.4.3.js +23 -16
- package/lib/config/versions/magento-2.4.4-p1.js +23 -16
- package/lib/config/versions/magento-2.4.4-p2.js +23 -16
- package/lib/config/versions/magento-2.4.4.js +23 -16
- package/lib/config/versions/magento-2.4.5-p1.js +23 -16
- package/lib/config/versions/magento-2.4.5.js +23 -17
- package/lib/config/xml-parser.js +21 -20
- package/lib/errors/known-error.js +8 -6
- package/lib/errors/unknown-error.js +8 -6
- package/lib/tasks/cache/create-cache-folder.js +10 -10
- package/lib/tasks/cache/index.js +1 -1
- package/lib/tasks/cache/remove-cache-folder.js +9 -9
- package/lib/tasks/cleanup.js +22 -24
- package/lib/tasks/cli/create-bashrc-config.js +19 -11
- package/lib/tasks/cli/index.js +10 -13
- package/lib/tasks/composer/index.js +20 -15
- package/lib/tasks/composer/local-auth-json.js +32 -18
- package/lib/tasks/database/connect-to-database.js +71 -51
- package/lib/tasks/database/create-magento-database.js +7 -7
- package/lib/tasks/database/create-magento-user.js +33 -20
- package/lib/tasks/database/default-magento-database.js +1 -1
- package/lib/tasks/database/default-magento-user.js +2 -2
- package/lib/tasks/database/dump-theme-config.js +16 -12
- package/lib/tasks/database/fix-db.js +62 -52
- package/lib/tasks/database/import-dump-to-database.js +122 -85
- package/lib/tasks/database/import-remote-db/index.js +16 -18
- package/lib/tasks/database/import-remote-db/ssh/database-dump-command.js +2 -2
- package/lib/tasks/database/import-remote-db/ssh/index.js +34 -35
- package/lib/tasks/database/import-remote-db/ssh/readymage.js +41 -38
- package/lib/tasks/database/import-remote-db/ssh/regular-server.js +44 -46
- package/lib/tasks/database/index.js +1 -1
- package/lib/tasks/database/magento-tables.js +3 -3
- package/lib/tasks/database/restore-theme-config.js +26 -19
- package/lib/tasks/docker/api.d.ts +1 -1
- package/lib/tasks/docker/api.js +31 -33
- package/lib/tasks/docker/containers/container-api.d.ts +49 -14
- package/lib/tasks/docker/containers/container-api.js +112 -83
- package/lib/tasks/docker/containers/index.js +3 -3
- package/lib/tasks/docker/containers/tasks.js +171 -99
- package/lib/tasks/docker/convert-composer-home-to-composer-cache-volume.js +34 -25
- package/lib/tasks/docker/convert-legacy-volumes.js +91 -55
- package/lib/tasks/docker/convert-mysql-to-mariadb.js +178 -147
- package/lib/tasks/docker/image/image-api.d.ts +2 -3
- package/lib/tasks/docker/image/image-api.js +41 -34
- package/lib/tasks/docker/image/index.js +2 -2
- package/lib/tasks/docker/index.js +26 -21
- package/lib/tasks/docker/network/index.js +3 -3
- package/lib/tasks/docker/network/network-api.d.ts +11 -8
- package/lib/tasks/docker/network/network-api.js +53 -61
- package/lib/tasks/docker/network/tasks.js +41 -31
- package/lib/tasks/docker/project-image-builder.js +175 -92
- package/lib/tasks/docker/system/index.js +2 -2
- package/lib/tasks/docker/system/system-api.d.ts +2 -2
- package/lib/tasks/docker/system/system-api.js +16 -19
- package/lib/tasks/docker/volume/index.js +3 -3
- package/lib/tasks/docker/volume/tasks.js +63 -46
- package/lib/tasks/docker/volume/volume-api.d.ts +8 -5
- package/lib/tasks/docker/volume/volume-api.js +59 -76
- package/lib/tasks/execute.js +91 -55
- package/lib/tasks/file-system/create-mariadb-config.js +18 -10
- package/lib/tasks/file-system/create-nginx-config.js +18 -19
- package/lib/tasks/file-system/create-php-config.js +12 -8
- package/lib/tasks/file-system/create-php-debug-config.js +23 -18
- package/lib/tasks/file-system/create-php-fpm-config.js +14 -9
- package/lib/tasks/file-system/create-phpstorm-config/database-config.js +144 -112
- package/lib/tasks/file-system/create-phpstorm-config/eslint-config.js +69 -45
- package/lib/tasks/file-system/create-phpstorm-config/exclude-folder-config.js +69 -70
- package/lib/tasks/file-system/create-phpstorm-config/index.js +28 -24
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/coding-standard-config.js +9 -9
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/config.js +23 -23
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/custom-ruleset-path-config.js +22 -19
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/default-properties-config.js +26 -16
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/eslint-inspection-config.js +14 -15
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/index.js +43 -34
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/inspection-tools-config.js +14 -6
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/magento-coding-standard-config.js +9 -9
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/mess-detector-validation-inspection-config.js +53 -47
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/paths.js +41 -12
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/php-cs-fixer-validation-inspection-config.js +33 -30
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/php-cs-validation-inspection-config.js +35 -38
- package/lib/tasks/file-system/create-phpstorm-config/inspection-tools-config/stylelint-inspection-config.js +14 -15
- package/lib/tasks/file-system/create-phpstorm-config/keys.js +10 -10
- package/lib/tasks/file-system/create-phpstorm-config/php-config/index.js +33 -25
- package/lib/tasks/file-system/create-phpstorm-config/php-config/mess-detector-config.js +28 -25
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-code-sniffer-config.js +53 -32
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-config.js +7 -7
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-cs-fixer-config.js +37 -27
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-interpreters-config.js +53 -31
- package/lib/tasks/file-system/create-phpstorm-config/php-config/php-project-shared-configuration-config.js +42 -30
- package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/index.js +33 -20
- package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/php-docker-settings-config.js +3 -3
- package/lib/tasks/file-system/create-phpstorm-config/php-docker-settings-config/setup-php-docker-container-settings-config.js +27 -16
- package/lib/tasks/file-system/create-phpstorm-config/setup-xml-structure.js +14 -13
- package/lib/tasks/file-system/create-phpstorm-config/stylelint-config.js +52 -34
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/composer-settings-config.js +41 -33
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/format-setting-config.js +39 -27
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/index.js +34 -30
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/mess-detector-project-configuration-config.js +32 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-code-sniffer-project-configuration-config.js +32 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-cs-fixer-project-configuration-config.js +32 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-debug-general-config.js +42 -31
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-server-config.js +45 -33
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-stan-project-configuration-config.js.js +32 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/php-workspace-project-configuration-config.js +22 -19
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/properties-component-config.js +35 -21
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/psalm-project-configuration-config.js.js +31 -22
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/run-manager-config.js +38 -28
- package/lib/tasks/file-system/create-phpstorm-config/workspace-config/workspace-config.js +5 -5
- package/lib/tasks/file-system/create-phpstorm-config/xml-utils.js +3 -2
- package/lib/tasks/file-system/create-ssl-terminator-config.js +46 -34
- package/lib/tasks/file-system/create-varnish-config.js +20 -23
- package/lib/tasks/file-system/create-vscode-config.js +66 -49
- package/lib/tasks/file-system/index.js +29 -25
- package/lib/tasks/import-dump.js +54 -45
- package/lib/tasks/link.js +24 -23
- package/lib/tasks/magento/enable-magento-composer-plugins.js +213 -149
- package/lib/tasks/magento/index.js +1 -1
- package/lib/tasks/magento/install-magento-project.js +158 -97
- package/lib/tasks/magento/remove-magento.js +30 -24
- package/lib/tasks/magento/setup-magento/adjust-full-page-cache.js +27 -15
- package/lib/tasks/magento/setup-magento/configure-elasticsearch.js +23 -10
- package/lib/tasks/magento/setup-magento/create-admin.js +21 -13
- package/lib/tasks/magento/setup-magento/delete-admin-users.js +5 -5
- package/lib/tasks/magento/setup-magento/delete-customers.js +16 -10
- package/lib/tasks/magento/setup-magento/delete-orders.js +16 -10
- package/lib/tasks/magento/setup-magento/disable-2fa.js +11 -8
- package/lib/tasks/magento/setup-magento/disable-maintenance-mode.js +7 -7
- package/lib/tasks/magento/setup-magento/disable-page-builder.js +5 -4
- package/lib/tasks/magento/setup-magento/flush-redis-config.js +14 -8
- package/lib/tasks/magento/setup-magento/increase-admin-session-lifetime.js +21 -17
- package/lib/tasks/magento/setup-magento/index-products.js +4 -6
- package/lib/tasks/magento/setup-magento/index.js +54 -47
- package/lib/tasks/magento/setup-magento/install-magento.js +112 -79
- package/lib/tasks/magento/setup-magento/migrate-database.js +115 -96
- package/lib/tasks/magento/setup-magento/set-base-url.js +35 -21
- package/lib/tasks/magento/setup-magento/set-deployment-mode.js +15 -13
- package/lib/tasks/magento/setup-magento/set-mail-config.js +20 -14
- package/lib/tasks/magento/setup-magento/set-url-rewrite.js +13 -9
- package/lib/tasks/magento/setup-magento/upgrade-magento.js +30 -22
- package/lib/tasks/magento/setup-magento/urn-highlighter.js +11 -11
- package/lib/tasks/magento/setup-magento/varnish-config.js +42 -32
- package/lib/tasks/magento/setup-magento/waiting-for-redis.js +6 -8
- package/lib/tasks/magento/setup-magento/waiting-for-varnish.js +108 -65
- package/lib/tasks/magento/uninstall-magento.js +19 -16
- package/lib/tasks/php/php-container.d.ts +19 -0
- package/lib/tasks/php/php-container.js +50 -46
- package/lib/tasks/php/update-env-php.js +50 -30
- package/lib/tasks/project-config/index.js +12 -8
- package/lib/tasks/requirements/composer-credentials.js +215 -112
- package/lib/tasks/requirements/docker/context.js +49 -37
- package/lib/tasks/requirements/docker/index.js +123 -89
- package/lib/tasks/requirements/docker/install-on-mac.js +21 -14
- package/lib/tasks/requirements/docker/install.js +63 -52
- package/lib/tasks/requirements/docker/performance.js +40 -24
- package/lib/tasks/requirements/docker/permissions.js +27 -17
- package/lib/tasks/requirements/docker/running-status.js +79 -66
- package/lib/tasks/requirements/docker/version.js +14 -11
- package/lib/tasks/requirements/index.js +33 -29
- package/lib/tasks/requirements/node-version.js +8 -8
- package/lib/tasks/requirements/php-version.js +14 -11
- package/lib/tasks/requirements/platform.js +42 -26
- package/lib/tasks/requirements/rosetta.js +15 -12
- package/lib/tasks/start.js +172 -148
- package/lib/tasks/status/index.js +155 -88
- package/lib/tasks/stop.js +22 -18
- package/lib/tasks/theme/build-theme.js +50 -33
- package/lib/tasks/theme/install-theme.js +31 -18
- package/lib/tasks/theme/link-theme.js +27 -21
- package/lib/tasks/theme/retrieve-theme-data.js +24 -18
- package/lib/tasks/theme/setup-themes.js +87 -59
- package/lib/tasks/theme/symlink-theme.js +44 -22
- package/lib/util/CSA-theme.js +23 -21
- package/lib/util/analytics.js +130 -75
- package/lib/util/arch.js +22 -18
- package/lib/util/clean-object.js +15 -10
- package/lib/util/config-file-validator.js +63 -54
- package/lib/util/config-php-json.js +34 -16
- package/lib/util/connection-string.js +41 -27
- package/lib/util/console-block.js +112 -65
- package/lib/util/database.js +56 -33
- package/lib/util/deepmerge.d.ts +1 -1
- package/lib/util/deepmerge.js +19 -28
- package/lib/util/dockerfile-builder/build-instructions.js +159 -143
- package/lib/util/dockerfile-builder/index.js +47 -73
- package/lib/util/dockerfile-builder/types.d.ts +2 -1
- package/lib/util/download-file.js +28 -16
- package/lib/util/env-php-json.js +42 -16
- package/lib/util/exec-async-command.d.ts +9 -9
- package/lib/util/exec-async-command.js +82 -59
- package/lib/util/exec-async.d.ts +2 -0
- package/lib/util/exec-async.js +12 -5
- package/lib/util/execute-in-container.js +22 -27
- package/lib/util/execute-sudo-command.js +11 -15
- package/lib/util/get-brew-bin-path.js +27 -23
- package/lib/util/get-installed-magento-version.js +22 -16
- package/lib/util/get-jsonfile-data.js +14 -9
- package/lib/util/install-dependencies-task.js +53 -41
- package/lib/util/instance-metadata.js +44 -29
- package/lib/util/ip.js +16 -12
- package/lib/util/is-running-root.js +6 -3
- package/lib/util/is-wsl.js +10 -10
- package/lib/util/macos-version.js +12 -11
- package/lib/util/magento-task.js +14 -9
- package/lib/util/match-filesystem.js +22 -16
- package/lib/util/move-file.js +40 -25
- package/lib/util/nginx-logs-parser.js +50 -39
- package/lib/util/open-browser.js +8 -5
- package/lib/util/os-platform.js +40 -32
- package/lib/util/path-exists-sync.js +10 -6
- package/lib/util/path-exists.js +6 -6
- package/lib/util/php-task.js +11 -10
- package/lib/util/portscanner.js +97 -85
- package/lib/util/prefix.js +31 -22
- package/lib/util/resolve-configuration-with-overrides.js +30 -15
- package/lib/util/rmdir-safe.js +15 -11
- package/lib/util/run-composer.js +16 -16
- package/lib/util/run-container-image.js +9 -4
- package/lib/util/run-magento.js +16 -17
- package/lib/util/run-php.js +16 -21
- package/lib/util/safe-regex-extract.js +8 -12
- package/lib/util/set-config.js +24 -15
- package/lib/util/sleep.js +7 -2
- package/lib/util/systemctl.js +62 -44
- package/lib/util/wait-for-it.js +42 -33
- package/lib/util/wait-for-logs.js +42 -35
- package/lib/util/xdg-open-exists.js +19 -19
- package/package.json +7 -3
- package/tsconfig.json +24 -0
- package/typings/context.d.ts +76 -34
- package/typings/index.d.ts +44 -19
- package/typings/override.d.ts +14 -0
- package/typings/phpstorm.d.ts +19 -19
- package/.prettierrc +0 -3
- package/lib/util/get-php-for-phpbrew.js +0 -30
- package/lib/util/request.js +0 -0
|
@@ -1,52 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {{ date: Date | null, timestamp: number | null, ip: number | null } & Record<string, string | null>} LogRow
|
|
3
|
+
*/
|
|
4
|
+
|
|
3
5
|
class NginxParser {
|
|
6
|
+
/**
|
|
7
|
+
* @param {String} format
|
|
8
|
+
*/
|
|
4
9
|
constructor(format) {
|
|
5
|
-
|
|
10
|
+
/**
|
|
11
|
+
* @type {Record<string, number>}
|
|
12
|
+
*/
|
|
13
|
+
this.directives = {}
|
|
6
14
|
|
|
7
|
-
const prefix = format.match(/^[^$]*/)
|
|
15
|
+
const prefix = format.match(/^[^$]*/)
|
|
8
16
|
if (prefix) {
|
|
9
|
-
format = this.escape(prefix[0]) + format.slice(prefix[0].length)
|
|
17
|
+
format = this.escape(prefix[0]) + format.slice(prefix[0].length)
|
|
10
18
|
}
|
|
11
19
|
|
|
12
|
-
this.parser = format
|
|
20
|
+
this.parser = format
|
|
13
21
|
|
|
14
|
-
const directive = /\$([a-z_]+)(.)?([^$]+)?/g
|
|
15
|
-
let match
|
|
16
|
-
let regex
|
|
17
|
-
let boundary
|
|
18
|
-
let i = 1
|
|
22
|
+
const directive = /\$([a-z_]+)(.)?([^$]+)?/g
|
|
23
|
+
let match
|
|
24
|
+
let regex
|
|
25
|
+
let boundary
|
|
26
|
+
let i = 1
|
|
19
27
|
|
|
20
|
-
// eslint-disable-next-line no-cond-assign
|
|
21
28
|
while ((match = directive.exec(format))) {
|
|
22
|
-
this.directives[match[1]] = i
|
|
29
|
+
this.directives[match[1]] = i++
|
|
23
30
|
if (match[2]) {
|
|
24
|
-
boundary = this.escape(match[2])
|
|
25
|
-
regex = `([^${
|
|
31
|
+
boundary = this.escape(match[2])
|
|
32
|
+
regex = `([^${boundary}]*?)${boundary}`
|
|
26
33
|
if (match[3]) {
|
|
27
|
-
regex += this.escape(match[3])
|
|
34
|
+
regex += this.escape(match[3])
|
|
28
35
|
}
|
|
29
36
|
} else {
|
|
30
|
-
regex = '(.+)$'
|
|
37
|
+
regex = '(.+)$'
|
|
31
38
|
}
|
|
32
|
-
this.parser = this.parser.replace(match[0], regex)
|
|
39
|
+
this.parser = this.parser.replace(match[0], regex)
|
|
33
40
|
}
|
|
34
41
|
|
|
35
|
-
this.parser = new RegExp(this.parser)
|
|
42
|
+
this.parser = new RegExp(this.parser)
|
|
36
43
|
}
|
|
37
44
|
|
|
38
45
|
/**
|
|
39
46
|
* Parse a log line.
|
|
40
47
|
*
|
|
41
48
|
* @param {String} line
|
|
42
|
-
* @returns {
|
|
49
|
+
* @returns {LogRow | null}
|
|
43
50
|
*/
|
|
44
51
|
parseLine(line) {
|
|
45
|
-
const match = line.match(this.parser)
|
|
52
|
+
const match = line.match(this.parser)
|
|
46
53
|
if (!match) {
|
|
47
|
-
return
|
|
54
|
+
return null
|
|
48
55
|
}
|
|
49
56
|
|
|
57
|
+
/**
|
|
58
|
+
* @type {LogRow}
|
|
59
|
+
*/
|
|
50
60
|
const row = {
|
|
51
61
|
msec: null,
|
|
52
62
|
time_iso8601: null,
|
|
@@ -69,41 +79,41 @@ class NginxParser {
|
|
|
69
79
|
timestamp: null,
|
|
70
80
|
ip: null,
|
|
71
81
|
ip_str: null
|
|
72
|
-
}
|
|
82
|
+
}
|
|
73
83
|
|
|
74
|
-
// eslint-disable-next-line guard-for-in
|
|
75
84
|
for (const key in this.directives) {
|
|
76
|
-
row[key] = match[this.directives[key]]
|
|
85
|
+
row[key] = match[this.directives[key]]
|
|
77
86
|
if (row[key] === '-') {
|
|
78
|
-
row[key] = null
|
|
87
|
+
row[key] = null
|
|
79
88
|
}
|
|
80
89
|
}
|
|
81
90
|
|
|
82
91
|
// Parse the timestamp
|
|
83
92
|
if (row.time_iso8601) {
|
|
84
|
-
row.date = new Date(row.time_iso8601)
|
|
93
|
+
row.date = new Date(row.time_iso8601)
|
|
85
94
|
} else if (row.msec) {
|
|
86
|
-
row.date = new Date(Number(row.msec.replace('.', '')))
|
|
95
|
+
row.date = new Date(Number(row.msec.replace('.', '')))
|
|
87
96
|
}
|
|
88
97
|
if (row.date) {
|
|
89
|
-
row.timestamp = row.date.getTime()
|
|
98
|
+
row.timestamp = row.date.getTime()
|
|
90
99
|
}
|
|
91
100
|
|
|
92
101
|
// Parse the user's IP
|
|
93
102
|
if (row.http_x_forwarded_for) {
|
|
94
|
-
row.ip_str = row.http_x_forwarded_for
|
|
103
|
+
row.ip_str = row.http_x_forwarded_for
|
|
95
104
|
} else if (row.remote_addr) {
|
|
96
|
-
row.ip_str = row.remote_addr
|
|
105
|
+
row.ip_str = row.remote_addr
|
|
97
106
|
}
|
|
98
107
|
if (row.ip_str) {
|
|
99
|
-
const ip = row.ip_str.split('.', 4)
|
|
100
|
-
row.ip =
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
108
|
+
const ip = row.ip_str.split('.', 4)
|
|
109
|
+
row.ip =
|
|
110
|
+
Number(ip[0]) * (2 << 23) +
|
|
111
|
+
Number(ip[1]) * (2 << 15) +
|
|
112
|
+
Number(ip[2]) * (2 << 7) +
|
|
113
|
+
Number(ip[3])
|
|
104
114
|
}
|
|
105
115
|
|
|
106
|
-
return row
|
|
116
|
+
return row
|
|
107
117
|
}
|
|
108
118
|
|
|
109
119
|
/**
|
|
@@ -113,10 +123,11 @@ class NginxParser {
|
|
|
113
123
|
* @return {String}
|
|
114
124
|
*/
|
|
115
125
|
escape(str) {
|
|
116
|
-
|
|
126
|
+
// eslint-disable-next-line no-useless-escape
|
|
127
|
+
return str.replace(/[.*+?|()\[\]{}]/g, '\\$&')
|
|
117
128
|
}
|
|
118
129
|
}
|
|
119
130
|
|
|
120
131
|
module.exports = {
|
|
121
132
|
NginxParser
|
|
122
|
-
}
|
|
133
|
+
}
|
package/lib/util/open-browser.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
const { execAsync } = require('./exec-async')
|
|
1
|
+
const { execAsync } = require('./exec-async')
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @param {string} url
|
|
5
|
+
*/
|
|
3
6
|
const openBrowser = async (url) => {
|
|
4
|
-
const start = process.platform === 'darwin' ? 'open' : 'xdg-open'
|
|
7
|
+
const start = process.platform === 'darwin' ? 'open' : 'xdg-open'
|
|
5
8
|
|
|
6
|
-
await execAsync(`${
|
|
7
|
-
}
|
|
9
|
+
await execAsync(`${start} ${url}`)
|
|
10
|
+
}
|
|
8
11
|
|
|
9
|
-
module.exports = openBrowser
|
|
12
|
+
module.exports = openBrowser
|
package/lib/util/os-platform.js
CHANGED
|
@@ -1,51 +1,59 @@
|
|
|
1
|
-
const fs = require('fs')
|
|
2
|
-
const systeminformation = require('systeminformation')
|
|
3
|
-
const pathExists = require('./path-exists')
|
|
4
|
-
const dependenciesForPlatforms = require('../config/dependencies-for-platforms')
|
|
1
|
+
const fs = require('fs')
|
|
2
|
+
const systeminformation = require('systeminformation')
|
|
3
|
+
const pathExists = require('./path-exists')
|
|
4
|
+
const dependenciesForPlatforms = require('../config/dependencies-for-platforms')
|
|
5
5
|
|
|
6
6
|
const packageManagers = Object.entries(dependenciesForPlatforms).map((d) => ({
|
|
7
7
|
platform: d[0],
|
|
8
8
|
packageManager: d[1].packageManager
|
|
9
|
-
}))
|
|
9
|
+
}))
|
|
10
10
|
/**
|
|
11
11
|
*
|
|
12
12
|
* @returns {Promise<keyof typeof dependenciesForPlatforms>}
|
|
13
13
|
*/
|
|
14
14
|
const osPlatform = async () => {
|
|
15
|
-
const binPaths = process.env.PATH.split(':')
|
|
15
|
+
const binPaths = process.env.PATH.split(':')
|
|
16
16
|
|
|
17
|
-
const platforms =
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const possiblePlatforms = packageManagers.filter((p) => p.packageManager === bin);
|
|
17
|
+
const platforms = (
|
|
18
|
+
await Promise.all(
|
|
19
|
+
binPaths.map(async (binPath) => {
|
|
20
|
+
if (!(await pathExists(binPath))) {
|
|
21
|
+
return null
|
|
22
|
+
}
|
|
23
|
+
const bins = await fs.promises.readdir(binPath)
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
for (const bin of bins) {
|
|
26
|
+
const possiblePlatforms = packageManagers.filter(
|
|
27
|
+
(p) => p.packageManager === bin
|
|
28
|
+
)
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
if (possiblePlatforms.length > 0) {
|
|
31
|
+
if (possiblePlatforms.length > 1) {
|
|
32
|
+
const { distro } = await systeminformation.osInfo()
|
|
31
33
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
const foundDistro = possiblePlatforms.find((p) =>
|
|
35
|
+
p.platform
|
|
36
|
+
.toLowerCase()
|
|
37
|
+
.includes(distro.toLowerCase())
|
|
38
|
+
)
|
|
35
39
|
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
if (foundDistro) {
|
|
41
|
+
return foundDistro.platform
|
|
42
|
+
}
|
|
38
43
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
44
|
+
return possiblePlatforms[0].platform
|
|
45
|
+
}
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
|
|
47
|
+
return possiblePlatforms[0].platform
|
|
48
|
+
}
|
|
49
|
+
}
|
|
45
50
|
|
|
46
|
-
|
|
51
|
+
return null
|
|
52
|
+
})
|
|
53
|
+
)
|
|
54
|
+
).filter(Boolean)
|
|
47
55
|
|
|
48
|
-
return
|
|
49
|
-
}
|
|
56
|
+
return platforms.shift()
|
|
57
|
+
}
|
|
50
58
|
|
|
51
|
-
module.exports = osPlatform
|
|
59
|
+
module.exports = osPlatform
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
const fs = require('fs')
|
|
1
|
+
const fs = require('fs')
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @param {string} path
|
|
5
|
+
* @returns {boolean}
|
|
6
|
+
*/
|
|
3
7
|
const pathExistsSync = (path) => {
|
|
4
8
|
try {
|
|
5
|
-
fs.accessSync(path, fs.constants.F_OK)
|
|
9
|
+
fs.accessSync(path, fs.constants.F_OK)
|
|
6
10
|
} catch (e) {
|
|
7
|
-
return false
|
|
11
|
+
return false
|
|
8
12
|
}
|
|
9
13
|
|
|
10
|
-
return true
|
|
11
|
-
}
|
|
14
|
+
return true
|
|
15
|
+
}
|
|
12
16
|
|
|
13
|
-
module.exports = pathExistsSync
|
|
17
|
+
module.exports = pathExistsSync
|
package/lib/util/path-exists.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const fs = require('fs')
|
|
1
|
+
const fs = require('fs')
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Check if provided path exists in filesystem
|
|
@@ -7,12 +7,12 @@ const fs = require('fs');
|
|
|
7
7
|
*/
|
|
8
8
|
const pathExists = async (path) => {
|
|
9
9
|
try {
|
|
10
|
-
await fs.promises.access(path, fs.constants.F_OK)
|
|
10
|
+
await fs.promises.access(path, fs.constants.F_OK)
|
|
11
11
|
} catch (e) {
|
|
12
|
-
return false
|
|
12
|
+
return false
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
return true
|
|
16
|
-
}
|
|
15
|
+
return true
|
|
16
|
+
}
|
|
17
17
|
|
|
18
|
-
module.exports = pathExists
|
|
18
|
+
module.exports = pathExists
|
package/lib/util/php-task.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
const { runPHPContainerCommand } = require('../tasks/php/php-container')
|
|
1
|
+
const { runPHPContainerCommand } = require('../tasks/php/php-container')
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @param {String} command
|
|
5
|
-
* @param {{ noTitle
|
|
5
|
+
* @param {{ noTitle?: boolean, env?: Record<string, string> }} [options]
|
|
6
6
|
* @returns {import('listr2').ListrTask<import('../../typings/context').ListrContext>}
|
|
7
7
|
*/
|
|
8
8
|
const phpTask = (command, options = {}) => ({
|
|
9
9
|
title: !options.noTitle ? `Running command 'php ${command}` : undefined,
|
|
10
|
-
task: (ctx, task) =>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
})
|
|
10
|
+
task: (ctx, task) =>
|
|
11
|
+
runPHPContainerCommand(ctx, command, {
|
|
12
|
+
callback: (t) => {
|
|
13
|
+
task.output = t
|
|
14
|
+
},
|
|
15
|
+
withCode: true
|
|
16
|
+
})
|
|
17
|
+
})
|
|
17
18
|
|
|
18
|
-
module.exports = phpTask
|
|
19
|
+
module.exports = phpTask
|
package/lib/util/portscanner.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
1
2
|
/**
|
|
2
3
|
* This is modified version of node-portscanner (https://github.com/baalexander/node-portscanner/blob/master/lib/portscanner.js)
|
|
3
4
|
* with added option to ignore ports and reduced dependencies count
|
|
4
5
|
*/
|
|
5
|
-
const net = require('net')
|
|
6
|
+
const net = require('net')
|
|
6
7
|
|
|
7
|
-
const { Socket } = net
|
|
8
|
+
const { Socket } = net
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Checks the status of an individual port.
|
|
@@ -14,141 +15,152 @@ const { Socket } = net;
|
|
|
14
15
|
* @param {Number} [options.timeout] - Connection timeout in ms.
|
|
15
16
|
* @returns {Promise<string>}
|
|
16
17
|
*/
|
|
17
|
-
const checkPortStatus = (port, options = {}) =>
|
|
18
|
-
|
|
19
|
-
host = '127.0.0.1',
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
18
|
+
const checkPortStatus = (port, options = {}) =>
|
|
19
|
+
new Promise((resolve, reject) => {
|
|
20
|
+
const { host = '127.0.0.1', timeout = 400 } = options
|
|
21
|
+
|
|
22
|
+
let connectionRefused = false
|
|
23
|
+
|
|
24
|
+
const socket = new Socket()
|
|
25
|
+
/**
|
|
26
|
+
* @type {string}
|
|
27
|
+
*/
|
|
28
|
+
let status
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @type {Error | null}
|
|
32
|
+
*/
|
|
33
|
+
let error
|
|
34
|
+
|
|
35
|
+
// Socket connection established, port is open
|
|
36
|
+
socket.on('connect', () => {
|
|
37
|
+
status = 'open'
|
|
38
|
+
socket.destroy()
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
// If no response, assume port is not listening
|
|
42
|
+
socket.setTimeout(timeout)
|
|
43
|
+
socket.on('timeout', () => {
|
|
44
|
+
status = 'closed'
|
|
45
|
+
error = new Error(
|
|
46
|
+
`Timeout (${timeout}ms) occurred waiting for ${host}:${port} to be available`
|
|
47
|
+
)
|
|
48
|
+
socket.destroy()
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
// Assuming the port is not open if an error. May need to refine based on
|
|
52
|
+
// exception
|
|
53
|
+
socket.on('error', (exception) => {
|
|
54
|
+
// @ts-ignore
|
|
55
|
+
if (exception.code !== 'ECONNREFUSED') {
|
|
56
|
+
error = exception
|
|
57
|
+
} else {
|
|
58
|
+
connectionRefused = true
|
|
59
|
+
}
|
|
60
|
+
status = 'closed'
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
// Return after the socket has closed
|
|
64
|
+
socket.on('close', (hadError) => {
|
|
65
|
+
if (hadError && !connectionRefused) {
|
|
66
|
+
error = new Error('Socket closed with an error!')
|
|
67
|
+
} else {
|
|
68
|
+
error = null
|
|
69
|
+
}
|
|
70
|
+
if (error) {
|
|
71
|
+
return reject(error)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return resolve(status)
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
socket.connect(port, host)
|
|
78
|
+
})
|
|
70
79
|
|
|
71
80
|
/**
|
|
72
81
|
* Internal helper function used by {@link findAPortInUse} and {@link findAPortNotInUse}
|
|
73
82
|
* to find a port from a range or a list with a specific status.
|
|
74
83
|
* @param {String} status - Status to check.
|
|
75
|
-
* @param {Object}
|
|
84
|
+
* @param {Object} options
|
|
76
85
|
* @param {Number} options.startPort Port to begin status check on (inclusive).
|
|
77
86
|
* @param {Number} options.endPort Last port to check status on (inclusive).
|
|
78
|
-
* @param {String} options.host Host of where to scan.
|
|
79
|
-
* @param {Number[]} options.portList Array of ports to check status on.
|
|
80
|
-
* @param {Number[]} options.portIgnoreList Array of ports to check status on.
|
|
81
|
-
* @returns {Promise<number>}
|
|
87
|
+
* @param {String} [options.host] Host of where to scan.
|
|
88
|
+
* @param {Number[]} [options.portList] Array of ports to check status on.
|
|
89
|
+
* @param {Number[]} [options.portIgnoreList] Array of ports to check status on.
|
|
90
|
+
* @returns {Promise<number | false>}
|
|
82
91
|
*/
|
|
83
|
-
async function findAPortWithStatus(status, options
|
|
92
|
+
async function findAPortWithStatus(status, options) {
|
|
84
93
|
const {
|
|
85
94
|
portList,
|
|
86
95
|
startPort,
|
|
87
96
|
endPort = 65535,
|
|
88
97
|
host,
|
|
89
98
|
portIgnoreList = []
|
|
90
|
-
} = options
|
|
99
|
+
} = options
|
|
91
100
|
|
|
92
|
-
let foundPort = false
|
|
93
|
-
let numberOfPortsChecked = 0
|
|
94
|
-
let port = portList ? portList[0] : startPort
|
|
101
|
+
let foundPort = false
|
|
102
|
+
let numberOfPortsChecked = 0
|
|
103
|
+
let port = portList ? portList[0] : startPort
|
|
95
104
|
|
|
96
105
|
// Returns true if a port with matching status has been found or if checked
|
|
97
106
|
// the entire range of ports
|
|
98
|
-
const hasFoundPort = () =>
|
|
107
|
+
const hasFoundPort = () =>
|
|
108
|
+
foundPort ||
|
|
109
|
+
numberOfPortsChecked ===
|
|
110
|
+
(portList ? portList.length : endPort - startPort + 1)
|
|
99
111
|
|
|
100
112
|
// Checks the status of the port
|
|
101
113
|
const checkNextPort = async () => {
|
|
102
114
|
if (portIgnoreList.includes(port)) {
|
|
103
|
-
numberOfPortsChecked
|
|
104
|
-
port = portList ? portList[numberOfPortsChecked] : port + 1
|
|
105
|
-
return
|
|
115
|
+
numberOfPortsChecked++
|
|
116
|
+
port = portList ? portList[numberOfPortsChecked] : port + 1
|
|
117
|
+
return
|
|
106
118
|
}
|
|
107
|
-
const statusOfPort = await checkPortStatus(port, { host })
|
|
119
|
+
const statusOfPort = await checkPortStatus(port, { host })
|
|
108
120
|
if (statusOfPort === status) {
|
|
109
|
-
foundPort = true
|
|
110
|
-
return
|
|
121
|
+
foundPort = true
|
|
122
|
+
return
|
|
111
123
|
}
|
|
112
|
-
numberOfPortsChecked
|
|
113
|
-
port = portList ? portList[numberOfPortsChecked] : port + 1
|
|
114
|
-
}
|
|
124
|
+
numberOfPortsChecked++
|
|
125
|
+
port = portList ? portList[numberOfPortsChecked] : port + 1
|
|
126
|
+
}
|
|
115
127
|
|
|
116
128
|
while (!hasFoundPort()) {
|
|
117
|
-
await checkNextPort()
|
|
129
|
+
await checkNextPort()
|
|
118
130
|
}
|
|
119
131
|
|
|
120
132
|
if (foundPort) {
|
|
121
|
-
return port
|
|
133
|
+
return port
|
|
122
134
|
}
|
|
123
135
|
|
|
124
|
-
return false
|
|
136
|
+
return false
|
|
125
137
|
}
|
|
126
138
|
|
|
127
139
|
/**
|
|
128
140
|
* Finds the first port with a status of 'open', implying the port is in use and
|
|
129
141
|
* there is likely a service listening on it.
|
|
130
|
-
* @param {Object}
|
|
142
|
+
* @param {Object} options
|
|
131
143
|
* @param {Number} options.startPort Port to begin status check on (inclusive).
|
|
132
144
|
* @param {Number} options.endPort Last port to check status on (inclusive).
|
|
133
145
|
* @param {String} options.host Host of where to scan.
|
|
134
146
|
* @param {Number[]} options.portList Array of ports to check status on.
|
|
135
147
|
* @param {Number[]} options.portIgnoreList Array of ports to check status on.
|
|
136
148
|
*/
|
|
137
|
-
const findAPortInUse = (options) => findAPortWithStatus('open', options)
|
|
149
|
+
const findAPortInUse = (options) => findAPortWithStatus('open', options)
|
|
138
150
|
|
|
139
151
|
/**
|
|
140
152
|
* Finds the first port with a status of 'closed', implying the port is not in
|
|
141
|
-
* @param {Object}
|
|
153
|
+
* @param {Object} options
|
|
142
154
|
* @param {Number} options.startPort Port to begin status check on (inclusive).
|
|
143
155
|
* @param {Number} options.endPort Last port to check status on (inclusive).
|
|
144
|
-
* @param {String} options.host Host of where to scan.
|
|
145
|
-
* @param {Number[]} options.portList Array of ports to check status on.
|
|
156
|
+
* @param {String} [options.host] Host of where to scan.
|
|
157
|
+
* @param {Number[]} [options.portList] Array of ports to check status on.
|
|
146
158
|
* @param {Number[]} options.portIgnoreList Array of ports to check status on.
|
|
147
159
|
*/
|
|
148
|
-
const findAPortNotInUse = (options) => findAPortWithStatus('closed', options)
|
|
160
|
+
const findAPortNotInUse = (options) => findAPortWithStatus('closed', options)
|
|
149
161
|
|
|
150
162
|
module.exports = {
|
|
151
163
|
findAPortInUse,
|
|
152
164
|
findAPortNotInUse,
|
|
153
165
|
checkPortStatus
|
|
154
|
-
}
|
|
166
|
+
}
|