Skip to content
This repository has been archived by the owner on Dec 1, 2023. It is now read-only.

Commit

Permalink
add eslint
Browse files Browse the repository at this point in the history
  • Loading branch information
Steffan committed Dec 20, 2017
1 parent 952cc9d commit fe5b261
Show file tree
Hide file tree
Showing 27 changed files with 411 additions and 100 deletions.
3 changes: 3 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/node_modules
/dist
/test
44 changes: 44 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
module.exports = {
"root":true,
"env": {
"es6": true,
"browser": true,
"commonjs": true,
},
"extends": [
"eslint:recommended"
],
"parserOptions": {
"sourceType": "module"
},
"rules": {
"brace-style": ["error", "1tbs", {"allowSingleLine": true}],
"comma-style": "error",
"comma-spacing": "error",
"eqeqeq": ["off", "smart"],
"indent": "off",
"indent-legacy": ["error", 4, {"SwitchCase": 1}],
"key-spacing": "error",
"keyword-spacing": "error",
"linebreak-style": ["error", "unix"],
"no-multi-spaces": "error",
"no-trailing-spaces": "error",
"no-lone-blocks": "error",
"no-extend-native": "error",
"no-unused-vars": ["error", {"vars": "local", "args": "none"}],
"no-empty": ["error", {"allowEmptyCatch": true}],
"no-duplicate-imports": "error",
"no-array-constructor": "error",
"no-multiple-empty-lines": "error",
"no-template-curly-in-string": "error",
"no-console": "off",
"object-curly-spacing": "error",
"quotes": ["error", "single", {"avoidEscape": true}],
"semi": ["error", "always"],
"space-infix-ops": "error",
"space-unary-ops": "error",
"space-in-parens": "error",
"space-before-blocks": "error",
"template-curly-spacing": "error"
}
};
54 changes: 28 additions & 26 deletions build/build.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
/* eslint-env node */

var fs = require('fs');
var rollup = require('rollup');
var uglify = require('uglify-js');
var buble = require('rollup-plugin-buble');
var package = require('../package.json');
var {version} = require('../package.json');
var banner =
"/*!\n" +
" * vue-resource v" + package.version + "\n" +
" * https://github.com/pagekit/vue-resource\n" +
" * Released under the MIT License.\n" +
" */\n";
'/*!\n' +
' * vue-resource v' + version + '\n' +
' * https://github.com/pagekit/vue-resource\n' +
' * Released under the MIT License.\n' +
' */\n';

rollup.rollup({
input: 'src/index.js',
plugins: [buble()]
input: 'src/index.js',
plugins: [buble()]
})
.then(bundle =>
bundle.generate({
format: 'umd',
banner: banner,
name: 'VueResource'
format: 'umd',
banner: banner,
name: 'VueResource'
}).then(({code}) => write('dist/vue-resource.js', code, bundle))
)
.then(bundle =>
Expand All @@ -28,41 +30,41 @@ rollup.rollup({
)
.then(bundle =>
bundle.generate({
format: 'es',
banner: banner,
footer: 'export { Url, Http, Resource };'
format: 'es',
banner: banner,
footer: 'export { Url, Http, Resource };'
}).then(({code}) => write('dist/vue-resource.esm.js', code, bundle))
)
.then(bundle =>
bundle.generate({
format: 'cjs',
banner: banner
format: 'cjs',
banner: banner
}).then(({code}) => write('dist/vue-resource.common.js', code, bundle))
)
.catch(logError);

function read(path) {
return fs.readFileSync(path, 'utf8');
return fs.readFileSync(path, 'utf8');
}

function write(dest, code, bundle) {
return new Promise(function (resolve, reject) {
fs.writeFile(dest, code, function (err) {
if (err) return reject(err);
console.log(blue(dest) + ' ' + getSize(code));
resolve(bundle);
return new Promise(function (resolve, reject) {
fs.writeFile(dest, code, function (err) {
if (err) return reject(err);
console.log(blue(dest) + ' ' + getSize(code));
resolve(bundle);
});
});
});
}

function getSize(code) {
return (code.length / 1024).toFixed(2) + 'kb';
return (code.length / 1024).toFixed(2) + 'kb';
}

function logError(e) {
console.log(e);
console.log(e);
}

function blue(str) {
return '\x1b[1m\x1b[34m' + str + '\x1b[39m\x1b[22m';
return '\x1b[1m\x1b[34m' + str + '\x1b[39m\x1b[22m';
}
20 changes: 11 additions & 9 deletions build/release.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
/* eslint-env node */

var replace = require('replace-in-file');
var version = process.argv[2];

replace({
files: "bower.json",
from: /("version"\s*:\s*")\d+\.\d+\.\d+("\s*,)/g,
to: "$1" + version + "$2"
files: 'bower.json',
from: /("version"\s*:\s*")\d+\.\d+\.\d+("\s*,)/g,
to: '$1' + version + '$2'
});

replace({
files: "package.json",
from: /("version"\s*:\s*")\d+\.\d+\.\d+("\s*,)/g,
to: "$1" + version + "$2"
files: 'package.json',
from: /("version"\s*:\s*")\d+\.\d+\.\d+("\s*,)/g,
to: '$1' + version + '$2'
});

replace({
files: "README.md",
from: /(\/|@)\d+\.\d+\.\d+/g,
to: "$1" + version
files: 'README.md',
from: /(\/|@)\d+\.\d+\.\d+/g,
to: '$1' + version
});
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"devDependencies": {
"buble": "^0.18.0",
"buble-loader": "^0.4.1",
"eslint": "^4.13.1",
"generate-release": "^0.14.0",
"jasmine": "^2.8.0",
"jasmine-core": "^2.8.0",
Expand Down
2 changes: 1 addition & 1 deletion src/http/client/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import Promise from '../../promise';
import xhrClient from './xhr';
import nodeClient from './node';
import { warn, when, isObject, isFunction, inBrowser } from '../../util';
import {warn, when, isObject, isFunction, inBrowser} from '../../util';

export default function (context) {

Expand Down
9 changes: 4 additions & 5 deletions src/http/client/node.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*/

import Promise from '../../promise';
import { each, trim } from '../../util';
import {each, trim} from '../../util';

export default function (request) {

Expand All @@ -23,10 +23,9 @@ export default function (request) {
client(url, {body, method, headers}).then(handler = (resp) => {

var response = request.respondWith(resp.body, {
status: resp.statusCode,
statusText: trim(resp.statusMessage)
}
);
status: resp.statusCode,
statusText: trim(resp.statusMessage)
});

each(resp.headers, (value, name) => {
response.headers.set(name, value);
Expand Down
16 changes: 8 additions & 8 deletions src/http/client/xdr.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ export default function (request) {

var xdr = new XDomainRequest(), handler = ({type}) => {

var status = 0;
var status = 0;

if (type === 'load') {
status = 200;
} else if (type === 'error') {
status = 500;
}
if (type === 'load') {
status = 200;
} else if (type === 'error') {
status = 500;
}

resolve(request.respondWith(xdr.responseText, {status}));
};
resolve(request.respondWith(xdr.responseText, {status}));
};

request.abort = () => xdr.abort();

Expand Down
17 changes: 8 additions & 9 deletions src/http/client/xhr.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,25 @@
*/

import Promise from '../../promise';
import { each, trim } from '../../util';
import {each, trim} from '../../util';

export default function (request) {
return new Promise(resolve => {

var xhr = new XMLHttpRequest(), handler = (event) => {

var response = request.respondWith(
var response = request.respondWith(
'response' in xhr ? xhr.response : xhr.responseText, {
status: xhr.status === 1223 ? 204 : xhr.status, // IE9 status bug
statusText: xhr.status === 1223 ? 'No Content' : trim(xhr.statusText)
}
);
});

each(trim(xhr.getAllResponseHeaders()).split('\n'), row => {
response.headers.append(row.slice(0, row.indexOf(':')), row.slice(row.indexOf(':') + 1));
});
each(trim(xhr.getAllResponseHeaders()).split('\n'), row => {
response.headers.append(row.slice(0, row.indexOf(':')), row.slice(row.indexOf(':') + 1));
});

resolve(response);
};
resolve(response);
};

request.abort = () => xhr.abort();

Expand Down
10 changes: 5 additions & 5 deletions src/http/headers.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* HTTP Headers.
*/

import { each, trim, toLower } from '../util';
import {each, trim, toLower} from '../util';

export default class Headers {

Expand Down Expand Up @@ -32,7 +32,7 @@ export default class Headers {
this.map[normalizeName(getName(this.map, name) || name)] = [trim(value)];
}

append(name, value){
append(name, value) {

var list = this.map[getName(this.map, name)];

Expand All @@ -43,11 +43,11 @@ export default class Headers {
}
}

delete(name){
delete(name) {
delete this.map[getName(this.map, name)];
}

deleteAll(){
deleteAll() {
this.map = {};
}

Expand All @@ -67,7 +67,7 @@ function getName(map, name) {

function normalizeName(name) {

if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) {
if (/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(name)) {
throw new TypeError('Invalid character in header field name');
}

Expand Down
2 changes: 1 addition & 1 deletion src/http/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import header from './interceptor/header';
import Client from './client/index';
import Request from './request';
import Promise from '../promise';
import { assign, defaults, error, isString, isFunction } from '../util';
import {assign, defaults, error, isString, isFunction} from '../util';

export default function Http(options) {

Expand Down
2 changes: 1 addition & 1 deletion src/http/interceptor/before.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* Before Interceptor.
*/

import { isFunction } from '../../util';
import {isFunction} from '../../util';

export default function (request, next) {

Expand Down
2 changes: 1 addition & 1 deletion src/http/interceptor/cors.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import Url from '../../url/index';
import xdrClient from '../client/xdr';
import { inBrowser } from '../../util';
import {inBrowser} from '../../util';

const SUPPORTS_CORS = inBrowser && 'withCredentials' in new XMLHttpRequest();

Expand Down
2 changes: 1 addition & 1 deletion src/http/interceptor/form.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*/

import Url from '../../url/index';
import { isObject, isFormData } from '../../util';
import {isObject, isFormData} from '../../util';

export default function (request, next) {

Expand Down
2 changes: 1 addition & 1 deletion src/http/interceptor/header.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*/

import Http from '../index';
import { assign, each, toLower } from '../../util';
import {assign, each, toLower} from '../../util';

export default function (request, next) {

Expand Down
3 changes: 1 addition & 2 deletions src/http/interceptor/json.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
* JSON Interceptor.
*/

import Url from '../../url/index';
import { when, isObject } from '../../util';
import {when, isObject} from '../../util';

export default function (request, next) {

Expand Down
6 changes: 3 additions & 3 deletions src/http/request.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import Url from '../url/index';
import Headers from './headers';
import Response from './response';
import { assign, toUpper } from '../util';
import {assign, toUpper} from '../util';

export default class Request {

Expand All @@ -23,11 +23,11 @@ export default class Request {
}
}

getUrl(){
getUrl() {
return Url(this);
}

getBody(){
getBody() {
return this.body;
}

Expand Down
Loading

0 comments on commit fe5b261

Please sign in to comment.