mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-04-01 02:42:23 -05:00
fix: eslint globally read all files, rename jsx to js. Reduce amount of repeated configuration
This commit is contained in:
parent
2e5a1e7fd9
commit
2df4f7b628
24 changed files with 6859 additions and 1866 deletions
|
@ -1,8 +1,4 @@
|
|||
node_modules
|
||||
lib/web/static
|
||||
lib/web/ui/
|
||||
lib/web/static
|
||||
coverage/
|
||||
|
||||
wiki/
|
||||
static/
|
||||
|
|
80
.eslintrc
Normal file
80
.eslintrc
Normal file
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"plugins": [
|
||||
"react",
|
||||
"flowtype"
|
||||
],
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"google",
|
||||
"plugin:react/recommended",
|
||||
"plugin:flowtype/recommended"
|
||||
],
|
||||
"parserOptions": {
|
||||
"sourceType": "module",
|
||||
"ecmaVersion": 7,
|
||||
"ecmaFeatures": {
|
||||
"impliedStrict": true,
|
||||
"jsx": true
|
||||
}
|
||||
},
|
||||
"env": {
|
||||
"browser": true,
|
||||
"node": true,
|
||||
"es6": true
|
||||
},
|
||||
"rules": {
|
||||
"no-tabs": 0,
|
||||
"keyword-spacing": 0,
|
||||
"padded-blocks": 0,
|
||||
"no-useless-escape": 0,
|
||||
"handle-callback-err": 2,
|
||||
"no-debugger": 2,
|
||||
"no-fallthrough": 2,
|
||||
"curly": 2,
|
||||
"eol-last": 1,
|
||||
"no-irregular-whitespace": 1,
|
||||
"no-mixed-spaces-and-tabs": [
|
||||
1,
|
||||
"smart-tabs"
|
||||
],
|
||||
"no-trailing-spaces": 1,
|
||||
"no-new-require": 2,
|
||||
"no-undef": 2,
|
||||
"no-unreachable": 2,
|
||||
"no-unused-vars": [
|
||||
2,
|
||||
{
|
||||
"vars": "all",
|
||||
"args": "none"
|
||||
}
|
||||
],
|
||||
"max-len": [
|
||||
1,
|
||||
160
|
||||
],
|
||||
"semi": [
|
||||
2,
|
||||
"always"
|
||||
],
|
||||
"camelcase": 0,
|
||||
"require-jsdoc": 2,
|
||||
"valid-jsdoc": 2,
|
||||
"prefer-spread": 1,
|
||||
"prefer-rest-params": 1,
|
||||
"no-var": 2,
|
||||
"no-constant-condition": 2,
|
||||
"no-empty": 2,
|
||||
"guard-for-in": 2,
|
||||
"no-invalid-this": 2,
|
||||
"new-cap": 2,
|
||||
"one-var": 2,
|
||||
"no-console": [
|
||||
2,
|
||||
{
|
||||
"allow": [
|
||||
"warn"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,99 +0,0 @@
|
|||
# vim: syntax=yaml
|
||||
|
||||
#
|
||||
# List of very light restrictions designed to prevent obvious errors,
|
||||
# not impose our own code style upon other contributors.
|
||||
#
|
||||
# This is supposed to be used with `eslint --reset`
|
||||
#
|
||||
# Created to work with eslint@0.18.0
|
||||
#
|
||||
|
||||
plugins: ["react"]
|
||||
|
||||
extends: ["eslint:recommended", "google", "plugin:react/recommended"]
|
||||
|
||||
env:
|
||||
node: true
|
||||
browser: true
|
||||
es6: true
|
||||
|
||||
parserOptions:
|
||||
sourceType: "module"
|
||||
ecmaVersion: 7
|
||||
ecmaFeatures:
|
||||
jsx: true
|
||||
|
||||
|
||||
rules:
|
||||
|
||||
no-tabs: 0
|
||||
keyword-spacing: 0
|
||||
padded-blocks: 0
|
||||
|
||||
# useful to have in node.js,
|
||||
# if you're sure you don't need to handle error, rename it to "_err"
|
||||
handle-callback-err: 2
|
||||
|
||||
# just to make sure we don't forget to remove them when releasing
|
||||
no-debugger: 2
|
||||
|
||||
# add "falls through" for those
|
||||
no-fallthrough: 2
|
||||
|
||||
# enforce use curly always
|
||||
# curly: 1
|
||||
|
||||
# just warnings about whitespace weirdness here
|
||||
eol-last: 1
|
||||
no-irregular-whitespace: 1
|
||||
no-mixed-spaces-and-tabs: [1, smart-tabs]
|
||||
no-trailing-spaces: 1
|
||||
|
||||
# probably always an error, tell me if it's not
|
||||
no-new-require: 2
|
||||
|
||||
# single most important rule here, without it linting won't even
|
||||
# make any sense
|
||||
no-undef: 2
|
||||
|
||||
# in practice, those are always errors
|
||||
no-unreachable: 2
|
||||
|
||||
# useful for code clean-up
|
||||
no-unused-vars: [2, {"vars": "all", "args": "none"}]
|
||||
|
||||
max-len: [1, 160]
|
||||
|
||||
# camelcase is standard, but this should be 1 and then 2 soon
|
||||
camelcase: 0
|
||||
|
||||
# jsdoc is mandatory
|
||||
require-jsdoc: 2
|
||||
valid-jsdoc: 2
|
||||
|
||||
# this feature is cool but not supported by Node 4, disable via comments
|
||||
prefer-spread: 1
|
||||
prefer-rest-params: 1
|
||||
|
||||
# encorage use es6
|
||||
no-var: 2
|
||||
|
||||
# configuration that should be upgraded progresivelly
|
||||
no-constant-condition: 2
|
||||
no-empty: 2
|
||||
|
||||
# loop over objects http://eslint.org/docs/rules/guard-for-in
|
||||
guard-for-in: 2
|
||||
|
||||
# this must be used within classes
|
||||
no-invalid-this: 2
|
||||
|
||||
# All object must be uppercase
|
||||
new-cap: 2
|
||||
|
||||
# readbility is important, no multiple inline declarations
|
||||
one-var: 2
|
||||
|
||||
# console not allowed unless for testing
|
||||
no-console: [2, {"allow": ["log", "warn"]}]
|
7974
package-lock.json
generated
7974
package-lock.json
generated
File diff suppressed because it is too large
Load diff
98
package.json
98
package.json
|
@ -48,59 +48,59 @@
|
|||
"unix-crypt-td-js": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"axios": "^0.16.2",
|
||||
"babel-cli": "^6.24.1",
|
||||
"babel-core": "^6.25.0",
|
||||
"babel-eslint": "^7.2.3",
|
||||
"babel-loader": "^7.1.1",
|
||||
"babel-plugin-flow-runtime": "^0.11.1",
|
||||
"babel-plugin-transform-decorators-legacy": "^1.3.4",
|
||||
"babel-plugin-transform-runtime": "^6.23.0",
|
||||
"babel-preset-env": "^1.5.2",
|
||||
"babel-preset-flow": "^6.23.0",
|
||||
"babel-preset-react": "^6.24.1",
|
||||
"babel-preset-stage-2": "^6.24.1",
|
||||
"babel-preset-stage-3": "^6.24.1",
|
||||
"babel-runtime": "^6.23.0",
|
||||
"axios": "0.16.2",
|
||||
"babel-cli": "6.24.1",
|
||||
"babel-core": "6.25.0",
|
||||
"babel-eslint": "7.2.3",
|
||||
"babel-loader": "7.1.1",
|
||||
"babel-plugin-flow-runtime": "0.11.1",
|
||||
"babel-plugin-transform-decorators-legacy": "1.3.4",
|
||||
"babel-plugin-transform-runtime": "6.23.0",
|
||||
"babel-preset-env": "1.5.2",
|
||||
"babel-preset-flow": "6.23.0",
|
||||
"babel-preset-react": "6.24.1",
|
||||
"babel-preset-stage-2": "6.24.1",
|
||||
"babel-preset-stage-3": "6.24.1",
|
||||
"babel-runtime": "6.23.0",
|
||||
"codacy-coverage": "2.0.2",
|
||||
"codecov": "2.2.0",
|
||||
"coveralls": "^2.13.1",
|
||||
"css-loader": "^0.28.4",
|
||||
"element-react": "^1.0.16",
|
||||
"element-theme-default": "^1.3.7",
|
||||
"eslint": "^4.1.0",
|
||||
"eslint-config-google": "^0.8.0",
|
||||
"eslint-loader": "^1.8.0",
|
||||
"eslint-plugin-babel": "^4.1.1",
|
||||
"eslint-plugin-flowtype": "^2.34.1",
|
||||
"eslint-plugin-import": "^2.6.1",
|
||||
"eslint-plugin-react": "^7.1.0",
|
||||
"extract-text-webpack-plugin": "^2.1.2",
|
||||
"file-loader": "^0.11.2",
|
||||
"flow-runtime": "^0.13.0",
|
||||
"friendly-errors-webpack-plugin": "^1.6.1",
|
||||
"html-webpack-plugin": "^2.29.0",
|
||||
"coveralls": "2.13.1",
|
||||
"css-loader": "0.28.4",
|
||||
"element-react": "1.0.16",
|
||||
"element-theme-default": "1.3.7",
|
||||
"eslint": "4.2.0",
|
||||
"eslint-config-google": "0.8.0",
|
||||
"eslint-loader": "1.8.0",
|
||||
"eslint-plugin-babel": "4.1.1",
|
||||
"eslint-plugin-flowtype": "2.35.0",
|
||||
"eslint-plugin-import": "2.6.1",
|
||||
"eslint-plugin-react": "7.1.0",
|
||||
"extract-text-webpack-plugin": "3.0.0",
|
||||
"file-loader": "0.11.2",
|
||||
"flow-runtime": "0.13.0",
|
||||
"friendly-errors-webpack-plugin": "1.6.1",
|
||||
"html-webpack-plugin": "2.29.0",
|
||||
"in-publish": "2.0.0",
|
||||
"localstorage-memory": "^1.0.2",
|
||||
"mocha": "^3.4.2",
|
||||
"localstorage-memory": "1.0.2",
|
||||
"mocha": "3.4.2",
|
||||
"mocha-lcov-reporter": "1.3.0",
|
||||
"node-sass": "^4.5.3",
|
||||
"normalize.css": "^7.0.0",
|
||||
"nyc": "^11.0.3",
|
||||
"ora": "^1.3.0",
|
||||
"prop-types": "^15.5.10",
|
||||
"react": "^15.6.1",
|
||||
"react-dom": "^15.6.1",
|
||||
"react-hot-loader": "^3.0.0-beta.7",
|
||||
"react-router-dom": "^4.1.1",
|
||||
"rimraf": "^2.6.1",
|
||||
"sass-loader": "^6.0.6",
|
||||
"source-map-loader": "^0.2.1",
|
||||
"style-loader": "^0.18.2",
|
||||
"styled-components": "^2.1.1",
|
||||
"url-loader": "^0.5.8",
|
||||
"webpack": "^3.0.0",
|
||||
"webpack-dev-server": "^2.5.0"
|
||||
"node-sass": "4.5.3",
|
||||
"normalize.css": "7.0.0",
|
||||
"nyc": "11.0.3",
|
||||
"ora": "1.3.0",
|
||||
"prop-types": "15.5.10",
|
||||
"react": "15.6.1",
|
||||
"react-dom": "15.6.1",
|
||||
"react-hot-loader": "3.0.0-beta.7",
|
||||
"react-router-dom": "4.1.1",
|
||||
"rimraf": "2.6.1",
|
||||
"sass-loader": "6.0.6",
|
||||
"source-map-loader": "0.2.1",
|
||||
"style-loader": "0.18.2",
|
||||
"styled-components": "2.1.1",
|
||||
"url-loader": "0.5.8",
|
||||
"webpack": "3.2.0",
|
||||
"webpack-dev-server": "2.5.0"
|
||||
},
|
||||
"keywords": [
|
||||
"private",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# vim: syntax=yaml
|
||||
|
||||
|
||||
rules:
|
||||
no-useless-escape: 0
|
||||
{
|
||||
"rules": {
|
||||
"no-useless-escape": 0
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# vim: syntax=yaml
|
||||
|
||||
|
||||
rules:
|
||||
no-useless-escape: 0
|
||||
{
|
||||
"rules": {
|
||||
"no-useless-escape": 0
|
||||
}
|
||||
}
|
||||
|
|
27
src/webui/.eslintrc
Normal file
27
src/webui/.eslintrc
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"node": true,
|
||||
"jest": true,
|
||||
"es6": true
|
||||
},
|
||||
"rules": {
|
||||
"require-jsdoc": 0,
|
||||
"no-console": [
|
||||
1,
|
||||
{
|
||||
"allow": [
|
||||
"log"
|
||||
]
|
||||
}
|
||||
],
|
||||
"comma-dangle": 0,
|
||||
"semi": 1,
|
||||
"react/no-danger-with-children": 1,
|
||||
"react/no-string-refs": 1,
|
||||
"react/prefer-es6-class": [
|
||||
2,
|
||||
"always"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
# vim: syntax=yaml
|
||||
|
||||
|
||||
## rules for react components
|
||||
|
||||
extends:
|
||||
- google
|
||||
- eslint:recommended
|
||||
- plugin:react/recommended
|
||||
- plugin:flowtype/recommended
|
||||
|
||||
plugins:
|
||||
- flowtype
|
||||
|
||||
parser: babel-eslint
|
||||
|
||||
env:
|
||||
node: true
|
||||
browser: true
|
||||
jest: true
|
||||
|
||||
rules:
|
||||
# jsdoc is mandatory
|
||||
require-jsdoc: 0
|
||||
# jsx rules
|
||||
react/no-danger-with-children: 0
|
||||
react/no-string-refs: 0
|
||||
|
|
@ -2,15 +2,15 @@ import webpack from 'webpack';
|
|||
import WebpackDevServer from 'webpack-dev-server';
|
||||
import config from './webpack.dev.config.babel';
|
||||
import ora from 'ora';
|
||||
import env from '../../config/env'
|
||||
import env from '../../config/env';
|
||||
|
||||
const compiler = webpack(config);
|
||||
const spinner = ora('Compiler is running...').start();
|
||||
compiler.plugin('done', () => {
|
||||
if (!global.rebuild) {
|
||||
spinner.stop();
|
||||
console.log('Dev Server Listening at http://localhost:4872/')
|
||||
global.rebuild = true
|
||||
console.log('Dev Server Listening at http://localhost:4872/');
|
||||
global.rebuild = true;
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -30,8 +30,8 @@ new WebpackDevServer(compiler, {
|
|||
chunks: true,
|
||||
chunkModules: false
|
||||
}
|
||||
}).listen(4872, 'localhost', function (err) {
|
||||
}).listen(4872, 'localhost', function(err) {
|
||||
if (err) {
|
||||
return console.log(err);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import env from '../../config/env'
|
||||
import env from '../../config/env';
|
||||
|
||||
const isDev = process.env.NODE_ENV === 'development'
|
||||
const isDev = process.env.NODE_ENV === 'development';
|
||||
|
||||
export default {
|
||||
entry: `${env.SRC_ROOT}/webui/src/index.jsx`,
|
||||
entry: `${env.SRC_ROOT}/webui/src/index.js`,
|
||||
|
||||
output: {
|
||||
output: {
|
||||
path: `${env.APP_ROOT}/static/`,
|
||||
filename: '[name].[hash].js'
|
||||
},
|
||||
|
@ -58,7 +58,7 @@ export default {
|
|||
}
|
||||
},
|
||||
{
|
||||
loader: "sass-loader"
|
||||
loader: 'sass-loader'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import webpack from 'webpack';
|
||||
import HTMLWebpackPlugin from 'html-webpack-plugin';
|
||||
import FriendlyErrorsPlugin from 'friendly-errors-webpack-plugin';
|
||||
import baseConfig from './webpack.config'
|
||||
import env from '../../config/env'
|
||||
import baseConfig from './webpack.config';
|
||||
import env from '../../config/env';
|
||||
|
||||
export default {
|
||||
...baseConfig,
|
||||
|
@ -11,7 +11,7 @@ export default {
|
|||
'react-hot-loader/patch',
|
||||
'webpack-dev-server/client?http://localhost:4872',
|
||||
'webpack/hot/only-dev-server',
|
||||
`${env.SRC_ROOT}/webui/src/index.jsx`
|
||||
`${env.SRC_ROOT}/webui/src/index.jss`
|
||||
]
|
||||
},
|
||||
|
||||
|
@ -22,7 +22,7 @@ export default {
|
|||
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
__DEBUG__: true,
|
||||
'__DEBUG__': true,
|
||||
'process.env.NODE_ENV': '"development"'
|
||||
}),
|
||||
new HTMLWebpackPlugin({
|
||||
|
@ -37,4 +37,4 @@ export default {
|
|||
new webpack.NoEmitOnErrorsPlugin(),
|
||||
new FriendlyErrorsPlugin()
|
||||
]
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
import webpack from 'webpack';
|
||||
import HTMLWebpackPlugin from 'html-webpack-plugin';
|
||||
import ExtractTextPlugin from 'extract-text-webpack-plugin';
|
||||
import baseConfig from './webpack.config'
|
||||
import env from '../../config/env'
|
||||
import _ from 'lodash'
|
||||
import baseConfig from './webpack.config';
|
||||
import env from '../../config/env';
|
||||
import _ from 'lodash';
|
||||
|
||||
baseConfig.module.rules
|
||||
.filter(loader =>
|
||||
Array.isArray(loader.use) && loader.use.find(v => /css/.test(v.loader.split('-')[0]))
|
||||
).forEach(loader => {
|
||||
.filter((loader) =>
|
||||
Array.isArray(loader.use) && loader.use.find((v) => /css/.test(v.loader.split('-')[0]))
|
||||
).forEach((loader) => {
|
||||
loader.use = ExtractTextPlugin.extract({
|
||||
fallback: 'style-loader',
|
||||
use: _.tail(loader.use)
|
||||
})
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
export default {
|
||||
...baseConfig,
|
||||
entry: {
|
||||
main: `${env.SRC_ROOT}/webui/src/index.jsx`
|
||||
main: `${env.SRC_ROOT}/webui/src/index.js`
|
||||
},
|
||||
|
||||
output: {
|
||||
|
@ -27,7 +27,7 @@ export default {
|
|||
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
__DEBUG__: false,
|
||||
'__DEBUG__': false,
|
||||
'process.env.NODE_ENV': '"production"'
|
||||
}),
|
||||
new webpack.optimize.UglifyJsPlugin({
|
||||
|
@ -47,4 +47,4 @@ export default {
|
|||
}),
|
||||
new webpack.NoEmitOnErrorsPlugin()
|
||||
]
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
import React from 'react';
|
||||
import { HashRouter as Router, Route, Switch } from 'react-router-dom';
|
||||
import {HashRouter as Router, Route, Switch} from 'react-router-dom';
|
||||
|
||||
import 'normalize.css'
|
||||
import 'normalize.css';
|
||||
|
||||
import 'element-theme-default'
|
||||
import { i18n } from 'element-react'
|
||||
import locale from 'element-react/src/locale/lang/en'
|
||||
import 'element-theme-default';
|
||||
import {i18n} from 'element-react';
|
||||
import locale from 'element-react/src/locale/lang/en';
|
||||
i18n.use(locale);
|
||||
|
||||
import Header from './components/Header'
|
||||
import Header from './components/Header';
|
||||
import Home from './modules/home';
|
||||
import Detail from './modules/detail';
|
||||
|
||||
import './styles/global.scss'
|
||||
import './styles/global.scss';
|
||||
|
||||
export default class App extends React.Component {
|
||||
render() {
|
|
@ -1,10 +1,10 @@
|
|||
import React from 'react';
|
||||
import { Button, Dialog, Input, MessageBox } from 'element-react';
|
||||
import {Button, Dialog, Input, MessageBox} from 'element-react';
|
||||
import styled from 'styled-components';
|
||||
import API from '../../../utils/api';
|
||||
import storage from '../../../utils/storage';
|
||||
import _ from 'lodash';
|
||||
import { Link } from 'react-router-dom';
|
||||
import {Link} from 'react-router-dom';
|
||||
|
||||
import classes from './header.scss';
|
||||
|
||||
|
@ -16,7 +16,7 @@ const SetupGuide = styled.figure`
|
|||
line-height: 18px;
|
||||
padding: 8px 0;
|
||||
color: #f9f2f4;
|
||||
`
|
||||
`;
|
||||
|
||||
export default class Header extends React.Component {
|
||||
state = {
|
||||
|
@ -25,25 +25,25 @@ export default class Header extends React.Component {
|
|||
password: ''
|
||||
}
|
||||
|
||||
constructor (props) {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.toggleLoginModal = this.toggleLoginModal.bind(this);
|
||||
this.handleSubmit = this.handleSubmit.bind(this);
|
||||
}
|
||||
|
||||
toggleLoginModal () {
|
||||
toggleLoginModal() {
|
||||
this.setState({
|
||||
showLogin: !this.state.showLogin
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
handleInput (name, e) {
|
||||
handleInput(name, e) {
|
||||
this.setState({
|
||||
[name]: e
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
async handleSubmit () {
|
||||
async handleSubmit() {
|
||||
if (this.state.username === '' || this.state.password === '') {
|
||||
return MessageBox.alert('Username or password can\'t be empty!');
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ export default class Header extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
get isTokenExpire () {
|
||||
get isTokenExpire() {
|
||||
let token = storage.getItem('token');
|
||||
if (!_.isString(token)) return true;
|
||||
let payload = token.split('.')[1];
|
||||
|
@ -90,12 +90,12 @@ export default class Header extends React.Component {
|
|||
return expired;
|
||||
}
|
||||
|
||||
handleLogout () {
|
||||
handleLogout() {
|
||||
storage.clear();
|
||||
location.reload();
|
||||
}
|
||||
|
||||
renderUserActionButton () {
|
||||
renderUserActionButton() {
|
||||
if (!this.isTokenExpire) { // TODO: Check jwt token expire
|
||||
return (
|
||||
<div className={ classes.welcome }>
|
||||
|
@ -103,9 +103,9 @@ export default class Header extends React.Component {
|
|||
|
||||
<Button type="danger" onClick={this.handleLogout}>Logout</Button>
|
||||
</div>
|
||||
)
|
||||
);
|
||||
} else {
|
||||
return <Button type="danger" style={ {marginLeft: 'auto'} } onClick={ this.toggleLoginModal }>Login</Button>
|
||||
return <Button type="danger" style={ {marginLeft: 'auto'} } onClick={ this.toggleLoginModal }>Login</Button>;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3,13 +3,13 @@ import PropTypes from 'prop-types';
|
|||
import {Tag} from 'element-react';
|
||||
import {Link} from 'react-router-dom';
|
||||
|
||||
import classes from './package.scss'
|
||||
import classes from './package.scss';
|
||||
export default class Package extends React.Component {
|
||||
static propTypes = {
|
||||
package: PropTypes.object
|
||||
}
|
||||
|
||||
render () {
|
||||
render() {
|
||||
let {package: pkg} = this.props;
|
||||
|
||||
return (
|
|
@ -1,6 +1,6 @@
|
|||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import styled from 'styled-components'
|
||||
import styled from 'styled-components';
|
||||
|
||||
import Package from '../Package';
|
||||
|
||||
|
@ -9,30 +9,30 @@ const NoPackage = styled.li`
|
|||
line-height: 3;
|
||||
font-size: 20px;
|
||||
color: lightgrey;
|
||||
`
|
||||
`;
|
||||
|
||||
const PackageRow = styled.li`
|
||||
border-bottom: 1px solid #e4e8f1;
|
||||
list-style: none;
|
||||
`
|
||||
`;
|
||||
|
||||
const PackageContainer = styled.ul`
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
`
|
||||
`;
|
||||
|
||||
export default class PackageList extends React.Component {
|
||||
static propTypes = {
|
||||
packages: PropTypes.array
|
||||
}
|
||||
|
||||
renderList () {
|
||||
renderList() {
|
||||
return this.props.packages.map((pkg, i)=> (
|
||||
<PackageRow key={i}><Package package={pkg} /></PackageRow>
|
||||
))
|
||||
));
|
||||
}
|
||||
|
||||
render () {
|
||||
render() {
|
||||
return (
|
||||
<PackageContainer>
|
||||
{
|
||||
|
@ -41,6 +41,6 @@ export default class PackageList extends React.Component {
|
|||
<NoPackage>No Package Available</NoPackage>
|
||||
}
|
||||
</PackageContainer>
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
|
@ -2,11 +2,11 @@ import '../utils/__setPublicPath__';
|
|||
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import { AppContainer } from 'react-hot-loader'
|
||||
import {AppContainer} from 'react-hot-loader';
|
||||
|
||||
import App from './App'
|
||||
import App from './app';
|
||||
|
||||
let rootNode = document.getElementById('root')
|
||||
let rootNode = document.getElementById('root');
|
||||
|
||||
let renderApp = (Component) => {
|
||||
ReactDOM.render(
|
||||
|
@ -14,13 +14,13 @@ let renderApp = (Component) => {
|
|||
<Component/>
|
||||
</AppContainer>,
|
||||
rootNode
|
||||
)
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
renderApp(App);
|
||||
|
||||
if (module.hot) {
|
||||
module.hot.accept('./App', () => {
|
||||
renderApp(App)
|
||||
})
|
||||
renderApp(App);
|
||||
});
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
import React from 'react';
|
||||
import API from '../../../utils/api';
|
||||
import { Loading } from 'element-react';
|
||||
import {Loading} from 'element-react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import classes from './detail.scss';
|
||||
|
@ -28,15 +28,15 @@ export default class Detail extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
renderReadMe () {
|
||||
renderReadMe() {
|
||||
if (this.state.readMe) {
|
||||
return (
|
||||
<div className="markdown-body" dangerouslySetInnerHTML={{__html: this.state.readMe}}/>
|
||||
)
|
||||
);
|
||||
} else {
|
||||
return (
|
||||
<Loading text="Loading..." />
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -47,6 +47,6 @@ export default class Detail extends React.Component {
|
|||
<hr/>
|
||||
{this.renderReadMe()}
|
||||
</div>
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,17 +1,17 @@
|
|||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Loading, MessageBox } from 'element-react';
|
||||
import {Loading, MessageBox} from 'element-react';
|
||||
|
||||
import API from '../../../utils/api';
|
||||
|
||||
import PackageList from '../../components/PackageList'
|
||||
import PackageList from '../../components/PackageList';
|
||||
|
||||
import classes from './home.scss';
|
||||
|
||||
|
||||
export default class Home extends React.Component {
|
||||
static propTypes = {
|
||||
children: PropTypes.element
|
||||
children: PropTypes.element
|
||||
}
|
||||
|
||||
state = {
|
||||
|
@ -19,16 +19,16 @@ export default class Home extends React.Component {
|
|||
query: ''
|
||||
}
|
||||
|
||||
constructor (props) {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.handleSearchInput = this.handleSearchInput.bind(this);
|
||||
}
|
||||
|
||||
componentDidMount () {
|
||||
componentDidMount() {
|
||||
this.loadPackages();
|
||||
}
|
||||
|
||||
componentDidUpdate (prevProps, prevState) {
|
||||
componentDidUpdate(prevProps, prevState) {
|
||||
if (prevState.query !== this.state.query) {
|
||||
if (this.req && this.req.abort) this.req.abort();
|
||||
this.setState({
|
||||
|
@ -38,12 +38,12 @@ export default class Home extends React.Component {
|
|||
if (prevState.query !== '' && this.state.query === '') {
|
||||
this.loadPackages();
|
||||
} else {
|
||||
this.searchPackage(this.state.query)
|
||||
this.searchPackage(this.state.query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async loadPackages () {
|
||||
async loadPackages() {
|
||||
try {
|
||||
this.req = await API.get('packages');
|
||||
|
||||
|
@ -62,7 +62,7 @@ export default class Home extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
async searchPackage (query) {
|
||||
async searchPackage(query) {
|
||||
try {
|
||||
this.req = await API.get(`/search/${query}`);
|
||||
|
||||
|
@ -78,29 +78,29 @@ export default class Home extends React.Component {
|
|||
type: 'error',
|
||||
title: 'Warning',
|
||||
message: 'Unable to get search result, please try again later.'
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
handleSearchInput (e) {
|
||||
handleSearchInput(e) {
|
||||
this.setState({
|
||||
query: e.target.value
|
||||
});
|
||||
}
|
||||
|
||||
renderLoading () {
|
||||
renderLoading() {
|
||||
return (
|
||||
<Loading text="Loading..." />
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
renderPackageList () {
|
||||
renderPackageList() {
|
||||
return (
|
||||
<div>
|
||||
<h1 className={ classes.listTitle }>Available Packages</h1>
|
||||
<PackageList packages={this.state.packages} />
|
||||
</div>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
render() {
|
||||
|
@ -114,6 +114,6 @@ export default class Home extends React.Component {
|
|||
/>
|
||||
{ this.state.loading ? this.renderLoading() : this.renderPackageList() }
|
||||
</div>
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
import storage from './storage';
|
||||
import axios from 'axios'
|
||||
import axios from 'axios';
|
||||
|
||||
class API {
|
||||
constructor () {
|
||||
['get', 'delete', 'post', 'put', 'patch'].map(method => {
|
||||
constructor() {
|
||||
['get', 'delete', 'post', 'put', 'patch'].map((method) => {
|
||||
this[method] = (url, options = {}) => {
|
||||
if (!window.VERDACCIO_API_URL) {
|
||||
throw new Error('VERDACCIO_API_URL is not defined!');
|
||||
|
@ -16,7 +16,7 @@ class API {
|
|||
options.headers.authorization = token;
|
||||
}
|
||||
|
||||
if (!['http://', 'https://', '//'].some(prefix => url.startsWith(prefix))) {
|
||||
if (!['http://', 'https://', '//'].some((prefix) => url.startsWith(prefix))) {
|
||||
url = window.VERDACCIO_API_URL + url;
|
||||
}
|
||||
|
||||
|
@ -25,8 +25,8 @@ class API {
|
|||
url,
|
||||
...options
|
||||
});
|
||||
}
|
||||
})
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -9,4 +9,4 @@ try {
|
|||
storage = memoryStorage;
|
||||
}
|
||||
|
||||
export default storage
|
||||
export default storage;
|
||||
|
|
|
@ -1,15 +1,23 @@
|
|||
# vim: syntax=yaml
|
||||
|
||||
extends: ["eslint:recommended"]
|
||||
|
||||
env:
|
||||
node: true
|
||||
mocha: true
|
||||
es6: true
|
||||
|
||||
rules:
|
||||
valid-jsdoc: 0
|
||||
no-redeclare: 1
|
||||
no-console: 1
|
||||
no-useless-escape: 0
|
||||
|
||||
{
|
||||
"extends": [
|
||||
"eslint:recommended"
|
||||
],
|
||||
"env": {
|
||||
"node": true,
|
||||
"mocha": true,
|
||||
"es6": true
|
||||
},
|
||||
"rules": {
|
||||
"valid-jsdoc": 0,
|
||||
"no-redeclare": 1,
|
||||
"no-console": [
|
||||
2,
|
||||
{
|
||||
"allow": [
|
||||
"log"
|
||||
]
|
||||
}
|
||||
],
|
||||
"no-useless-escape": 0
|
||||
}
|
||||
}
|
||||
|
|
173
yarn.lock
173
yarn.lock
|
@ -67,7 +67,7 @@ ajv@^4.7.0, ajv@^4.9.1:
|
|||
co "^4.6.0"
|
||||
json-stable-stringify "^1.0.1"
|
||||
|
||||
ajv@^5.0.0, ajv@^5.1.5:
|
||||
ajv@^5.0.0, ajv@^5.1.5, ajv@^5.2.0:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.npmjs.org/ajv/-/ajv-5.2.1.tgz#dcd03045175883ba1b636e5ae9ec3df9ab85323a"
|
||||
dependencies:
|
||||
|
@ -244,7 +244,7 @@ async-validator@^1.7.1:
|
|||
dependencies:
|
||||
babel-runtime "6.x"
|
||||
|
||||
async@^0.9.0, async@~0.9.0:
|
||||
async@^0.9.0:
|
||||
version "0.9.2"
|
||||
resolved "https://registry.npmjs.org/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
|
||||
|
||||
|
@ -252,7 +252,7 @@ async@^1.4.0, async@^1.5.2:
|
|||
version "1.5.2"
|
||||
resolved "https://registry.npmjs.org/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
|
||||
|
||||
async@^2.0.1, async@^2.1.2, async@^2.1.5:
|
||||
async@^2.0.1, async@^2.1.2, async@^2.1.5, async@^2.4.1:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.npmjs.org/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d"
|
||||
dependencies:
|
||||
|
@ -281,14 +281,14 @@ aws4@^1.2.1:
|
|||
version "1.6.0"
|
||||
resolved "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
|
||||
|
||||
axios@^0.16.2:
|
||||
axios@0.16.2:
|
||||
version "0.16.2"
|
||||
resolved "https://registry.npmjs.org/axios/-/axios-0.16.2.tgz#ba4f92f17167dfbab40983785454b9ac149c3c6d"
|
||||
dependencies:
|
||||
follow-redirects "^1.2.3"
|
||||
is-buffer "^1.1.5"
|
||||
|
||||
babel-cli@^6.24.1:
|
||||
babel-cli@6.24.1:
|
||||
version "6.24.1"
|
||||
resolved "https://registry.npmjs.org/babel-cli/-/babel-cli-6.24.1.tgz#207cd705bba61489b2ea41b5312341cf6aca2283"
|
||||
dependencies:
|
||||
|
@ -317,7 +317,7 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.22.0:
|
|||
esutils "^2.0.2"
|
||||
js-tokens "^3.0.0"
|
||||
|
||||
babel-core@^6.24.1, babel-core@^6.25.0:
|
||||
babel-core@6.25.0, babel-core@^6.24.1:
|
||||
version "6.25.0"
|
||||
resolved "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729"
|
||||
dependencies:
|
||||
|
@ -341,7 +341,7 @@ babel-core@^6.24.1, babel-core@^6.25.0:
|
|||
slash "^1.0.0"
|
||||
source-map "^0.5.0"
|
||||
|
||||
babel-eslint@^7.2.3:
|
||||
babel-eslint@7.2.3:
|
||||
version "7.2.3"
|
||||
resolved "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
|
||||
dependencies:
|
||||
|
@ -489,7 +489,7 @@ babel-helpers@^6.24.1:
|
|||
babel-runtime "^6.22.0"
|
||||
babel-template "^6.24.1"
|
||||
|
||||
babel-loader@^7.1.1:
|
||||
babel-loader@7.1.1:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.1.tgz#b87134c8b12e3e4c2a94e0546085bc680a2b8488"
|
||||
dependencies:
|
||||
|
@ -509,7 +509,7 @@ babel-plugin-check-es2015-constants@^6.22.0:
|
|||
dependencies:
|
||||
babel-runtime "^6.22.0"
|
||||
|
||||
babel-plugin-flow-runtime@^0.11.1:
|
||||
babel-plugin-flow-runtime@0.11.1:
|
||||
version "0.11.1"
|
||||
resolved "https://registry.npmjs.org/babel-plugin-flow-runtime/-/babel-plugin-flow-runtime-0.11.1.tgz#5bccef681c75a126d6c81db3560dabf075e19d22"
|
||||
dependencies:
|
||||
|
@ -585,7 +585,7 @@ babel-plugin-transform-class-properties@^6.24.1:
|
|||
babel-runtime "^6.22.0"
|
||||
babel-template "^6.24.1"
|
||||
|
||||
babel-plugin-transform-decorators-legacy@^1.3.4:
|
||||
babel-plugin-transform-decorators-legacy@1.3.4:
|
||||
version "1.3.4"
|
||||
resolved "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz#741b58f6c5bce9e6027e0882d9c994f04f366925"
|
||||
dependencies:
|
||||
|
@ -827,7 +827,7 @@ babel-plugin-transform-regenerator@^6.22.0:
|
|||
dependencies:
|
||||
regenerator-transform "0.9.11"
|
||||
|
||||
babel-plugin-transform-runtime@^6.23.0:
|
||||
babel-plugin-transform-runtime@6.23.0:
|
||||
version "6.23.0"
|
||||
resolved "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee"
|
||||
dependencies:
|
||||
|
@ -848,9 +848,9 @@ babel-polyfill@6.23.0, babel-polyfill@^6.23.0:
|
|||
core-js "^2.4.0"
|
||||
regenerator-runtime "^0.10.0"
|
||||
|
||||
babel-preset-env@^1.5.2:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.0.tgz#2de1c782a780a0a5d605d199c957596da43c44e4"
|
||||
babel-preset-env@1.5.2:
|
||||
version "1.5.2"
|
||||
resolved "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.5.2.tgz#cd4ae90a6e94b709f97374b33e5f8b983556adef"
|
||||
dependencies:
|
||||
babel-plugin-check-es2015-constants "^6.22.0"
|
||||
babel-plugin-syntax-trailing-function-commas "^6.22.0"
|
||||
|
@ -883,13 +883,13 @@ babel-preset-env@^1.5.2:
|
|||
invariant "^2.2.2"
|
||||
semver "^5.3.0"
|
||||
|
||||
babel-preset-flow@^6.23.0:
|
||||
babel-preset-flow@6.23.0, babel-preset-flow@^6.23.0:
|
||||
version "6.23.0"
|
||||
resolved "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d"
|
||||
dependencies:
|
||||
babel-plugin-transform-flow-strip-types "^6.22.0"
|
||||
|
||||
babel-preset-react@^6.24.1:
|
||||
babel-preset-react@6.24.1:
|
||||
version "6.24.1"
|
||||
resolved "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380"
|
||||
dependencies:
|
||||
|
@ -900,7 +900,7 @@ babel-preset-react@^6.24.1:
|
|||
babel-plugin-transform-react-jsx-source "^6.22.0"
|
||||
babel-preset-flow "^6.23.0"
|
||||
|
||||
babel-preset-stage-2@^6.24.1:
|
||||
babel-preset-stage-2@6.24.1:
|
||||
version "6.24.1"
|
||||
resolved "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1"
|
||||
dependencies:
|
||||
|
@ -909,7 +909,7 @@ babel-preset-stage-2@^6.24.1:
|
|||
babel-plugin-transform-decorators "^6.24.1"
|
||||
babel-preset-stage-3 "^6.24.1"
|
||||
|
||||
babel-preset-stage-3@^6.24.1:
|
||||
babel-preset-stage-3@6.24.1, babel-preset-stage-3@^6.24.1:
|
||||
version "6.24.1"
|
||||
resolved "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395"
|
||||
dependencies:
|
||||
|
@ -931,7 +931,7 @@ babel-register@^6.24.1:
|
|||
mkdirp "^0.5.1"
|
||||
source-map-support "^0.4.2"
|
||||
|
||||
babel-runtime@6.x, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0:
|
||||
babel-runtime@6.23.0, babel-runtime@6.x, babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0:
|
||||
version "6.23.0"
|
||||
resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
|
||||
dependencies:
|
||||
|
@ -1577,7 +1577,7 @@ cors@^2.8.3:
|
|||
object-assign "^4"
|
||||
vary "^1"
|
||||
|
||||
coveralls@^2.13.1:
|
||||
coveralls@2.13.1:
|
||||
version "2.13.1"
|
||||
resolved "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz#d70bb9acc1835ec4f063ff9dac5423c17b11f178"
|
||||
dependencies:
|
||||
|
@ -1665,7 +1665,7 @@ css-color-names@0.0.4:
|
|||
version "0.0.4"
|
||||
resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
|
||||
|
||||
css-loader@^0.28.4:
|
||||
css-loader@0.28.4:
|
||||
version "0.28.4"
|
||||
resolved "https://registry.npmjs.org/css-loader/-/css-loader-0.28.4.tgz#6cf3579192ce355e8b38d5f42dd7a1f2ec898d0f"
|
||||
dependencies:
|
||||
|
@ -2015,9 +2015,9 @@ electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.14:
|
|||
version "1.3.15"
|
||||
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz#08397934891cbcfaebbd18b82a95b5a481138369"
|
||||
|
||||
element-react@^1.0.16:
|
||||
version "1.0.17"
|
||||
resolved "https://registry.npmjs.org/element-react/-/element-react-1.0.17.tgz#2d1c13e7bf5ce1cffc311969fd9c284523aad03b"
|
||||
element-react@1.0.16:
|
||||
version "1.0.16"
|
||||
resolved "https://registry.npmjs.org/element-react/-/element-react-1.0.16.tgz#f36d0ce693bb7b8fa9d4cfa10f3557952df3f146"
|
||||
dependencies:
|
||||
async-validator "^1.7.1"
|
||||
classnames "^2.2.5"
|
||||
|
@ -2028,7 +2028,7 @@ element-react@^1.0.16:
|
|||
react-transition-group "^1.2.0"
|
||||
throttle-debounce "^1.0.1"
|
||||
|
||||
element-theme-default@^1.3.7:
|
||||
element-theme-default@1.3.7:
|
||||
version "1.3.7"
|
||||
resolved "https://registry.npmjs.org/element-theme-default/-/element-theme-default-1.3.7.tgz#71a2fc6b743a1c66b26c493014a613959bbcca0e"
|
||||
|
||||
|
@ -2164,9 +2164,9 @@ escope@^3.6.0:
|
|||
esrecurse "^4.1.0"
|
||||
estraverse "^4.1.1"
|
||||
|
||||
eslint-config-google@^0.8.0:
|
||||
version "0.8.1"
|
||||
resolved "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.8.1.tgz#a97eab3a5f794e9d5bb35cfdca08059e79c936aa"
|
||||
eslint-config-google@0.8.0:
|
||||
version "0.8.0"
|
||||
resolved "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.8.0.tgz#288532c2b7834d25def63d51fa5e18e6b9ac3a4d"
|
||||
|
||||
eslint-import-resolver-node@^0.3.1:
|
||||
version "0.3.1"
|
||||
|
@ -2175,9 +2175,9 @@ eslint-import-resolver-node@^0.3.1:
|
|||
debug "^2.6.8"
|
||||
resolve "^1.2.0"
|
||||
|
||||
eslint-loader@^1.8.0:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.9.0.tgz#7e1be9feddca328d3dcfaef1ad49d5beffe83a13"
|
||||
eslint-loader@1.8.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.8.0.tgz#8261f08cca4bd2ea263b77733e93cf0f21e20aa9"
|
||||
dependencies:
|
||||
loader-fs-cache "^1.0.0"
|
||||
loader-utils "^1.0.2"
|
||||
|
@ -2185,39 +2185,39 @@ eslint-loader@^1.8.0:
|
|||
object-hash "^1.1.4"
|
||||
rimraf "^2.6.1"
|
||||
|
||||
eslint-module-utils@^2.1.1:
|
||||
eslint-module-utils@^2.0.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449"
|
||||
dependencies:
|
||||
debug "^2.6.8"
|
||||
pkg-dir "^1.0.0"
|
||||
|
||||
eslint-plugin-babel@^4.1.1:
|
||||
eslint-plugin-babel@4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-4.1.1.tgz#ef285c87039b67beb3bbd227f5b0eed4fb376b87"
|
||||
|
||||
eslint-plugin-flowtype@^2.34.1:
|
||||
version "2.34.1"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.34.1.tgz#ea109175645b05d37baeac53b9b65066d79b9446"
|
||||
eslint-plugin-flowtype@2.35.0:
|
||||
version "2.35.0"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.35.0.tgz#d17494f0ae8b727c632d8b9d4b4a848e7e0c04af"
|
||||
dependencies:
|
||||
lodash "^4.15.0"
|
||||
|
||||
eslint-plugin-import@^2.6.1:
|
||||
version "2.7.0"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz#21de33380b9efb55f5ef6d2e210ec0e07e7fa69f"
|
||||
eslint-plugin-import@2.6.1:
|
||||
version "2.6.1"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.6.1.tgz#f580be62bb809421d46e338372764afcc9f59bf6"
|
||||
dependencies:
|
||||
builtin-modules "^1.1.1"
|
||||
contains-path "^0.1.0"
|
||||
debug "^2.6.8"
|
||||
doctrine "1.5.0"
|
||||
eslint-import-resolver-node "^0.3.1"
|
||||
eslint-module-utils "^2.1.1"
|
||||
eslint-module-utils "^2.0.0"
|
||||
has "^1.0.1"
|
||||
lodash.cond "^4.3.0"
|
||||
minimatch "^3.0.3"
|
||||
read-pkg-up "^2.0.0"
|
||||
|
||||
eslint-plugin-react@^7.1.0:
|
||||
eslint-plugin-react@7.1.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.1.0.tgz#27770acf39f5fd49cd0af4083ce58104eb390d4c"
|
||||
dependencies:
|
||||
|
@ -2232,10 +2232,11 @@ eslint-scope@^3.7.1:
|
|||
esrecurse "^4.1.0"
|
||||
estraverse "^4.1.1"
|
||||
|
||||
eslint@^4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.npmjs.org/eslint/-/eslint-4.1.1.tgz#facbdfcfe3e0facd3a8b80dc98c4e6c13ae582df"
|
||||
eslint@4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.npmjs.org/eslint/-/eslint-4.2.0.tgz#a2b3184111b198e02e9c7f3cca625a5e01c56b3d"
|
||||
dependencies:
|
||||
ajv "^5.2.0"
|
||||
babel-code-frame "^6.22.0"
|
||||
chalk "^1.1.3"
|
||||
concat-stream "^1.6.0"
|
||||
|
@ -2252,7 +2253,6 @@ eslint@^4.1.0:
|
|||
ignore "^3.3.3"
|
||||
imurmurhash "^0.1.4"
|
||||
inquirer "^3.0.6"
|
||||
is-my-json-valid "^2.16.0"
|
||||
is-resolvable "^1.0.0"
|
||||
js-yaml "^3.8.4"
|
||||
json-stable-stringify "^1.0.1"
|
||||
|
@ -2412,12 +2412,12 @@ extglob@^0.3.1:
|
|||
dependencies:
|
||||
is-extglob "^1.0.0"
|
||||
|
||||
extract-text-webpack-plugin@^2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-2.1.2.tgz#756ef4efa8155c3681833fbc34da53b941746d6c"
|
||||
extract-text-webpack-plugin@3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0.tgz#90caa7907bc449f335005e3ac7532b41b00de612"
|
||||
dependencies:
|
||||
async "^2.1.2"
|
||||
loader-utils "^1.0.2"
|
||||
async "^2.4.1"
|
||||
loader-utils "^1.1.0"
|
||||
schema-utils "^0.3.0"
|
||||
webpack-sources "^1.0.1"
|
||||
|
||||
|
@ -2474,7 +2474,7 @@ file-entry-cache@^2.0.0:
|
|||
flat-cache "^1.2.1"
|
||||
object-assign "^4.0.1"
|
||||
|
||||
file-loader@^0.11.2:
|
||||
file-loader@0.11.2:
|
||||
version "0.11.2"
|
||||
resolved "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34"
|
||||
dependencies:
|
||||
|
@ -2552,7 +2552,7 @@ flow-config-parser@^0.3.0:
|
|||
version "0.3.0"
|
||||
resolved "https://registry.npmjs.org/flow-config-parser/-/flow-config-parser-0.3.0.tgz#704916efba88cd2518ab4d8f933079571276138f"
|
||||
|
||||
flow-runtime@^0.13.0:
|
||||
flow-runtime@0.13.0:
|
||||
version "0.13.0"
|
||||
resolved "https://registry.npmjs.org/flow-runtime/-/flow-runtime-0.13.0.tgz#3dfba528c73be961303501945c7b8a782f733448"
|
||||
|
||||
|
@ -2609,7 +2609,7 @@ fresh@0.5.0:
|
|||
version "0.5.0"
|
||||
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
|
||||
|
||||
friendly-errors-webpack-plugin@^1.6.1:
|
||||
friendly-errors-webpack-plugin@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.6.1.tgz#e32781c4722f546a06a9b5d7a7cfa28520375d70"
|
||||
dependencies:
|
||||
|
@ -2959,7 +2959,7 @@ html-minifier@^3.2.3:
|
|||
relateurl "0.2.x"
|
||||
uglify-js "3.0.x"
|
||||
|
||||
html-webpack-plugin@^2.29.0:
|
||||
html-webpack-plugin@2.29.0:
|
||||
version "2.29.0"
|
||||
resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.29.0.tgz#e987f421853d3b6938c8c4c8171842e5fd17af23"
|
||||
dependencies:
|
||||
|
@ -3212,7 +3212,7 @@ is-glob@^3.1.0:
|
|||
dependencies:
|
||||
is-extglob "^2.1.0"
|
||||
|
||||
is-my-json-valid@^2.12.4, is-my-json-valid@^2.16.0:
|
||||
is-my-json-valid@^2.12.4:
|
||||
version "2.16.0"
|
||||
resolved "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
|
||||
dependencies:
|
||||
|
@ -3600,7 +3600,7 @@ loader-runner@^2.3.0:
|
|||
version "2.3.0"
|
||||
resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
|
||||
|
||||
loader-utils@^0.2.16, loader-utils@~0.2.2, loader-utils@~0.2.3:
|
||||
loader-utils@^0.2.16, loader-utils@~0.2.2:
|
||||
version "0.2.17"
|
||||
resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
|
||||
dependencies:
|
||||
|
@ -3617,7 +3617,7 @@ loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0:
|
|||
emojis-list "^2.0.0"
|
||||
json5 "^0.5.0"
|
||||
|
||||
localstorage-memory@^1.0.2:
|
||||
localstorage-memory@1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/localstorage-memory/-/localstorage-memory-1.0.2.tgz#cd4a8f210e55dd519c929f4b4cc82829b58f9a51"
|
||||
|
||||
|
@ -3939,7 +3939,7 @@ mocha-lcov-reporter@1.3.0:
|
|||
version "1.3.0"
|
||||
resolved "https://registry.npmjs.org/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz#469bdef4f8afc9a116056f079df6182d0afb0384"
|
||||
|
||||
mocha@^3.4.2:
|
||||
mocha@3.4.2:
|
||||
version "3.4.2"
|
||||
resolved "https://registry.npmjs.org/mocha/-/mocha-3.4.2.tgz#d0ef4d332126dbf18d0d640c9b382dd48be97594"
|
||||
dependencies:
|
||||
|
@ -4093,7 +4093,7 @@ node-pre-gyp@^0.6.36:
|
|||
tar "^2.2.1"
|
||||
tar-pack "^3.4.0"
|
||||
|
||||
node-sass@^4.5.3:
|
||||
node-sass@4.5.3:
|
||||
version "4.5.3"
|
||||
resolved "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz#d09c9d1179641239d1b97ffc6231fdcec53e1568"
|
||||
dependencies:
|
||||
|
@ -4157,7 +4157,7 @@ normalize-url@^1.4.0:
|
|||
query-string "^4.1.0"
|
||||
sort-keys "^1.0.0"
|
||||
|
||||
normalize.css@^7.0.0:
|
||||
normalize.css@7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.npmjs.org/normalize.css/-/normalize.css-7.0.0.tgz#abfb1dd82470674e0322b53ceb1aaf412938e4bf"
|
||||
|
||||
|
@ -4190,7 +4190,7 @@ number-is-nan@^1.0.0:
|
|||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
|
||||
|
||||
nyc@^11.0.3:
|
||||
nyc@11.0.3:
|
||||
version "11.0.3"
|
||||
resolved "https://registry.npmjs.org/nyc/-/nyc-11.0.3.tgz#0c28bc669a851621709bf7a08503034bee3812b6"
|
||||
dependencies:
|
||||
|
@ -4292,7 +4292,7 @@ optionator@^0.8.2:
|
|||
type-check "~0.3.2"
|
||||
wordwrap "~1.0.0"
|
||||
|
||||
ora@^1.3.0:
|
||||
ora@1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.npmjs.org/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a"
|
||||
dependencies:
|
||||
|
@ -4810,7 +4810,7 @@ promise@^7.1.1:
|
|||
dependencies:
|
||||
asap "~2.0.3"
|
||||
|
||||
prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6:
|
||||
prop-types@15.5.10, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6:
|
||||
version "15.5.10"
|
||||
resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154"
|
||||
dependencies:
|
||||
|
@ -4929,7 +4929,7 @@ react-deep-force-update@^2.0.1:
|
|||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.0.1.tgz#4f7f6c12c3e7de42f345992a3c518236fa1ecad3"
|
||||
|
||||
react-dom@^15.6.1:
|
||||
react-dom@15.6.1, react-dom@^15.6.1:
|
||||
version "15.6.1"
|
||||
resolved "https://registry.npmjs.org/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470"
|
||||
dependencies:
|
||||
|
@ -4938,7 +4938,7 @@ react-dom@^15.6.1:
|
|||
object-assign "^4.1.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
react-hot-loader@^3.0.0-beta.7:
|
||||
react-hot-loader@3.0.0-beta.7:
|
||||
version "3.0.0-beta.7"
|
||||
resolved "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.0.0-beta.7.tgz#d5847b8165d731c4d5b30d86d5d4716227a0fa83"
|
||||
dependencies:
|
||||
|
@ -4955,7 +4955,7 @@ react-proxy@^3.0.0-alpha.0:
|
|||
dependencies:
|
||||
lodash "^4.6.1"
|
||||
|
||||
react-router-dom@^4.1.1:
|
||||
react-router-dom@4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.1.1.tgz#3021ade1f2c160af97cf94e25594c5f294583025"
|
||||
dependencies:
|
||||
|
@ -4986,7 +4986,7 @@ react-transition-group@^1.2.0:
|
|||
prop-types "^15.5.6"
|
||||
warning "^3.0.0"
|
||||
|
||||
react@^15.6.1:
|
||||
react@15.6.1, react@^15.6.1:
|
||||
version "15.6.1"
|
||||
resolved "https://registry.npmjs.org/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df"
|
||||
dependencies:
|
||||
|
@ -5278,7 +5278,7 @@ right-align@^0.1.1:
|
|||
dependencies:
|
||||
align-text "^0.1.1"
|
||||
|
||||
rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1:
|
||||
rimraf@2, rimraf@2.6.1, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1:
|
||||
version "2.6.1"
|
||||
resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
|
||||
dependencies:
|
||||
|
@ -5297,13 +5297,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
|
|||
hash-base "^2.0.0"
|
||||
inherits "^2.0.1"
|
||||
|
||||
ruby-sass-loader@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.npmjs.org/ruby-sass-loader/-/ruby-sass-loader-0.4.0.tgz#e78c2a26fc1ed3134d1a1e98c4fedb2a1f0e34ec"
|
||||
dependencies:
|
||||
async "~0.9.0"
|
||||
loader-utils "~0.2.3"
|
||||
|
||||
run-async@^2.2.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
|
||||
|
@ -5337,7 +5330,7 @@ sass-graph@^2.1.1:
|
|||
scss-tokenizer "^0.2.3"
|
||||
yargs "^7.0.0"
|
||||
|
||||
sass-loader@^6.0.6:
|
||||
sass-loader@6.0.6:
|
||||
version "6.0.6"
|
||||
resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz#e9d5e6c1f155faa32a4b26d7a9b7107c225e40f9"
|
||||
dependencies:
|
||||
|
@ -5502,7 +5495,7 @@ source-list-map@^2.0.0:
|
|||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085"
|
||||
|
||||
source-map-loader@^0.2.1:
|
||||
source-map-loader@0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.1.tgz#48126be9230bd47fad05e46a8c3c2e3d2dabe507"
|
||||
dependencies:
|
||||
|
@ -5714,14 +5707,14 @@ strip-json-comments@~2.0.1:
|
|||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
|
||||
|
||||
style-loader@^0.18.2:
|
||||
style-loader@0.18.2:
|
||||
version "0.18.2"
|
||||
resolved "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz#cc31459afbcd6d80b7220ee54b291a9fd66ff5eb"
|
||||
dependencies:
|
||||
loader-utils "^1.0.2"
|
||||
schema-utils "^0.3.0"
|
||||
|
||||
styled-components@^2.1.1:
|
||||
styled-components@2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.npmjs.org/styled-components/-/styled-components-2.1.1.tgz#7e9b5bc319ee3963b47aebb74f4658119ea9d484"
|
||||
dependencies:
|
||||
|
@ -5980,9 +5973,9 @@ upper-case@^1.1.1:
|
|||
version "1.1.3"
|
||||
resolved "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
|
||||
|
||||
url-loader@^0.5.8:
|
||||
version "0.5.9"
|
||||
resolved "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz#cc8fea82c7b906e7777019250869e569e995c295"
|
||||
url-loader@0.5.8:
|
||||
version "0.5.8"
|
||||
resolved "https://registry.npmjs.org/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5"
|
||||
dependencies:
|
||||
loader-utils "^1.0.2"
|
||||
mime "1.3.x"
|
||||
|
@ -6103,7 +6096,7 @@ wbuf@^1.1.0, wbuf@^1.7.2:
|
|||
dependencies:
|
||||
minimalistic-assert "^1.0.0"
|
||||
|
||||
webpack-dev-middleware@^1.11.0:
|
||||
webpack-dev-middleware@^1.10.2:
|
||||
version "1.11.0"
|
||||
resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz#09691d0973a30ad1f82ac73a12e2087f0a4754f9"
|
||||
dependencies:
|
||||
|
@ -6112,9 +6105,9 @@ webpack-dev-middleware@^1.11.0:
|
|||
path-is-absolute "^1.0.0"
|
||||
range-parser "^1.0.3"
|
||||
|
||||
webpack-dev-server@^2.5.0:
|
||||
version "2.5.1"
|
||||
resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.5.1.tgz#a02e726a87bb603db5d71abb7d6d2649bf10c769"
|
||||
webpack-dev-server@2.5.0:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.5.0.tgz#4d36a728b03b8b2afa48ed302428847cea2840ad"
|
||||
dependencies:
|
||||
ansi-html "0.0.7"
|
||||
bonjour "^3.5.0"
|
||||
|
@ -6135,7 +6128,7 @@ webpack-dev-server@^2.5.0:
|
|||
spdy "^3.4.1"
|
||||
strip-ansi "^3.0.0"
|
||||
supports-color "^3.1.1"
|
||||
webpack-dev-middleware "^1.11.0"
|
||||
webpack-dev-middleware "^1.10.2"
|
||||
yargs "^6.0.0"
|
||||
|
||||
webpack-sources@^1.0.1:
|
||||
|
@ -6145,9 +6138,9 @@ webpack-sources@^1.0.1:
|
|||
source-list-map "^2.0.0"
|
||||
source-map "~0.5.3"
|
||||
|
||||
webpack@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.npmjs.org/webpack/-/webpack-3.1.0.tgz#ac0675e500db835f9ab2369d29ba096f51ad0731"
|
||||
webpack@3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.npmjs.org/webpack/-/webpack-3.2.0.tgz#8b0cae0e1a9fd76bfbf0eab61a8c2ada848c312f"
|
||||
dependencies:
|
||||
acorn "^5.0.0"
|
||||
acorn-dynamic-import "^2.0.0"
|
||||
|
|
Loading…
Add table
Reference in a new issue