From 9dbf5881cde89a00514e354c6c2781cfa80f7982 Mon Sep 17 00:00:00 2001 From: David Hemphill Date: Sat, 4 Nov 2017 01:32:25 -0500 Subject: [PATCH] fix eslint issues --- .eslintrc | 5 ++++- __tests__/defineClass.test.js | 3 --- __tests__/defineClasses.test.js | 3 --- package.json | 4 +++- src/build.js | 2 ++ src/cli.js | 22 +++++++++++----------- src/generators/borderWidths.js | 3 +-- src/generators/container.js | 1 + src/generators/textColors.js | 2 +- src/generators/textStyle.js | 1 - src/index.js | 1 - src/lib/evaluateTailwindFunctions.js | 2 +- src/lib/substituteClassApplyAtRules.js | 7 +++---- src/lib/substituteFocusableAtRules.js | 6 +----- src/lib/substituteHoverableAtRules.js | 6 +----- src/lib/substitutePreflightAtRule.js | 4 +--- src/lib/substituteScreenAtRules.js | 3 --- src/util/defineClasses.js | 1 - src/util/findMixin.js | 2 +- yarn.lock | 4 ++++ 20 files changed, 35 insertions(+), 47 deletions(-) diff --git a/.eslintrc b/.eslintrc index f924cc5bb..d72a3c7b3 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,9 +1,12 @@ { + "env": { + "jest": true + }, "parserOptions": { "ecmaVersion": 6, "sourceType": "module" }, - "extends": ["prettier"], + "extends": ["eslint-config-postcss", "prettier"], "plugins": ["prettier"], "rules": { "prettier/prettier": [ diff --git a/__tests__/defineClass.test.js b/__tests__/defineClass.test.js index eac7dbf0f..004464a67 100644 --- a/__tests__/defineClass.test.js +++ b/__tests__/defineClass.test.js @@ -1,6 +1,3 @@ -import postcss from 'postcss' -import fs from 'fs' -import _ from 'lodash' import c from '../src/util/collapseWhitespace' import defineClass from '../src/util/defineClass' diff --git a/__tests__/defineClasses.test.js b/__tests__/defineClasses.test.js index 2c9284a4c..40cd5ff7e 100644 --- a/__tests__/defineClasses.test.js +++ b/__tests__/defineClasses.test.js @@ -1,6 +1,3 @@ -import postcss from 'postcss' -import fs from 'fs' -import _ from 'lodash' import c from '../src/util/collapseWhitespace' import defineClasses from '../src/util/defineClasses' diff --git a/package.json b/package.json index ac731c0cd..8ad351686 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ "babelify": "babel src --out-dir lib", "prepare": "npm run babelify && babel-node src/build.js", "watch": "nodemon -e js,css --watch src --exec 'babel-node src/build.js'", - "test": "jest and eslint ." + "style": "eslint .", + "test": "jest && eslint ." }, "devDependencies": { "autoprefixer": "^7.1.6", @@ -33,6 +34,7 @@ "babel-preset-stage-3": "^6.24.1", "clean-css": "^4.1.9", "eslint": "^4.10.0", + "eslint-config-postcss": "^2.0.2", "eslint-config-prettier": "^2.7.0", "eslint-plugin-prettier": "^2.3.1", "jest": "^20.0.4", diff --git a/src/build.js b/src/build.js index 7244714b6..fc123e3c8 100644 --- a/src/build.js +++ b/src/build.js @@ -8,6 +8,8 @@ function buildDistFile(filename) { console.log(`Processing ./css/${filename}.css...`) fs.readFile(`./css/${filename}.css`, (err, css) => { + if (err) throw err + return postcss([tailwind(), require('autoprefixer')]) .process(css, { from: `./css/${filename}.css`, diff --git a/src/cli.js b/src/cli.js index 13f7f16ed..0849908fe 100755 --- a/src/cli.js +++ b/src/cli.js @@ -1,12 +1,12 @@ #!/usr/bin/env node +/* eslint-disable no-process-exit */ -import fs from 'fs-extra' -import _ from 'lodash' import path from 'path' -import postcss from 'postcss' -import defaultConfig from '../defaultConfig' -import program from 'commander' +import fs from 'fs-extra' import tailwind from '..' +import postcss from 'postcss' +import process from 'process' +import program from 'commander' function loadConfig(configPath) { if (configPath === undefined) { @@ -46,14 +46,14 @@ function buildTailwind(inputFile, config, write) { .catch(error => console.log(error)) } -const packageJson = require(path.resolve(__dirname + '/../package.json')) +const packageJson = require(path.resolve(__dirname, '/../package.json')) program.version(packageJson.version).usage(' []') program .command('init [filename]') .usage('[options] [filename]') - .action(function(filename = 'tailwind.js') { + .action((filename = 'tailwind.js') => { let destination = path.resolve(filename) if (! path.extname(filename).includes('.js')) { @@ -66,7 +66,7 @@ program } const output = fs.readFileSync( - path.resolve(__dirname + '/../defaultConfig.js'), + path.resolve(__dirname, '/../defaultConfig.js'), 'utf8' ) fs.outputFileSync( @@ -81,7 +81,7 @@ program .usage('[options] ') .option('-c, --config [path]', 'Path to config file') .option('-o, --output [path]', 'Output file') - .action(function(file, options) { + .action((file, options) => { let inputFile = program.args[0] if (!inputFile) { @@ -93,7 +93,7 @@ program inputFile, loadConfig(options.config), writeStrategy(options) - ).then(function() { + ).then(() => { process.exit() }) }) @@ -102,7 +102,7 @@ program .command('*', null, { noHelp: true }) - .action(function() { + .action(() => { program.help() }) diff --git a/src/generators/borderWidths.js b/src/generators/borderWidths.js index 999003048..2818ef769 100644 --- a/src/generators/borderWidths.js +++ b/src/generators/borderWidths.js @@ -1,5 +1,4 @@ import _ from 'lodash' -import defineClass from '../util/defineClass' import defineClasses from '../util/defineClasses' function defaultBorder(width, color) { @@ -23,7 +22,7 @@ function defaultBorder(width, color) { } function sizedBorder(size, width, color) { - const style = width == 0 ? '0' : `${width} solid ${color}` + const style = width == 0 ? '0' : `${width} solid ${color}` // eslint-disable-line eqeqeq return defineClasses({ [`border-${size}`]: { diff --git a/src/generators/container.js b/src/generators/container.js index c70d09eae..64f9017b7 100644 --- a/src/generators/container.js +++ b/src/generators/container.js @@ -1,3 +1,4 @@ +/* eslint-disable no-shadow */ import _ from 'lodash' import postcss from 'postcss' import defineClass from '../util/defineClass' diff --git a/src/generators/textColors.js b/src/generators/textColors.js index 8784e1728..41bbd3b67 100644 --- a/src/generators/textColors.js +++ b/src/generators/textColors.js @@ -6,7 +6,7 @@ export default function({ textColors }) { return hoverable( _.map(textColors, (color, modifier) => { return defineClass(`text-${modifier}`, { - color: color + color }) }) ) diff --git a/src/generators/textStyle.js b/src/generators/textStyle.js index cbd77320c..4b42c9d6f 100644 --- a/src/generators/textStyle.js +++ b/src/generators/textStyle.js @@ -1,4 +1,3 @@ -import _ from 'lodash' import defineClasses from '../util/defineClasses' import hoverable from '../util/hoverable' diff --git a/src/index.js b/src/index.js index 78b59d99d..11b9868fc 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,3 @@ -import fs from 'fs' import path from 'path' import _ from 'lodash' diff --git a/src/lib/evaluateTailwindFunctions.js b/src/lib/evaluateTailwindFunctions.js index d544a4c6f..7a0e8407f 100644 --- a/src/lib/evaluateTailwindFunctions.js +++ b/src/lib/evaluateTailwindFunctions.js @@ -6,7 +6,7 @@ export default function(config) { return functions({ functions: { - config: function(path, defaultValue) { + config: (path, defaultValue) => { return _.get(options, _.trim(path, `'"`), defaultValue) } } diff --git a/src/lib/substituteClassApplyAtRules.js b/src/lib/substituteClassApplyAtRules.js index 9903ea5be..11aaf3f98 100644 --- a/src/lib/substituteClassApplyAtRules.js +++ b/src/lib/substituteClassApplyAtRules.js @@ -1,5 +1,5 @@ -import postcss from 'postcss' import _ from 'lodash' +import postcss from 'postcss' import findMixin from '../util/findMixin' import escapeClassName from '../util/escapeClassName' @@ -9,10 +9,9 @@ function normalizeClassNames(classNames) { }) } -export default function(config) { +export default function() { return function(css) { - const options = config() - css.walkRules(function(rule) { + css.walkRules(rule => { rule.walkAtRules('apply', atRule => { const mixins = normalizeClassNames(postcss.list.space(atRule.params)) diff --git a/src/lib/substituteFocusableAtRules.js b/src/lib/substituteFocusableAtRules.js index 3a69cc09a..8c758b590 100644 --- a/src/lib/substituteFocusableAtRules.js +++ b/src/lib/substituteFocusableAtRules.js @@ -1,11 +1,7 @@ -import _ from 'lodash' -import postcss from 'postcss' import cloneNodes from '../util/cloneNodes' -export default function(config) { +export default function() { return function(css) { - const options = config() - css.walkAtRules('focusable', atRule => { atRule.walkRules(rule => { // Might be wise to error if the rule has multiple selectors, diff --git a/src/lib/substituteHoverableAtRules.js b/src/lib/substituteHoverableAtRules.js index b818ec97e..a31fb8d1c 100644 --- a/src/lib/substituteHoverableAtRules.js +++ b/src/lib/substituteHoverableAtRules.js @@ -1,11 +1,7 @@ -import _ from 'lodash' -import postcss from 'postcss' import cloneNodes from '../util/cloneNodes' -export default function(config) { +export default function() { return function(css) { - const options = config() - css.walkAtRules('hoverable', atRule => { atRule.walkRules(rule => { // Might be wise to error if the rule has multiple selectors, diff --git a/src/lib/substitutePreflightAtRule.js b/src/lib/substitutePreflightAtRule.js index 77502372a..e0d7a973e 100644 --- a/src/lib/substitutePreflightAtRule.js +++ b/src/lib/substitutePreflightAtRule.js @@ -1,10 +1,8 @@ import fs from 'fs' import postcss from 'postcss' -export default function(config) { +export default function() { return function(css) { - const options = config() - css.walkAtRules('tailwind', atRule => { if (atRule.params === 'preflight') { atRule.before( diff --git a/src/lib/substituteScreenAtRules.js b/src/lib/substituteScreenAtRules.js index b7b555c6d..bc8cc7da4 100644 --- a/src/lib/substituteScreenAtRules.js +++ b/src/lib/substituteScreenAtRules.js @@ -1,12 +1,9 @@ import _ from 'lodash' -import postcss from 'postcss' -import cloneNodes from '../util/cloneNodes' import buildMediaQuery from '../util/buildMediaQuery' export default function(config) { return function(css) { const options = config() - const rules = [] css.walkAtRules('screen', atRule => { const screen = atRule.params diff --git a/src/util/defineClasses.js b/src/util/defineClasses.js index 6a60751d7..4f80aef30 100644 --- a/src/util/defineClasses.js +++ b/src/util/defineClasses.js @@ -1,4 +1,3 @@ -import postcss from 'postcss' import _ from 'lodash' import defineClass from './defineClass' diff --git a/src/util/findMixin.js b/src/util/findMixin.js index b07372a4e..1460ea812 100644 --- a/src/util/findMixin.js +++ b/src/util/findMixin.js @@ -4,7 +4,7 @@ export default function findMixin(css, mixin, onError) { const matches = [] css.walkRules(rule => { - if (rule.selectors.includes(mixin) && rule.parent.type == 'root') { + if (rule.selectors.includes(mixin) && rule.parent.type === 'root') { matches.push(rule) } }) diff --git a/yarn.lock b/yarn.lock index 61ec47285..216fbc36f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1536,6 +1536,10 @@ escodegen@^1.6.1: optionalDependencies: source-map "~0.5.6" +eslint-config-postcss@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/eslint-config-postcss/-/eslint-config-postcss-2.0.2.tgz#cae1c6093ced7850894a5b85fbe1d1e232b72afb" + eslint-config-prettier@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.7.0.tgz#7bbfef66ad783277836f4ea556e68b9bcc9da4d0"