Skip to content

Commit 869c8df

Browse files
committed
optimization for npm linked development
1 parent 0f8d537 commit 869c8df

11 files changed

+137
-22
lines changed

.editorconfig

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# EditorConfig is awesome: http://EditorConfig.org
2+
root = true
3+
4+
[*.{js,jsx,json}]
5+
end_of_line = lf
6+
insert_final_newline = true
7+
charset = utf-8
8+
indent_style = space
9+
indent_size = 2

.eslintrc

+95-15
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,95 @@
1-
{
2-
"env": {
3-
"node": true
4-
},
5-
"rules": {
6-
"no-underscore-dangle": 0,
7-
"camelcase": 1,
8-
"no-console": 2,
9-
"strict": 2,
10-
"quotes": [2, "single"],
11-
"no-mixed-requires": 0
12-
},
13-
"globals": {
14-
}
15-
}
1+
---
2+
3+
env:
4+
browser: true
5+
node: true
6+
es6: true
7+
8+
globals:
9+
__resourceQuery: false
10+
describe: false
11+
describeSaga: false
12+
describeEvent: false
13+
describeCommand: false
14+
before: false
15+
it: false
16+
xit: false
17+
window : false
18+
beforeEach : false
19+
afterEach : false
20+
after : false
21+
before : false
22+
beforeEachChapter: false
23+
describeScenario: false
24+
describeChapter: false
25+
describeStep: false
26+
document : false
27+
window: false
28+
File : false
29+
FormData: false
30+
QCodeDecoder: false
31+
$: false
32+
L: false
33+
btoa: false
34+
escape: false
35+
angular: false
36+
jQuery: false
37+
38+
rules:
39+
# CUSTOM RULES
40+
no-only-in-tests: 2
41+
42+
# ERRORS
43+
no-unused-vars: [2, {vars: all, args: none}]
44+
curly: [2, "multi-line"]
45+
46+
# WARNINGS
47+
semi-spacing: 1
48+
no-empty: 1
49+
handle-callback-err: 1
50+
eqeqeq: 1
51+
quotes: [1, 'single']
52+
no-unused-expressions: 1
53+
no-throw-literal: 1
54+
semi: 1
55+
block-scoped-var: 1
56+
no-alert: 1
57+
new-cap: 1
58+
59+
# DISABLED
60+
space-after-keywords: 0
61+
dot-notation: 0
62+
consistent-return: 0
63+
brace-style: 0
64+
no-multi-spaces: 0
65+
no-underscore-dangle: 0
66+
key-spacing: 0
67+
comma-spacing: 0
68+
no-shadow: 0
69+
no-mixed-requires: 0
70+
space-infix-ops: 0
71+
strict: 0
72+
camelcase: 0
73+
no-wrap-func: 0
74+
comma-dangle: 0
75+
no-extra-semi: 0
76+
no-use-before-define: [0, "nofunc"]
77+
78+
# AUTOMATED BY EDITORCONFIG
79+
eol-last: 0
80+
no-trailing-spaces: 0
81+
indent: 0
82+
83+
# REACT
84+
react/jsx-no-undef: 2
85+
react/jsx-uses-vars: 1
86+
react/jsx-quotes: 1
87+
react/jsx-uses-react: 1
88+
react/no-did-mount-set-state: 1
89+
react/no-did-update-set-state: 1
90+
react/prop-types: 1
91+
react/react-in-jsx-scope: 1
92+
react/self-closing-comp: 1
93+
react/no-multi-comp: 0
94+
react/wrap-multilines: 1
95+
react/display-name: 0

.npmignore

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
test
22
*.tingo
3-
*.rdb
4-
.idea
3+
*.db
4+
*.yml
5+
.editorconfig
6+
.eslintrc
7+
.DS_Store
8+
9+
dump.rdb
10+
11+
.idea

.travis.yml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
sudo: false
2+
13
services:
24
- mongodb
35
- redis-server

lib/base.js

+12
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
var util = require('util'),
44
EventEmitter = require('events').EventEmitter,
5+
prequire = require('parent-require'),
56
_ = require('lodash'),
67
uuid = require('node-uuid').v4;
78

@@ -142,4 +143,15 @@ _.extend(Store.prototype, {
142143
}
143144
});
144145

146+
Store.use = function (toRequire) {
147+
var required;
148+
try {
149+
required = require(toRequire);
150+
} catch (e) {
151+
// workaround when `npm link`'ed for development
152+
required = prequire(toRequire);
153+
}
154+
return required;
155+
};
156+
145157
module.exports = Store;

lib/databases/azuretable.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ var util = require('util'),
55
Store = require('../base'),
66
_ = require('lodash'),
77
async = require('async'),
8-
azure = require('azure-storage'),
8+
azure = Store.use('azure-storage'),
99
eg = azure.TableUtilities.entityGenerator,
1010
debug = require('debug')('eventstore:store:azuretable');
1111

lib/databases/mongodb.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ var util = require('util'),
44
Store = require('../base'),
55
_ = require('lodash'),
66
async = require('async'),
7-
mongo = require('mongodb'),
8-
mongoVersion = require('mongodb/package.json').version,
7+
mongo = Store.use('mongodb'),
8+
mongoVersion = Store.use('mongodb/package.json').version,
99
isNew = mongoVersion.indexOf('1.') !== 0,
1010
ObjectID = isNew ? mongo.ObjectID : mongo.BSONPure.ObjectID,
1111
debug = require('debug')('eventstore:store:mongodb');

lib/databases/redis.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ var util = require('util'),
44
Store = require('../base'),
55
_ = require('lodash'),
66
async = require('async'),
7-
redis = require('redis'),
7+
redis = Store.use('redis'),
88
jsondate = require('jsondate'),
99
debug = require('debug')('eventstore:store:redis');
1010

lib/databases/tingodb.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ var util = require('util'),
44
Store = require('../base'),
55
_ = require('lodash'),
66
async = require('async'),
7-
tingodb = require('tingodb')(),
7+
tingodb = Store.use('tingodb')(),
88
ObjectID = tingodb.ObjectID,
99
debug = require('debug')('eventstore:store:tingodb');
1010

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,15 @@
4242
"async": "1.4.0",
4343
"debug": "2.2.0",
4444
"dotty": "0.0.2",
45+
"parent-require": "1.0.0",
4546
"jsondate": "0.0.1",
4647
"lodash": "3.10.0",
4748
"node-uuid": "1.4.3",
4849
"tolerance": "1.0.0"
4950
},
5051
"devDependencies": {
5152
"cradle": ">=0.6.7",
53+
"eslint": "^0.24.1",
5254
"expect.js": ">= 0.1.2",
5355
"mocha": ">= 1.0.1",
5456
"mongodb": ">= 0.0.1",

releasenotes.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#### [v1.4.2](https://github.com/adrai/node-eventstore/compare/v1.4.1...v1.4.2)
2+
- optimization for `npm link`'ed development
3+
14
#### [v1.4.1](https://github.com/adrai/node-eventstore/compare/v1.4.0...v1.4.1)
25
- redis: replace .keys() calls with .scan() calls => scales better
36

0 commit comments

Comments
 (0)