@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,12 +1,10 @@
|
|
|
1
|
-
const path = require('path')
|
|
2
|
-
const { loadXmlFile, buildXmlFile } = require('../../../config/xml-parser')
|
|
3
|
-
const pathExists = require('../../../util/path-exists')
|
|
4
|
-
const {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
const pathToModulesConfig = path.join(process.cwd(), '.idea', 'modules.xml');
|
|
1
|
+
const path = require('path')
|
|
2
|
+
const { loadXmlFile, buildXmlFile } = require('../../../config/xml-parser')
|
|
3
|
+
const pathExists = require('../../../util/path-exists')
|
|
4
|
+
const { urlKey, typeKey, versionKey, nameKey } = require('./keys')
|
|
5
|
+
const { formatPathForPHPStormConfig } = require('./xml-utils')
|
|
6
|
+
|
|
7
|
+
const pathToModulesConfig = path.join(process.cwd(), '.idea', 'modules.xml')
|
|
10
8
|
const excludeFoldersPaths = [
|
|
11
9
|
'bin',
|
|
12
10
|
'dev',
|
|
@@ -16,12 +14,11 @@ const excludeFoldersPaths = [
|
|
|
16
14
|
'var/log',
|
|
17
15
|
'var/composer_home',
|
|
18
16
|
'var/view_preprocessed'
|
|
19
|
-
].map((p) => `file://$MODULE_DIR$/${p}`)
|
|
17
|
+
].map((p) => `file://$MODULE_DIR$/${p}`)
|
|
20
18
|
|
|
21
|
-
const mustBeIncludedPaths = [
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
].map((p) => `file://$MODULE_DIR$/${p}`);
|
|
19
|
+
const mustBeIncludedPaths = ['pub', 'setup'].map(
|
|
20
|
+
(p) => `file://$MODULE_DIR$/${p}`
|
|
21
|
+
)
|
|
25
22
|
|
|
26
23
|
/**
|
|
27
24
|
* Will retrieve project config file path from module.xml
|
|
@@ -29,26 +26,19 @@ const mustBeIncludedPaths = [
|
|
|
29
26
|
* @returns {Promise<String | null>}
|
|
30
27
|
*/
|
|
31
28
|
const getProjectConfigFilePath = async () => {
|
|
32
|
-
const modulesConfigData = await loadXmlFile(pathToModulesConfig)
|
|
33
|
-
const {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
} = {}
|
|
39
|
-
} = {}
|
|
40
|
-
} = {}
|
|
41
|
-
} = modulesConfigData || {};
|
|
42
|
-
const filePath = module && module['@_filepath'];
|
|
43
|
-
return filePath ? filePath.replace('$PROJECT_DIR$', process.cwd()) : null;
|
|
44
|
-
};
|
|
29
|
+
const modulesConfigData = await loadXmlFile(pathToModulesConfig)
|
|
30
|
+
const { project: { component: { modules: { module } = {} } = {} } = {} } =
|
|
31
|
+
modulesConfigData || {}
|
|
32
|
+
const filePath = module && module['@_filepath']
|
|
33
|
+
return filePath ? filePath.replace('$PROJECT_DIR$', process.cwd()) : null
|
|
34
|
+
}
|
|
45
35
|
|
|
46
36
|
const setupDefaultsForExcludedFoldersConfig = (projectConfigData) => {
|
|
47
37
|
if (!projectConfigData.module) {
|
|
48
38
|
projectConfigData.module = {
|
|
49
39
|
[typeKey]: 'WEB_MODULE',
|
|
50
40
|
[versionKey]: '4'
|
|
51
|
-
}
|
|
41
|
+
}
|
|
52
42
|
}
|
|
53
43
|
|
|
54
44
|
if (!projectConfigData.module.component) {
|
|
@@ -63,55 +53,64 @@ const setupDefaultsForExcludedFoldersConfig = (projectConfigData) => {
|
|
|
63
53
|
'@_forTest': 'false'
|
|
64
54
|
}
|
|
65
55
|
]
|
|
66
|
-
}
|
|
56
|
+
}
|
|
67
57
|
}
|
|
68
58
|
|
|
69
59
|
if (!projectConfigData.module.component.content) {
|
|
70
60
|
projectConfigData.module.component.content = {
|
|
71
61
|
[urlKey]: 'file://$MODULE_DIR$'
|
|
72
|
-
}
|
|
62
|
+
}
|
|
73
63
|
}
|
|
74
64
|
|
|
75
65
|
if (!projectConfigData.module.component.content.excludeFolder) {
|
|
76
|
-
projectConfigData.module.component.content.excludeFolder = []
|
|
66
|
+
projectConfigData.module.component.content.excludeFolder = []
|
|
77
67
|
}
|
|
78
|
-
}
|
|
68
|
+
}
|
|
79
69
|
|
|
80
70
|
const setupExcludedFolders = (projectConfigData) => {
|
|
81
|
-
const { excludeFolder } = projectConfigData.module.component.content
|
|
82
|
-
let hasChanges = false
|
|
71
|
+
const { excludeFolder } = projectConfigData.module.component.content
|
|
72
|
+
let hasChanges = false
|
|
83
73
|
// filter excluded folders to get ones that needs to be added to excluded folders list
|
|
84
|
-
const missingExcludedFolders = excludeFoldersPaths
|
|
85
|
-
|
|
86
|
-
|
|
74
|
+
const missingExcludedFolders = excludeFoldersPaths.filter(
|
|
75
|
+
(excludeFoldersPath) =>
|
|
76
|
+
!excludeFolder.some(
|
|
87
77
|
(config) => config[urlKey] === excludeFoldersPath
|
|
88
78
|
)
|
|
89
|
-
|
|
79
|
+
)
|
|
90
80
|
|
|
91
81
|
if (missingExcludedFolders.length > 0) {
|
|
92
|
-
hasChanges = true
|
|
82
|
+
hasChanges = true
|
|
93
83
|
missingExcludedFolders.forEach((missingExcludedFolder) => {
|
|
94
84
|
projectConfigData.module.component.content.excludeFolder.unshift({
|
|
95
85
|
[urlKey]: missingExcludedFolder
|
|
96
|
-
})
|
|
97
|
-
})
|
|
86
|
+
})
|
|
87
|
+
})
|
|
98
88
|
}
|
|
99
89
|
|
|
100
|
-
const hasSomePathsThatMustBeFiltered = excludeFolder.some((config) =>
|
|
90
|
+
const hasSomePathsThatMustBeFiltered = excludeFolder.some((config) =>
|
|
91
|
+
mustBeIncludedPaths.includes(config[urlKey])
|
|
92
|
+
)
|
|
101
93
|
|
|
102
94
|
if (hasSomePathsThatMustBeFiltered) {
|
|
103
|
-
projectConfigData.module.component.content.excludeFolder =
|
|
104
|
-
|
|
95
|
+
projectConfigData.module.component.content.excludeFolder =
|
|
96
|
+
excludeFolder.filter(
|
|
97
|
+
(config) => !mustBeIncludedPaths.includes(config[urlKey])
|
|
98
|
+
)
|
|
99
|
+
hasChanges = true
|
|
105
100
|
}
|
|
106
101
|
|
|
107
|
-
return hasChanges
|
|
108
|
-
}
|
|
102
|
+
return hasChanges
|
|
103
|
+
}
|
|
109
104
|
|
|
110
105
|
const getIMLFilePath = async () => {
|
|
111
|
-
const filePath = path.join(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
106
|
+
const filePath = path.join(
|
|
107
|
+
process.cwd(),
|
|
108
|
+
'.idea',
|
|
109
|
+
`${path.parse(process.cwd()).base}.iml`
|
|
110
|
+
)
|
|
111
|
+
if (!(await pathExists(pathToModulesConfig))) {
|
|
112
|
+
const fileFormattedPath = formatPathForPHPStormConfig(filePath)
|
|
113
|
+
const fileFormattedUrl = `file://${fileFormattedPath}`
|
|
115
114
|
|
|
116
115
|
const modulesConfig = {
|
|
117
116
|
'?xml': {
|
|
@@ -132,49 +131,49 @@ const getIMLFilePath = async () => {
|
|
|
132
131
|
]
|
|
133
132
|
}
|
|
134
133
|
}
|
|
135
|
-
}
|
|
134
|
+
}
|
|
136
135
|
|
|
137
|
-
await buildXmlFile(pathToModulesConfig, modulesConfig)
|
|
136
|
+
await buildXmlFile(pathToModulesConfig, modulesConfig)
|
|
138
137
|
}
|
|
139
138
|
|
|
140
|
-
return filePath
|
|
141
|
-
}
|
|
139
|
+
return filePath
|
|
140
|
+
}
|
|
142
141
|
|
|
143
142
|
/**
|
|
144
|
-
* @
|
|
143
|
+
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
145
144
|
*/
|
|
146
145
|
const setupExcludedFoldersConfig = () => ({
|
|
147
146
|
title: 'Set up excluded folders configuration',
|
|
148
147
|
task: async (ctx, task) => {
|
|
149
148
|
if (await pathExists(pathToModulesConfig)) {
|
|
150
|
-
const projectFilePath = await getProjectConfigFilePath()
|
|
151
|
-
if (projectFilePath && await pathExists(projectFilePath)) {
|
|
152
|
-
const projectConfigData = await loadXmlFile(projectFilePath)
|
|
153
|
-
setupDefaultsForExcludedFoldersConfig(projectConfigData)
|
|
154
|
-
const hasChanges = setupExcludedFolders(projectConfigData)
|
|
149
|
+
const projectFilePath = await getProjectConfigFilePath()
|
|
150
|
+
if (projectFilePath && (await pathExists(projectFilePath))) {
|
|
151
|
+
const projectConfigData = await loadXmlFile(projectFilePath)
|
|
152
|
+
setupDefaultsForExcludedFoldersConfig(projectConfigData)
|
|
153
|
+
const hasChanges = setupExcludedFolders(projectConfigData)
|
|
155
154
|
if (hasChanges) {
|
|
156
|
-
await buildXmlFile(projectFilePath, projectConfigData)
|
|
155
|
+
await buildXmlFile(projectFilePath, projectConfigData)
|
|
157
156
|
} else {
|
|
158
|
-
task.skip()
|
|
157
|
+
task.skip()
|
|
159
158
|
}
|
|
160
159
|
|
|
161
|
-
return
|
|
160
|
+
return
|
|
162
161
|
}
|
|
163
162
|
}
|
|
164
163
|
|
|
165
|
-
const projectFilePath = await getIMLFilePath()
|
|
164
|
+
const projectFilePath = await getIMLFilePath()
|
|
166
165
|
const projectConfigData = {
|
|
167
166
|
'?xml': {
|
|
168
167
|
[versionKey]: '1.0',
|
|
169
168
|
'@_encoding': 'UTF-8'
|
|
170
169
|
}
|
|
171
|
-
}
|
|
170
|
+
}
|
|
172
171
|
|
|
173
|
-
setupDefaultsForExcludedFoldersConfig(projectConfigData)
|
|
174
|
-
setupExcludedFolders(projectConfigData)
|
|
172
|
+
setupDefaultsForExcludedFoldersConfig(projectConfigData)
|
|
173
|
+
setupExcludedFolders(projectConfigData)
|
|
175
174
|
|
|
176
|
-
await buildXmlFile(projectFilePath, projectConfigData)
|
|
175
|
+
await buildXmlFile(projectFilePath, projectConfigData)
|
|
177
176
|
}
|
|
178
|
-
})
|
|
177
|
+
})
|
|
179
178
|
|
|
180
|
-
module.exports = setupExcludedFoldersConfig
|
|
179
|
+
module.exports = setupExcludedFoldersConfig
|
|
@@ -1,30 +1,34 @@
|
|
|
1
|
-
const setupWorkspaceConfig = require('./workspace-config')
|
|
2
|
-
const setupPhpConfig = require('./php-config')
|
|
3
|
-
const setupDatabaseConfig = require('./database-config')
|
|
4
|
-
const setupInspectionToolsConfig = require('./inspection-tools-config')
|
|
5
|
-
const setupExcludedFoldersConfig = require('./exclude-folder-config')
|
|
6
|
-
const setupStylelintConfig = require('./stylelint-config')
|
|
7
|
-
const setupESLintConfig = require('./eslint-config')
|
|
8
|
-
const setupPhpDockerSettingsConfig = require('./php-docker-settings-config')
|
|
1
|
+
const setupWorkspaceConfig = require('./workspace-config')
|
|
2
|
+
const setupPhpConfig = require('./php-config')
|
|
3
|
+
const setupDatabaseConfig = require('./database-config')
|
|
4
|
+
const setupInspectionToolsConfig = require('./inspection-tools-config')
|
|
5
|
+
const setupExcludedFoldersConfig = require('./exclude-folder-config')
|
|
6
|
+
const setupStylelintConfig = require('./stylelint-config')
|
|
7
|
+
const setupESLintConfig = require('./eslint-config')
|
|
8
|
+
const setupPhpDockerSettingsConfig = require('./php-docker-settings-config')
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* @
|
|
11
|
+
* @returns {import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
|
|
12
12
|
*/
|
|
13
13
|
const createPhpStormConfig = () => ({
|
|
14
14
|
title: 'Setting PHPStorm config',
|
|
15
|
-
task: (ctx, task) =>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
task: (ctx, task) =>
|
|
16
|
+
task.newListr(
|
|
17
|
+
[
|
|
18
|
+
setupWorkspaceConfig(),
|
|
19
|
+
setupPhpConfig(),
|
|
20
|
+
setupPhpDockerSettingsConfig(),
|
|
21
|
+
setupDatabaseConfig(),
|
|
22
|
+
setupInspectionToolsConfig(),
|
|
23
|
+
setupExcludedFoldersConfig(),
|
|
24
|
+
setupStylelintConfig(),
|
|
25
|
+
setupESLintConfig()
|
|
26
|
+
],
|
|
27
|
+
{
|
|
28
|
+
concurrent: true,
|
|
29
|
+
exitOnError: false
|
|
30
|
+
}
|
|
31
|
+
)
|
|
32
|
+
})
|
|
29
33
|
|
|
30
|
-
module.exports = createPhpStormConfig
|
|
34
|
+
module.exports = createPhpStormConfig
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
const { nameKey, valueKey } = require('../keys')
|
|
1
|
+
const { nameKey, valueKey } = require('../keys')
|
|
2
2
|
const {
|
|
3
3
|
options: {
|
|
4
4
|
CODING_STANDARD_OPTION_NAME,
|
|
5
5
|
CUSTOM_CODING_STANDARD_OPTION_VALUE
|
|
6
6
|
}
|
|
7
|
-
} = require('./config')
|
|
7
|
+
} = require('./config')
|
|
8
8
|
|
|
9
9
|
const setupCodingStandardOption = async (config) => {
|
|
10
|
-
let hasChanges = false
|
|
10
|
+
let hasChanges = false
|
|
11
11
|
const codingStandardOption = config.option.find(
|
|
12
12
|
(option) => option[nameKey] === CODING_STANDARD_OPTION_NAME
|
|
13
|
-
)
|
|
13
|
+
)
|
|
14
14
|
|
|
15
15
|
if (!codingStandardOption) {
|
|
16
|
-
hasChanges = true
|
|
16
|
+
hasChanges = true
|
|
17
17
|
config.option.push({
|
|
18
18
|
[nameKey]: CODING_STANDARD_OPTION_NAME,
|
|
19
19
|
[valueKey]: CUSTOM_CODING_STANDARD_OPTION_VALUE
|
|
20
|
-
})
|
|
20
|
+
})
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
return hasChanges
|
|
24
|
-
}
|
|
23
|
+
return hasChanges
|
|
24
|
+
}
|
|
25
25
|
|
|
26
|
-
module.exports = setupCodingStandardOption
|
|
26
|
+
module.exports = setupCodingStandardOption
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
// inspection tool classes
|
|
2
|
-
const PHP_CS_FIXER_VALIDATION_INSPECTION = 'PhpCSFixerValidationInspection'
|
|
3
|
-
const PHP_CS_VALIDATION_INSPECTION = 'PhpCSValidationInspection'
|
|
4
|
-
const STYLELINT_INSPECTION = 'Stylelint'
|
|
5
|
-
const ESLINT_INSPECTION = 'Eslint'
|
|
6
|
-
const MESS_DETECTOR_VALIDATION_INSPECTION = 'MessDetectorValidationInspection'
|
|
2
|
+
const PHP_CS_FIXER_VALIDATION_INSPECTION = 'PhpCSFixerValidationInspection'
|
|
3
|
+
const PHP_CS_VALIDATION_INSPECTION = 'PhpCSValidationInspection'
|
|
4
|
+
const STYLELINT_INSPECTION = 'Stylelint'
|
|
5
|
+
const ESLINT_INSPECTION = 'Eslint'
|
|
6
|
+
const MESS_DETECTOR_VALIDATION_INSPECTION = 'MessDetectorValidationInspection'
|
|
7
7
|
|
|
8
8
|
// options
|
|
9
|
-
const CODING_STANDARD_OPTION_NAME = 'CODING_STANDARD'
|
|
10
|
-
const CUSTOM_CODING_STANDARD_OPTION_VALUE = 'Custom'
|
|
11
|
-
const CUSTOM_RULE_SET_PATH_OPTION_NAME = 'CUSTOM_RULESET_PATH'
|
|
12
|
-
const MAGENTO2_CODING_STANDARD_OPTION_VALUE = 'Magento2'
|
|
13
|
-
const EXTENSIONS_OPTION_NAME = 'EXTENSIONS'
|
|
14
|
-
const WARNING_HIGHLIGHT_LEVEL_NAME_OPTION_NAME = 'WARNING_HIGHLIGHT_LEVEL_NAME'
|
|
15
|
-
const WARNING_HIGHLIGHT_LEVEL_NAME_OPTION_VALUE = 'ERROR'
|
|
16
|
-
const SHOW_SNIFF_NAMES_OPTION_NAME = 'SHOW_SNIFF_NAMES'
|
|
17
|
-
const USE_INSTALLED_PATHS_OPTION_NAME = 'USE_INSTALLED_PATHS'
|
|
18
|
-
const INSTALLED_PATHS_OPTION_NAME = 'INSTALLED_PATHS'
|
|
19
|
-
const CODESIZE_OPTION_NAME = 'CODESIZE'
|
|
20
|
-
const CONTROVERSIAL_OPTION_NAME = 'CONTROVERSIAL'
|
|
21
|
-
const DESIGN_OPTION_NAME = 'DESIGN'
|
|
22
|
-
const UNUSED_CODE_OPTION_NAME = 'UNUSEDCODE'
|
|
23
|
-
const NAMING_OPTION_NAME = 'NAMING'
|
|
24
|
-
const CUSTOM_RULESETS_OPTION_NAME = 'customRulesets'
|
|
25
|
-
const PHP_MD_RULESET_OPTION_VALUE = 'Magento PHPMD rule set'
|
|
9
|
+
const CODING_STANDARD_OPTION_NAME = 'CODING_STANDARD'
|
|
10
|
+
const CUSTOM_CODING_STANDARD_OPTION_VALUE = 'Custom'
|
|
11
|
+
const CUSTOM_RULE_SET_PATH_OPTION_NAME = 'CUSTOM_RULESET_PATH'
|
|
12
|
+
const MAGENTO2_CODING_STANDARD_OPTION_VALUE = 'Magento2'
|
|
13
|
+
const EXTENSIONS_OPTION_NAME = 'EXTENSIONS'
|
|
14
|
+
const WARNING_HIGHLIGHT_LEVEL_NAME_OPTION_NAME = 'WARNING_HIGHLIGHT_LEVEL_NAME'
|
|
15
|
+
const WARNING_HIGHLIGHT_LEVEL_NAME_OPTION_VALUE = 'ERROR'
|
|
16
|
+
const SHOW_SNIFF_NAMES_OPTION_NAME = 'SHOW_SNIFF_NAMES'
|
|
17
|
+
const USE_INSTALLED_PATHS_OPTION_NAME = 'USE_INSTALLED_PATHS'
|
|
18
|
+
const INSTALLED_PATHS_OPTION_NAME = 'INSTALLED_PATHS'
|
|
19
|
+
const CODESIZE_OPTION_NAME = 'CODESIZE'
|
|
20
|
+
const CONTROVERSIAL_OPTION_NAME = 'CONTROVERSIAL'
|
|
21
|
+
const DESIGN_OPTION_NAME = 'DESIGN'
|
|
22
|
+
const UNUSED_CODE_OPTION_NAME = 'UNUSEDCODE'
|
|
23
|
+
const NAMING_OPTION_NAME = 'NAMING'
|
|
24
|
+
const CUSTOM_RULESETS_OPTION_NAME = 'customRulesets'
|
|
25
|
+
const PHP_MD_RULESET_OPTION_VALUE = 'Magento PHPMD rule set'
|
|
26
26
|
|
|
27
27
|
module.exports = {
|
|
28
28
|
options: {
|
|
@@ -51,4 +51,4 @@ module.exports = {
|
|
|
51
51
|
ESLINT_INSPECTION,
|
|
52
52
|
MESS_DETECTOR_VALIDATION_INSPECTION
|
|
53
53
|
}
|
|
54
|
-
}
|
|
54
|
+
}
|
|
@@ -1,39 +1,42 @@
|
|
|
1
|
-
const pathExists = require('../../../../util/path-exists')
|
|
1
|
+
const pathExists = require('../../../../util/path-exists')
|
|
2
2
|
const {
|
|
3
|
-
phpCSConfigurationPath,
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
phpCSConfigurationPath,
|
|
4
|
+
phpCSConfigFormattedPath,
|
|
5
|
+
phpCSFixerConfigurationPath,
|
|
6
|
+
phpCSFixerConfigurationFormattedPath
|
|
7
|
+
} = require('./paths')
|
|
8
|
+
const { nameKey, valueKey } = require('../keys')
|
|
6
9
|
const {
|
|
7
|
-
options: {
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
} = require('./config');
|
|
10
|
+
options: { CUSTOM_RULE_SET_PATH_OPTION_NAME }
|
|
11
|
+
} = require('./config')
|
|
11
12
|
|
|
12
13
|
const setupCustomRuleSetPathOption = async (config) => {
|
|
13
|
-
let hasChanges = false
|
|
14
|
+
let hasChanges = false
|
|
14
15
|
const customRuleSetPathOption = config.option.find(
|
|
15
16
|
(option) => option[nameKey] === CUSTOM_RULE_SET_PATH_OPTION_NAME
|
|
16
|
-
)
|
|
17
|
-
const phpCSConfigExists = await pathExists(phpCSConfigurationPath)
|
|
18
|
-
const phpCSFixerConfigPathExists = await pathExists(
|
|
17
|
+
)
|
|
18
|
+
const phpCSConfigExists = await pathExists(phpCSConfigurationPath)
|
|
19
|
+
const phpCSFixerConfigPathExists = await pathExists(
|
|
20
|
+
phpCSFixerConfigurationPath
|
|
21
|
+
)
|
|
19
22
|
|
|
20
23
|
if (!customRuleSetPathOption) {
|
|
21
24
|
if (phpCSConfigExists) {
|
|
22
|
-
hasChanges = true
|
|
25
|
+
hasChanges = true
|
|
23
26
|
config.option.push({
|
|
24
27
|
[nameKey]: CUSTOM_RULE_SET_PATH_OPTION_NAME,
|
|
25
28
|
[valueKey]: phpCSConfigFormattedPath
|
|
26
|
-
})
|
|
29
|
+
})
|
|
27
30
|
} else if (phpCSFixerConfigPathExists) {
|
|
28
|
-
hasChanges = true
|
|
31
|
+
hasChanges = true
|
|
29
32
|
config.option.push({
|
|
30
33
|
[nameKey]: CUSTOM_RULE_SET_PATH_OPTION_NAME,
|
|
31
34
|
[valueKey]: phpCSFixerConfigurationFormattedPath
|
|
32
|
-
})
|
|
35
|
+
})
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
|
|
36
|
-
return hasChanges
|
|
37
|
-
}
|
|
39
|
+
return hasChanges
|
|
40
|
+
}
|
|
38
41
|
|
|
39
|
-
module.exports = setupCustomRuleSetPathOption
|
|
42
|
+
module.exports = setupCustomRuleSetPathOption
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @type {{
|
|
3
|
+
* enabled: 'true' | 'false',
|
|
4
|
+
* enabled_by_default: 'true' | 'false',
|
|
5
|
+
* level: 'ERROR' | 'WEAK WARNING'
|
|
6
|
+
* }}
|
|
7
|
+
*/
|
|
2
8
|
const properties = {
|
|
3
9
|
enabled: 'true',
|
|
4
10
|
enabled_by_default: 'true',
|
|
5
11
|
level: 'ERROR'
|
|
6
|
-
}
|
|
12
|
+
}
|
|
7
13
|
|
|
8
14
|
/**
|
|
9
|
-
* @param {
|
|
15
|
+
* @param {Record<string, unknown>} inspectionTool
|
|
10
16
|
* @param {{
|
|
11
17
|
* enabled: 'true' | 'false',
|
|
12
18
|
* enabled_by_default: 'true' | 'false',
|
|
@@ -14,29 +20,33 @@ const properties = {
|
|
|
14
20
|
* }} defaultProperties
|
|
15
21
|
* @returns {Boolean}
|
|
16
22
|
*/
|
|
17
|
-
const setupDefaultProperties = (
|
|
18
|
-
|
|
23
|
+
const setupDefaultProperties = (
|
|
24
|
+
inspectionTool,
|
|
25
|
+
defaultProperties = properties
|
|
26
|
+
) => {
|
|
27
|
+
let hasChanges = false
|
|
19
28
|
if (inspectionTool['@_enabled'] === undefined) {
|
|
20
|
-
hasChanges = true
|
|
21
|
-
inspectionTool['@_enabled'] = defaultProperties.enabled
|
|
29
|
+
hasChanges = true
|
|
30
|
+
inspectionTool['@_enabled'] = defaultProperties.enabled
|
|
22
31
|
}
|
|
23
32
|
|
|
24
33
|
if (inspectionTool['@_enabled_by_default'] === undefined) {
|
|
25
|
-
hasChanges = true
|
|
26
|
-
inspectionTool['@_enabled_by_default'] =
|
|
34
|
+
hasChanges = true
|
|
35
|
+
inspectionTool['@_enabled_by_default'] =
|
|
36
|
+
defaultProperties.enabled_by_default
|
|
27
37
|
}
|
|
28
38
|
|
|
29
39
|
if (inspectionTool['@_level'] === undefined) {
|
|
30
|
-
hasChanges = true
|
|
31
|
-
inspectionTool['@_level'] = defaultProperties.level
|
|
40
|
+
hasChanges = true
|
|
41
|
+
inspectionTool['@_level'] = defaultProperties.level
|
|
32
42
|
}
|
|
33
43
|
|
|
34
44
|
if (inspectionTool.option && !Array.isArray(inspectionTool.option)) {
|
|
35
|
-
hasChanges = true
|
|
36
|
-
inspectionTool.option = [inspectionTool.option]
|
|
45
|
+
hasChanges = true
|
|
46
|
+
inspectionTool.option = [inspectionTool.option]
|
|
37
47
|
}
|
|
38
48
|
|
|
39
|
-
return hasChanges
|
|
40
|
-
}
|
|
49
|
+
return hasChanges
|
|
50
|
+
}
|
|
41
51
|
|
|
42
|
-
module.exports = setupDefaultProperties
|
|
52
|
+
module.exports = setupDefaultProperties
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
const {
|
|
2
|
-
classes: {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const { classKey } = require('../keys');
|
|
7
|
-
const setupDefaultProperties = require('./default-properties-config');
|
|
2
|
+
classes: { ESLINT_INSPECTION }
|
|
3
|
+
} = require('./config')
|
|
4
|
+
const { classKey } = require('../keys')
|
|
5
|
+
const setupDefaultProperties = require('./default-properties-config')
|
|
8
6
|
|
|
9
7
|
/**
|
|
10
8
|
* Set up Styelint configuration
|
|
@@ -14,24 +12,25 @@ const setupDefaultProperties = require('./default-properties-config');
|
|
|
14
12
|
* @returns {Promise<Boolean>}
|
|
15
13
|
*/
|
|
16
14
|
const setupESLintInspection = async (inspectionToolsData) => {
|
|
17
|
-
let hasChanges = false
|
|
15
|
+
let hasChanges = false
|
|
18
16
|
const eslintConfig = inspectionToolsData.find(
|
|
19
|
-
(inspectionToolData) =>
|
|
20
|
-
|
|
17
|
+
(inspectionToolData) =>
|
|
18
|
+
inspectionToolData[classKey] === ESLINT_INSPECTION
|
|
19
|
+
)
|
|
21
20
|
|
|
22
21
|
if (eslintConfig) {
|
|
23
|
-
hasChanges = setupDefaultProperties(eslintConfig)
|
|
22
|
+
hasChanges = setupDefaultProperties(eslintConfig)
|
|
24
23
|
} else {
|
|
25
|
-
hasChanges = true
|
|
24
|
+
hasChanges = true
|
|
26
25
|
inspectionToolsData.push({
|
|
27
26
|
[classKey]: ESLINT_INSPECTION,
|
|
28
27
|
'@_enabled': 'true',
|
|
29
28
|
'@_level': 'ERROR',
|
|
30
29
|
'@_enabled_by_default': 'true'
|
|
31
|
-
})
|
|
30
|
+
})
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
return hasChanges
|
|
35
|
-
}
|
|
33
|
+
return hasChanges
|
|
34
|
+
}
|
|
36
35
|
|
|
37
|
-
module.exports = setupESLintInspection
|
|
36
|
+
module.exports = setupESLintInspection
|