From 48393bf128241bfc95448230fa2e9124a965f003 Mon Sep 17 00:00:00 2001 From: Ben Kucera <14625260+Bkucera@users.noreply.github.com> Date: Tue, 23 Jul 2019 14:49:36 -0400 Subject: [PATCH] Decaffeinate helper scripts (#4781) * decaf script setup * update gitignore * fix conflicts, remove decaffeinate script hooks Co-authored-by: Brian Mann --- .eslintrc.decaffeinate.js | 13 +++++++++++++ .eslintrc => .eslintrc.json | 0 .gitignore | 3 +++ .vscode/tasks.json | 18 +++++++----------- package.json | 3 ++- 5 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 .eslintrc.decaffeinate.js rename .eslintrc => .eslintrc.json (100%) diff --git a/.eslintrc.decaffeinate.js b/.eslintrc.decaffeinate.js new file mode 100644 index 0000000000..70bcf3a937 --- /dev/null +++ b/.eslintrc.decaffeinate.js @@ -0,0 +1,13 @@ +const _ = require('lodash') +const baseConfig = require('./.eslintrc.json') + +module.exports = _.defaultsDeep({}, baseConfig, { + rules: { + // auto-fix removing some common unnecessary returns + '@cypress/dev/no-return-before': 'error', + // make sure we use arrow callback + 'prefer-arrow-callback': 'error', + // since our jscodemod scripts will format one-line-body functions as single line + 'arrow-body-style': ['error', 'always'], + }, +}) diff --git a/.eslintrc b/.eslintrc.json similarity index 100% rename from .eslintrc rename to .eslintrc.json diff --git a/.gitignore b/.gitignore index 83a7f76c92..6c6a928f37 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,6 @@ scripts/support package-lock.json yarn.lock binary-url.json + +# Allows us to dynamically create eslint rules that override the default for Decaffeinate scripts +.eslintrc.js diff --git a/.vscode/tasks.json b/.vscode/tasks.json index e0be7458b6..8692aff0d4 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,7 +6,13 @@ { "label": "decaffeinate-bulk file", "type": "shell", - "command": "npm run decaffeinate-bulk -- --file ${file} convert", + "command": "npm run decaffeinate-bulk -- convert --file ${file}", + "problemMatcher": [] + }, + { + "label": "decaffeinate-bulk multiple files", + "type": "shell", + "command": "npm run decaffeinate-bulk -- convert --file ${file} ${file}", "problemMatcher": [] }, { @@ -14,16 +20,6 @@ "type": "shell", "command": "npm run decaffeinate-bulk -- --dir ${fileDirname} convert", "problemMatcher": [] - }, - { - "label": "decaffeinate", - "type": "shell", - "command": "npm run decaffeinate -- ${file}" - }, - { - "label": "jscodeshift", - "type": "shell", - "command": "npm run jscodeshift -- ${file}" } ] } diff --git a/package.json b/package.json index 283b3503eb..8cdfe7ebf5 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,9 @@ "cypress:run": "node ./cli/bin/cypress run --dev", "cypress:run:debug": "node ./scripts/debug.js cypress:run", "cypress:verify": "node ./cli/bin/cypress verify --dev", - "decaffeinate": "decaffeinate --use-cs2 --loose", + "predecaffeinate-bulk": "shx cp .eslintrc.decaffeinate.js .eslintrc.js", "decaffeinate-bulk": "bulk-decaffeinate", + "postdecaffeinate-bulk": "shx rm .eslintrc.js", "dev": "node ./scripts/start.js", "dev-debug": "node ./scripts/debug.js dev", "docker": "./scripts/run-docker-local.sh",