Skip to content

Commit f7dd749

Browse files
committed
Watch, lint and cover
1 parent a6a3788 commit f7dd749

File tree

7 files changed

+69
-24
lines changed

7 files changed

+69
-24
lines changed

.eslintrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"env": {
3+
"node": true
4+
},
5+
"rules": {
6+
"strict": false,
7+
"quotes": "single"
8+
}
9+
}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
node_modules/
22
npm-debug.log
3+
coverage

.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
node_modules/
33
test.js
44
.travis.yml
5+
coverage

.travis.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
sudo: false
22
language: node_js
33
node_js:
4-
- iojs
5-
- "0.12"
64
- "0.10"
5+
- "0.12"
6+
- "iojs-v2.1.0"
7+
script: npm run travis
8+
9+
before_install:
10+
- '[ "${TRAVIS_NODE_VERSION}" != "0.10" ] || npm install -g npm'
11+
12+
after_success:
13+
- cat ./coverage/lcov.info | node_modules/.bin/coveralls --verbose
14+
- cat ./coverage/coverage.json | node_modules/codecov.io/bin/codecov.io.js
15+
- rm -rf ./coverage

README.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[![Build Status][ci-img]][ci] [![npm][npm-img]][npm]
1+
[![Build Status][ci-img]][ci] [![coveralls][coveralls-img]][coveralls] [![npm][npm-img]][npm]
22

33
# CSS Modules: Local by Default
44

@@ -26,11 +26,21 @@ Transformation examples:
2626
.foo:global(.bar) .baz { ... } /* => */ :local(.foo).bar :local(.baz) { ... }
2727
```
2828

29-
## Development
29+
## Building
3030

3131
```bash
3232
$ npm install
3333
$ npm test
34+
```
35+
36+
- Build: [![Build Status][ci-img]][ci]
37+
- Lines: [![coveralls][coveralls-img]][coveralls]
38+
- Statements: [![codecov][codecov-img]][codecov]
39+
40+
## Development
41+
42+
```bash
43+
$ npm run autotest
3444
```
3545

3646
## License
@@ -42,7 +52,11 @@ MIT
4252
- [Tobias Koppers](https://github.com/sokra)
4353
- [Glen Maddern](https://github.com/geelen)
4454

45-
[ci-img]: https://img.shields.io/travis/css-modules/postcss-modules-local-by-default/master.svg?style=flat-square
46-
[ci]: https://travis-ci.org/css-modules/postcss-modules-local-by-default
47-
[npm-img]: https://img.shields.io/npm/v/postcss-modules-local-by-default.svg?style=flat-square
48-
[npm]: https://www.npmjs.com/package/postcss-modules-local-by-default
55+
[ci-img]: https://img.shields.io/travis/css-modules/postcss-modules-local-by-default/master.svg?style=flat-square
56+
[ci]: https://travis-ci.org/css-modules/postcss-modules-local-by-default
57+
[npm-img]: https://img.shields.io/npm/v/postcss-modules-local-by-default.svg?style=flat-square
58+
[npm]: https://www.npmjs.com/package/postcss-modules-local-by-default
59+
[coveralls-img]: https://img.shields.io/coveralls/css-modules/postcss-modules-local-by-default/master.svg?style=flat-square
60+
[coveralls]: https://coveralls.io/r/css-modules/postcss-modules-local-by-default?branch=master
61+
[codecov-img]: https://img.shields.io/codecov/c/github/css-modules/postcss-modules-local-by-default/master.svg?style=flat-square
62+
[codecov]: https://codecov.io/github/css-modules/postcss-modules-local-by-default?branch=master

index.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
var postcss = require('postcss');
22
var Tokenizer = require('css-selector-tokenizer');
33

4+
function isGlobal(node) {
5+
return node.type === 'pseudo-class' && node.name === 'global';
6+
}
7+
8+
function isNestedGlobal(node) {
9+
return node.type === 'nested-pseudo-class' && node.name === 'global';
10+
}
11+
12+
function isNestedLocal(node) {
13+
return node.type === 'nested-pseudo-class' && node.name === 'local';
14+
}
15+
416
function localizeNodes(nodes) {
517
var isGlobalContext = false;
618

@@ -13,12 +25,12 @@ function localizeNodes(nodes) {
1325
return null;
1426
}
1527

16-
if (newNode.type === 'spacing' && isGlobal(nodes[i-1])) {
28+
if (newNode.type === 'spacing' && isGlobal(nodes[i - 1])) {
1729
return null;
1830
}
1931

2032
if (!isGlobalContext && node.type === 'class') {
21-
newNode = { type: 'nested-pseudo-class', name: 'local', nodes: [node] }
33+
newNode = { type: 'nested-pseudo-class', name: 'local', nodes: [node] };
2234
} else if (isNestedGlobal(newNode)) {
2335
newNode = node.nodes[0];
2436
} else if (!isNestedLocal(newNode) && newNode.nodes) {
@@ -27,24 +39,12 @@ function localizeNodes(nodes) {
2739

2840
return newNode;
2941
}).filter(function(node) {
30-
return node !== null
42+
return node !== null;
3143
});
3244
}
3345

34-
function isGlobal(node) {
35-
return node.type === 'pseudo-class' && node.name === 'global';
36-
}
37-
38-
function isNestedGlobal(node) {
39-
return node.type === 'nested-pseudo-class' && node.name === 'global';
40-
}
41-
42-
function isNestedLocal(node) {
43-
return node.type === 'nested-pseudo-class' && node.name === 'local';
44-
}
45-
4646
module.exports = postcss.plugin('postcss-modules-local-by-default', function () {
47-
return function(css, result) {
47+
return function(css) {
4848
css.eachRule(function(rule) {
4949
var selector = Tokenizer.parse(rule.selector);
5050
selector.nodes = localizeNodes(selector.nodes);

package.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,21 @@
1919
"postcss": "^4.1.5"
2020
},
2121
"devDependencies": {
22+
"chokidar-cli": "^0.2.1",
23+
"codecov.io": "^0.1.2",
24+
"coveralls": "^2.11.2",
25+
"eslint": "^0.22.1",
26+
"istanbul": "^0.3.14",
2227
"tape": "^4.0.0"
2328
},
2429
"scripts": {
30+
"lint": "eslint index.js",
31+
"pretest": "npm run lint",
2532
"test": "tape test.js",
33+
"autotest": "chokidar index.js test.js -c 'npm test'",
34+
"precover": "npm run lint",
35+
"cover": "istanbul cover test.js",
36+
"travis": "npm run cover -- --report lcovonly",
2637
"prepublish": "npm prune && npm test"
2738
}
2839
}

0 commit comments

Comments
 (0)