From ecd2624d2b65d1cab8309ac8e0fdc5ff9b12eeb2 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 22 Jul 2019 15:08:30 +0300 Subject: [PATCH] feature(cloudcmd) simplify lint --- .eslintrc.js | 28 ++++++++++++++++++++++++++++ .eslintrc.json | 11 ----------- .eslintrc.server | 11 ----------- bin/cloudcmd.js | 42 +++++++++++++++++++++--------------------- madrun.js | 24 ++++++++++-------------- package.json | 37 ++++++++++++++++++++++++++++--------- 6 files changed, 87 insertions(+), 66 deletions(-) create mode 100644 .eslintrc.js delete mode 100644 .eslintrc.json delete mode 100644 .eslintrc.server diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..62b14e6c --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,28 @@ +'use strict'; + +module.exports = { + rules: { + 'no-console': 0, + }, + extends: [ + 'plugin:putout/recommended', + ], + plugins: [ + 'putout', + 'node', + ], + overrides: [{ + files: ['server'], + rules: { + 'no-process-exit': 0, + }, + extends: [ + 'plugin:node/recommended', + ], + }, { + files: ['client', 'static'], + env: { + browser: true, + }, + }], +}; diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 4d8409a4..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "rules": { - "no-console": 0 - }, - "extends": [ - "plugin:putout/recommended" - ], - "plugins": [ - "putout" - ] -} diff --git a/.eslintrc.server b/.eslintrc.server deleted file mode 100644 index 56c3a514..00000000 --- a/.eslintrc.server +++ /dev/null @@ -1,11 +0,0 @@ -{ - "rules": { - "no-process-exit": 0, - }, - "extends": [ - "plugin:node/recommended", - ], - "plugins": [ - "node" - ] -} diff --git a/bin/cloudcmd.js b/bin/cloudcmd.js index 59bc17f8..306f9ca7 100755 --- a/bin/cloudcmd.js +++ b/bin/cloudcmd.js @@ -83,30 +83,30 @@ const args = require('minimist')(argv.slice(2), { 'user-menu', ], default: { - server : true, - name : choose(env('name'), config('name')), - auth : choose(env.bool('auth'), config('auth')), - port : config('port'), - online : config('online'), - open : choose(env.bool('open'), config('open')), - editor : env('editor') || config('editor'), - packer : config('packer') || 'tar', - zip : config('zip'), - username : env('username') || config('username'), - root : choose(env('root'), config('root')), - prefix : config('prefix'), - progress : config('progress'), - console : choose(env.bool('console'), config('console')), - contact : choose(env.bool('contact'), config('contact')), - terminal : choose(env.bool('terminal'), config('terminal')), - columns : env('columns') || config('columns') || '', - vim : choose(env.bool('vim'), config('vim')), - log : config('log'), + 'server' : true, + 'name' : choose(env('name'), config('name')), + 'auth' : choose(env.bool('auth'), config('auth')), + 'port' : config('port'), + 'online' : config('online'), + 'open' : choose(env.bool('open'), config('open')), + 'editor' : env('editor') || config('editor'), + 'packer' : config('packer') || 'tar', + 'zip' : config('zip'), + 'username' : env('username') || config('username'), + 'root' : choose(env('root'), config('root')), + 'prefix' : config('prefix'), + 'progress' : config('progress'), + 'console' : choose(env.bool('console'), config('console')), + 'contact' : choose(env.bool('contact'), config('contact')), + 'terminal' : choose(env.bool('terminal'), config('terminal')), + 'columns' : env('columns') || config('columns') || '', + 'vim' : choose(env.bool('vim'), config('vim')), + 'log' : config('log'), 'import-url': env('import_url') || config('importUrl'), 'import-listen': choose(env.bool('import_listen'), config('importListen')), - import : choose(env.bool('import'), config('import')), - export : choose(env.bool('export'), config('export')), + 'import' : choose(env.bool('import'), config('import')), + 'export' : choose(env.bool('export'), config('export')), 'prefix-socket': config('prefixSocket'), 'show-file-name': choose(env.bool('show_file_name'), config('showFileName')), diff --git a/madrun.js b/madrun.js index 74da8336..e87dcf1c 100644 --- a/madrun.js +++ b/madrun.js @@ -3,42 +3,40 @@ const { run, parallel, + predefined, } = require('madrun'); const {version} = require('./package'); +const {eslint} = predefined; -const dirs = [ +const names = [ 'bin/cloudcmd.js', 'common', 'server', -].join(' '); - -const dirsTest = [ 'test', 'bin/release.js', 'webpack.config.js', 'cssnano.config.js', '.webpack', + '.eslintrc.js', 'madrun.js', '{client,server,common}/**/*.spec.js', -].join(' '); +]; module.exports = { 'start': () => 'node bin/cloudcmd.js', 'start:dev': () => `NODE_ENV=development ${run('start')}`, 'build:start': () => run(['build:client', 'start']), 'build:start:dev': () => run(['build:client:dev', 'start:dev']), - 'lint': () => run(['putout', 'lint:*', 'spell']), - 'lint:server': () => `eslint -c .eslintrc.server ${dirs} --ignore-pattern *.spec.js`, - 'lint:test': () => `eslint --ignore-pattern '!.*' ${dirsTest}`, - 'lint:client': () => 'eslint --env browser client static --ignore-pattern .cloudcmd.menu.js', + 'lint:all': () => run(['lint', 'lint:css', 'spell']), + 'lint': () => eslint({names}), 'lint:css': () => 'stylelint css/*.css', 'spell': () => 'yaspeller .', - 'fix:lint': () => run(['putout', 'lint:*'], '--fix'), + 'fix:lint': () => run('lint', '--fix'), 'test': () => `tape 'test/**/*.js' '{client,static,common,server}/**/*.spec.js'`, 'test:client': () => `tape 'test/client/**/*.js`, 'test:server': () => `tape 'test/**/*.js' 'server/**/*.spec.js' 'common/**/*.spec.js'`, - 'wisdom': () => run(['lint', 'build', 'test']), + 'wisdom': () => run(['lint:all', 'build', 'test']), 'wisdom:type': () => 'bin/release.js', 'docker:pull:node': () => 'docker pull node', 'docker:pull:alpine': () => 'docker pull mhart/alpine-node', @@ -75,9 +73,7 @@ module.exports = { 'watch:client': () => run('6to5:client','--watch'), 'watch:client:dev': () => run('6to5:client:dev', '--watch'), 'watch:server': () => 'nodemon bin/cloudcmd.js', - 'watch:lint': () => `nodemon -w client -w server -w webpack.config.js -x ${run(['lint:client', 'lint:server'])}`, - 'watch:lint:client': () => `nodemon -w client -w webpack.config.js -x ${run('lint:client')}`, - 'watch:lint:server': () => `nodemon -w server -w common -x ${run('lint:server')}`, + 'watch:lint': () => `nodemon -w client -w server -w webpack.config.js -x ${run('lint')}`, 'watch:test': () => `nodemon -w client -w server -w test -w common -x ${run('test')}`, 'watch:test:client': () => `nodemon -w client -w test/client -x ${run('test:client')}`, 'watch:test:server': () => `nodemon -w client -w test/client -x ${run('test:server')}`, diff --git a/package.json b/package.json index 5cbf5a48..6f00ef30 100644 --- a/package.json +++ b/package.json @@ -49,35 +49,54 @@ "start:dev": "madrun start:dev", "build:start": "madrun build:start", "build:start:dev": "madrun build:start:dev", + "lint:all": "madrun lint:all", "lint": "madrun lint", - "lint:server": "madrun lint:server", - "lint:test": "madrun lint:test", - "lint:client": "madrun lint:client", "lint:css": "madrun lint:css", - "spell": "medrun spell", + "spell": "madrun spell", "fix:lint": "madrun fix:lint", "test": "madrun test", "test:client": "madrun test:client", "test:server": "madrun test:server", - "wisdom": "madrun lint build test", - "wisdom:type": "bin/release.js", + "wisdom": "madrun wisdom", + "wisdom:type": "madrun wisdom:type", + "docker:pull:node": "madrun docker:pull:node", + "docker:pull:alpine": "madrun docker:pull:alpine", + "docker:push": "madrun docker:push", + "docker:push:latest": "madrun docker:push:latest", + "docker:push:alpine": "madrun docker:push:alpine", + "docker:push:alpine:latest": "madrun docker:push:alpine:latest", + "docker:build": "madrun docker:build", + "docker:build:alpine": "madrun docker:build:alpine", "docker": "madrun docker", "docker-ci": "madrun docker-ci", + "docker-login": "madrun docker-login", + "docker:alpine": "madrun docker:alpine", + "docker:tag": "madrun docker:tag", + "docker:tag:alpine": "madrun docker:tag:alpine", + "docker:rm:version": "madrun docker:rm:version", + "docker:rm:latest": "madrun docker:rm:latest", + "docker:rm:alpine": "madrun docker:rm:alpine", + "docker:rm:latest-alpine": "madrun docker:rm:latest-alpine", + "docker:rm-old": "madrun docker:rm-old", "coverage": "madrun coverage", "report": "madrun report", + "6to5": "madrun 6to5", + "6to5:client": "madrun 6to5:client", + "6to5:client:dev": "madrun 6to5:client:dev", + "pre6to5:client": "madrun pre6to5:client", + "pre6to5:client:dev": "madrun pre6to5:client:dev", "watch:client": "madrun watch:client", "watch:client:dev": "madrun watch:client:dev", "watch:server": "madrun watch:server", "watch:lint": "madrun watch:lint", - "watch:lint:client": "madrun watch:lint:client", - "watch:lint:server": "madrun watch:lint:server", "watch:test": "madrun watch:test", "watch:test:client": "madrun watch:test:client", "watch:test:server": "madrun watch:test:server", + "watch:coverage": "madrun watch:coverage", "build": "madrun build", "build:client": "madrun build:client", "build:client:dev": "madrun build:client:dev", - "heroku-postbuild": "madrun 6to5:client", + "heroku-postbuild": "madrun heroku-postbuild", "putout": "madrun putout" }, "directories": {