Skip to content

Commit 41228c4

Browse files
author
Guillaume Chau
committed
Eslint
1 parent 499f5cc commit 41228c4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2792
-2361
lines changed

.babelrc

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"presets": [
3+
"env",
4+
"stage-2"
5+
]
6+
}

.eslintignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules

.eslintrc.js

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
module.exports = {
2+
root: true,
3+
parser: 'babel-eslint',
4+
parserOptions: {
5+
sourceType: 'module'
6+
},
7+
// https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
8+
extends: 'standard',
9+
// required to lint *.vue files
10+
/* plugins: [
11+
'html'
12+
], */
13+
env: {
14+
browser: true,
15+
},
16+
// Global vars
17+
globals: {
18+
'Package': true,
19+
'Meteor': true,
20+
'Tracker': true,
21+
},
22+
// add your custom rules here
23+
'rules': {
24+
// allow paren-less arrow functions
25+
'arrow-parens': 'off',
26+
// allow async-await
27+
'generator-star-spacing': 'off',
28+
// allow debugger during development
29+
'no-debugger': 'warn',
30+
// trailing comma
31+
'comma-dangle': ['error', 'always-multiline'],
32+
// beware of returning assignement
33+
'no-return-assign': 'off',
34+
'no-extend-native': 'warn',
35+
'no-undef': 'warn',
36+
'standard/no-callback-literal': 'warn',
37+
}
38+
}

package.json

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"name": "vue-meteor",
3+
"version": "0.1.0",
4+
"description": "Meteor + Vue stack",
5+
"scripts": {
6+
"eslint": "eslint --ext .js,.jsx,.vue packages"
7+
},
8+
"repository": {
9+
"type": "git",
10+
"url": "git+https://github.com/meteor-vue/vue-meteor.git"
11+
},
12+
"author": "Guillaume Chau <[email protected]>",
13+
"license": "ISC",
14+
"bugs": {
15+
"url": "https://github.com/meteor-vue/vue-meteor/issues"
16+
},
17+
"homepage": "https://github.com/meteor-vue/vue-meteor#readme",
18+
"devDependencies": {
19+
"babel-core": "^6.26.0",
20+
"babel-eslint": "^8.2.1",
21+
"babel-preset-env": "^1.6.1",
22+
"babel-preset-stage-2": "^6.24.1",
23+
"eslint": "^4.16.0",
24+
"eslint-config-standard": "^11.0.0-beta.0",
25+
"eslint-plugin-import": "^2.8.0",
26+
"eslint-plugin-node": "^5.2.1",
27+
"eslint-plugin-promise": "^3.6.0",
28+
"eslint-plugin-standard": "^3.0.1"
29+
}
30+
}

packages/npm-check/lib.js

+39-40
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,95 @@
1-
import path from 'path';
2-
import fs from 'fs';
3-
import {exec} from 'child_process';
4-
import {Meteor} from 'meteor/meteor';
1+
import path from 'path'
2+
import fs from 'fs'
3+
import {exec} from 'child_process'
4+
import {Meteor} from 'meteor/meteor'
55

6+
CWD = path.resolve('./')
67

7-
CWD = path.resolve('./');
8-
9-
checkNpmDeps = function checkNpmDeps({dependencies, devDependencies}) {
10-
let pkg = {};
11-
const packageFile = path.join(CWD, 'package.json');
8+
checkNpmDeps = function checkNpmDeps ({dependencies, devDependencies}) {
9+
let pkg = {}
10+
const packageFile = path.join(CWD, 'package.json')
1211

1312
if (fs.existsSync(packageFile)) {
14-
pkg = JSON.parse(fs.readFileSync(packageFile).toString());
13+
pkg = JSON.parse(fs.readFileSync(packageFile).toString())
1514
}
1615

1716
if (!pkg.dependencies) {
18-
pkg.dependencies = {};
17+
pkg.dependencies = {}
1918
}
2019

2120
if (!pkg.devDependencies) {
22-
pkg.devDependencies = {};
21+
pkg.devDependencies = {}
2322
}
2423

25-
let hasChanged = false;
24+
let hasChanged = false
2625

27-
if(dependencies) {
26+
if (dependencies) {
2827
for (let depName in dependencies) {
2928
if (isNpmPackageOlder(dependencies[depName], pkg.dependencies[depName])) {
30-
pkg.dependencies[depName] = dependencies[depName];
31-
hasChanged = true;
29+
pkg.dependencies[depName] = dependencies[depName]
30+
hasChanged = true
3231
}
3332
}
3433
}
3534

36-
if(devDependencies) {
35+
if (devDependencies) {
3736
for (let depName in devDependencies) {
3837
if (isNpmPackageOlder(devDependencies[depName], pkg.devDependencies[depName])) {
39-
pkg.devDependencies[depName] = devDependencies[depName];
40-
hasChanged = true;
38+
pkg.devDependencies[depName] = devDependencies[depName]
39+
hasChanged = true
4140
}
4241
}
4342
}
4443

4544
if (hasChanged) {
46-
fs.writeFileSync(packageFile, JSON.stringify(pkg, null, 2));
45+
fs.writeFileSync(packageFile, JSON.stringify(pkg, null, 2))
4746
}
4847

49-
return hasChanged;
48+
return hasChanged
5049
}
5150

5251
isNpmPackageOlder = function (depVersion, currentVersion) {
5352
if (!currentVersion) {
54-
return true;
53+
return true
5554
}
5655

57-
const depVersions = depVersion.replace(/^[\^~]/, '').split('.');
58-
const currentVersions = currentVersion.replace(/^[\^~]/, '').split('.');
56+
const depVersions = depVersion.replace(/^[\^~]/, '').split('.')
57+
const currentVersions = currentVersion.replace(/^[\^~]/, '').split('.')
5958

6059
for (let i = depVersions.length; i < 3; ++i) {
61-
depVersions.push('0');
60+
depVersions.push('0')
6261
}
6362

6463
for (let i = currentVersions.length; i < 3; ++i) {
65-
depVersions.push('0');
64+
depVersions.push('0')
6665
}
6766

6867
if (depVersions[0] > currentVersions[0]) {
69-
return true;
68+
return true
7069
} else if (depVersions[0] < currentVersions[0]) {
71-
return false;
70+
return false
7271
}
7372

7473
if (depVersions[1] > currentVersions[1]) {
75-
return true;
74+
return true
7675
} else if (depVersions[1] < currentVersions[1]) {
77-
return false;
76+
return false
7877
}
7978

8079
if (depVersions[2] > currentVersions[2]) {
81-
return true;
80+
return true
8281
} else if (depVersions[2] < currentVersions[2]) {
83-
return false;
82+
return false
8483
}
8584

86-
return false;
85+
return false
8786
}
8887

8988
execSync = Meteor.wrapAsync((...params) => {
90-
const cb = params.pop();
91-
exec(...params, (error, stdout, stderr) => {
92-
stdout && console.log(stdout.toString());
93-
stderr && console.error(stderr.toString());
94-
cb(error);
95-
});
96-
});
89+
const cb = params.pop()
90+
exec(...params, (error, stdout, stderr) => {
91+
stdout && console.log(stdout.toString())
92+
stderr && console.error(stderr.toString())
93+
cb(error)
94+
})
95+
})

packages/npm-check/npm-check.js

+19-21
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,35 @@
1-
import { Meteor } from 'meteor/meteor';
1+
import { Meteor } from 'meteor/meteor'
22

33
Plugin.registerCompiler({
4-
filenames: ['npm.json']
5-
}, () => new NpmCheck());
4+
filenames: ['npm.json'],
5+
}, () => new NpmCheck())
66

77
class NpmCheck {
8-
processFilesForTarget(files) {
8+
processFilesForTarget (files) {
99
this.deps = {
1010
dependencies: {},
11-
devDependencies: {}
12-
};
11+
devDependencies: {},
12+
}
1313

14-
for(let file of files) {
15-
this.processFile(file);
14+
for (let file of files) {
15+
this.processFile(file)
1616
}
1717

18-
if(checkNpmDeps(this.deps)) {
19-
console.log('\nSome packages depends on these peer dependencies:\n', this.deps);
20-
if(Meteor.isDevelopment) {
21-
console.log('\nYour package.json has been updated, now running: meteor npm install\n');
22-
let result = execSync('meteor npm install', {cwd: CWD});
18+
if (checkNpmDeps(this.deps)) {
19+
console.log('\nSome packages depends on these peer dependencies:\n', this.deps)
20+
if (Meteor.isDevelopment) {
21+
console.log('\nYour package.json has been updated, now running: meteor npm install\n')
22+
execSync('meteor npm install', {cwd: CWD})
2323
} else {
24-
console.warn('\nYour package.json has been updated, you may need to run: meteor npm install');
24+
console.warn('\nYour package.json has been updated, you may need to run: meteor npm install')
2525
}
2626
}
2727
}
2828

29-
processFile(inputFile) {
30-
let contents = inputFile.getContentsAsString();
31-
let d = JSON.parse(contents);
32-
Object.assign(this.deps.dependencies, d.dependencies);
33-
Object.assign(this.deps.devDependencies, d.devDependencies);
29+
processFile (inputFile) {
30+
let contents = inputFile.getContentsAsString()
31+
let d = JSON.parse(contents)
32+
Object.assign(this.deps.dependencies, d.dependencies)
33+
Object.assign(this.deps.devDependencies, d.devDependencies)
3434
}
35-
36-
3735
}

packages/npm-check/package.js

+11-13
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,23 @@
11
Package.describe({
22
name: 'akryum:npm-check',
3-
version: '0.0.4',
3+
version: '0.1.0',
44
summary: 'Check npm peer-dependencies and auto-installs them.',
55
git: 'https://github.com/Akryum/meteor-vue-component/tree/master/packages/npm-check',
6-
documentation: 'README.md'
7-
});
8-
6+
documentation: 'README.md',
7+
})
98

109
Package.registerBuildPlugin({
11-
name: "npm-check",
10+
name: 'npm-check',
1211
use: [
13-
'ecmascript@0.4.3',
12+
'ecmascript@0.10.0',
1413
],
1514
sources: [
1615
'lib.js',
17-
'npm-check.js'
16+
'npm-check.js',
1817
],
19-
});
20-
18+
})
2119

22-
Package.onUse(function(api) {
23-
api.versionsFrom('1.3.2.4');
24-
api.use('isobuild:[email protected]');
25-
});
20+
Package.onUse(function (api) {
21+
api.versionsFrom('1.6')
22+
api.use('isobuild:[email protected]')
23+
})
+8-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
Package.describe({
22
name: 'akryum:vue-blaze-template',
3-
version: '0.0.4',
3+
version: '0.1.0',
44
summary: 'Render Blaze templates in vue components',
55
git: 'https://github.com/Akryum/meteor-vue-component',
6-
documentation: 'README.md'
7-
});
6+
documentation: 'README.md',
7+
})
88

9-
Package.onUse(function(api) {
10-
api.versionsFrom('1.3.4.1');
11-
api.use(['ecmascript', 'templating', 'blaze']);
12-
api.mainModule('vue-render-blaze.js', 'client');
13-
});
9+
Package.onUse(function (api) {
10+
api.versionsFrom('1.6')
11+
api.use(['ecmascript', 'templating', 'blaze'])
12+
api.mainModule('vue-render-blaze.js', 'client')
13+
})

0 commit comments

Comments
 (0)