diff --git a/action.yml b/action.yml index 1314f93..a0d155c 100644 --- a/action.yml +++ b/action.yml @@ -35,6 +35,10 @@ inputs: description: Only prettify files changed in the last commit, can't be used with file_pattern! required: false default: false + prettier_plugins: + description: Install Prettier plugins, i.e. `@prettier/prettier-php @prettier/some-other-plugin` + required: false + default: '' runs: using: 'docker' diff --git a/entrypoint.sh b/entrypoint.sh index 4db8011..023e697 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -36,6 +36,19 @@ case $INPUT_PRETTIER_VERSION in ;; esac +# Install plugins +if [ -n "$INPUT_PRETTIER_PLUGINS" ]; then + for plugin in $INPUT_PRETTIER_PLUGINS; do + echo "Checking plugin: $plugin" + # check regex against @prettier/xyz + if ! echo "$plugin" | grep -Eq '(@prettier\/)+(plugin-[a-z\-]+)'; then + echo "$plugin does not seem to be a valid @prettier/plugin-x plugin. Exiting." + exit 1 + fi + done + npm install --silent --global $INPUT_PRETTIER_PLUGINS +fi + echo "Prettifing files..." echo "Files:" prettier $INPUT_PRETTIER_OPTIONS || echo "Problem running prettier with $INPUT_PRETTIER_OPTIONS"