Skip to content

Instantly share code, notes, and snippets.

@KlonD90
Last active October 3, 2017 16:01
Show Gist options
  • Save KlonD90/7f47130879427aeed0ad2f5df46c9c1f to your computer and use it in GitHub Desktop.
Save KlonD90/7f47130879427aeed0ad2f5df46c9c1f to your computer and use it in GitHub Desktop.
add eslint, prettier, flow
#!/bin/bash
(
export PKG=eslint-config-airbnb;
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)
echo 'ahah'
echo '{"plugins":["prettier"], "extends":["airbnb", "prettier"], "rules": {"curly": ["error", "all"], "import/no-extraneous-dependencies": 0, "import/no-unresolved": 0}}' > .eslintrc
echo <<< '
package.json
package-lock.json
' > .eslintignore
echo <<< '
package.json
package-lock.json
' > .prettierignore
echo '{ "presets": ["flow"]}' > .babelrc
npm install --save-dev husky
npm install --save-dev --save-exact prettier eslint-plugin-prettier prettier-eslint
npm install --save-dev babel-preset-flow flow-bin babel-register
./node_modules/.bin/flow init
node -e $'var fs = require("fs");const package = JSON.parse(fs.readFileSync("./package.json", {encoding: "utf8"})); package.scripts = package.scripts||{}; package.scripts.precommit = "npm run lint"; package.scripts.lint = "./node_modules/.bin/eslint --ext .jsx --ext .js **"; package.scripts.pretty = "./node_modules/.bin/prettier-eslint --ext .jsx --ext .js **"; package.scripts.flow = "./node_modules/.bin/flow"; if(package.main){ fs.writeFileSync("./babel-index.js", "require(\'babel-register\'); require(\'"+package.main+"\');", {encoding: "utf8"}); package.main = "./babel-index.js"; } fs.writeFileSync("package.json", JSON.stringify(package), {encoding: "utf8"});'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment