feature(cloudcmd) simplify lint

This commit is contained in:
coderaiser 2019-07-22 15:08:30 +03:00
parent b4629a86e4
commit ecd2624d2b
6 changed files with 87 additions and 66 deletions

28
.eslintrc.js Normal file
View file

@ -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,
},
}],
};

View file

@ -1,11 +0,0 @@
{
"rules": {
"no-console": 0
},
"extends": [
"plugin:putout/recommended"
],
"plugins": [
"putout"
]
}

View file

@ -1,11 +0,0 @@
{
"rules": {
"no-process-exit": 0,
},
"extends": [
"plugin:node/recommended",
],
"plugins": [
"node"
]
}

View file

@ -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')),

View file

@ -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')}`,

View file

@ -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": {