Skip to content
This repository was archived by the owner on May 12, 2024. It is now read-only.

Commit d95160e

Browse files
committed
chore: update project
1 parent 701fc71 commit d95160e

File tree

5 files changed

+73
-75
lines changed

5 files changed

+73
-75
lines changed

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
node_modules
2-
index.*.*
2+
index.cjs*
3+
index.mjs*
34
package-lock.json
5+
yarn.lock
46
*.log*
57
*.result.css
68
.*

.rollup.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import babel from 'rollup-plugin-babel';
33
export default {
44
input: 'index.js',
55
output: [
6-
{ file: 'index.cjs.js', format: 'cjs', sourcemap: true, strict: false },
7-
{ file: 'index.esm.mjs', format: 'esm', sourcemap: true, strict: false }
6+
{ file: 'index.cjs', format: 'cjs', exports: 'default', sourcemap: true, strict: false },
7+
{ file: 'index.mjs', format: 'esm', sourcemap: true, strict: false }
88
],
99
plugins: [
1010
babel({

.travis.yml

+1-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,4 @@
33
language: node_js
44

55
node_js:
6-
- 8
7-
8-
install:
9-
- npm install --ignore-scripts
6+
- 12

index.js

+34-34
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import browserslist from 'browserslist';
1+
import browserslist from 'browserslist'
22

33
const plugin = opts => {
44
return {
@@ -8,83 +8,83 @@ const plugin = opts => {
88
const clientBrowserList = browserslist(
99
Object(opts).browsers || null,
1010
{ path: root.source && root.source.input && root.source.input.file }
11-
);
11+
)
1212

1313
// root children references
14-
const references = root.nodes.slice(0);
14+
const references = root.nodes.slice(0)
1515

1616
// for each child node of the root children references
17-
for (let node of references) {
17+
for (const node of references) {
1818
// if the node is a comment browser comment node
1919
if (isBrowserCommentNode(node)) {
2020
// rule following the browser comment
21-
const rule = node.next();
21+
const rule = node.next()
2222

2323
// browser data
24-
const browserdata = getBrowserData(node.text);
24+
const browserdata = getBrowserData(node.text)
2525

2626
if (browserdata.isNumbered) {
2727
rule.nodes.filter(isBrowserReferenceCommentNode).map(
2828
comment => {
29-
const browserdataIndex = parseFloat(comment.text) - 1;
30-
const browserslistPart = browserdata.browserslist[browserdataIndex];
29+
const browserdataIndex = parseFloat(comment.text) - 1
30+
const browserslistPart = browserdata.browserslist[browserdataIndex]
3131

3232
// whether to remove the rule if the comment browserslist does not match the client browserslist
3333
const removeRule = !clientBrowserList.some(
3434
clientBrowser => browserslist(browserslistPart).some(
3535
commentBrowser => commentBrowser === clientBrowser
3636
)
37-
);
37+
)
3838

3939
// conditionally remove the declaration and reference comment
4040
if (removeRule) {
41-
comment.prev().remove();
42-
comment.remove();
41+
comment.prev().remove()
42+
comment.remove()
4343
}
4444
}
45-
);
45+
)
4646

4747
// conditionally remove the empty rule and comment
4848
if (!rule.nodes.length) {
49-
rule.remove();
50-
node.remove();
49+
rule.remove()
50+
node.remove()
5151
}
5252
} else {
5353
// whether to remove the rule if the comment browserslist does not match the client browserslist
5454
const removeRule = !clientBrowserList.some(
5555
clientBrowser => browserslist(browserdata.browserslist).some(
5656
commentBrowser => commentBrowser === clientBrowser
5757
)
58-
);
58+
)
5959

6060
// conditionally remove the rule and comment
6161
if (removeRule) {
62-
rule.remove();
63-
node.remove();
62+
rule.remove()
63+
node.remove()
6464
}
6565
}
6666
}
6767
}
6868
}
6969
}
70-
};
70+
}
7171

72-
plugin.postcss = true;
72+
plugin.postcss = true
7373

74-
export default plugin;
74+
export default plugin
7575

7676
// returns whether a node is a browser comment
77-
const isBrowserCommentNode = node => node.type === 'comment' && isBrowserCommentNodeRegExp.test(node.text) && node.next().type === 'rule';
78-
const isBrowserCommentNodeRegExp = /^\*\n * /;
77+
const isBrowserCommentNode = node => node.type === 'comment' && isBrowserCommentNodeRegExp.test(node.text) && node.next().type === 'rule'
78+
const isBrowserCommentNodeRegExp = /^\*\n * /
7979

8080
// returns whether a node is a browser reference comment
81-
const isBrowserReferenceCommentNode = node => node.type === 'comment' && isBrowserReferenceCommentNodeRegExp.test(node.text);
82-
const isBrowserReferenceCommentNodeRegExp = /^\d+$/;
81+
const isBrowserReferenceCommentNode = node => node.type === 'comment' && isBrowserReferenceCommentNodeRegExp.test(node.text)
82+
const isBrowserReferenceCommentNodeRegExp = /^\d+$/
8383

8484
// returns browser data from comment text
8585
const getBrowserData = text => {
86-
const browserDataNumbered = text.match(browserDataMutliRegExp);
87-
const isNumbered = Boolean(browserDataNumbered);
86+
const browserDataNumbered = text.match(browserDataMutliRegExp)
87+
const isNumbered = Boolean(browserDataNumbered)
8888

8989
return {
9090
browserslist: isNumbered
@@ -96,10 +96,10 @@ const getBrowserData = text => {
9696
),
9797
isNumbered
9898
}
99-
};
100-
const browserDataMutliRegExp = /(\n \* \d+\. (?:[^\n]+|\n \* {4,})+)/g;
101-
const browserDataNewlineRegExp = /^\*\n \* ?|\n \*/g;
102-
const browserDataNumberedNewlineRegExp = /\n \* (?:( )\s*)?/g;
99+
}
100+
const browserDataMutliRegExp = /(\n \* \d+\. (?:[^\n]+|\n \* {4,})+)/g
101+
const browserDataNewlineRegExp = /^\*\n \* ?|\n \*/g
102+
const browserDataNumberedNewlineRegExp = /\n \* (?:( )\s*)?/g
103103

104104
// returns a browserlist from comment text
105105
const getBrowsersList = text => text.split(getBrowsersListInSplitRegExp).slice(1).map(
@@ -119,7 +119,7 @@ const getBrowsersList = text => text.split(getBrowsersListInSplitRegExp).slice(1
119119
: ' > 0'
120120
}`
121121
).toLowerCase()
122-
);
123-
const getBrowsersListInSplitRegExp = /\s+in\s+/;
124-
const getBrowsersListAndSplitRegExp = /(?: and|, and|,)/;
125-
const getBrowsersListQueryRegExp = /^\s*(\w+)(?: ((?:(?:\d*\.)?\d+-)?(?:\d*\.)?\d+[+-]?))?.*$/;
122+
)
123+
const getBrowsersListInSplitRegExp = /\s+in\s+/
124+
const getBrowsersListAndSplitRegExp = /(?: and|, and|,)/
125+
const getBrowsersListQueryRegExp = /^\s*(\w+)(?: ((?:(?:\d*\.)?\d+-)?(?:\d*\.)?\d+[+-]?))?.*$/

package.json

+33-34
Original file line numberDiff line numberDiff line change
@@ -7,55 +7,54 @@
77
"repository": "csstools/postcss-browser-comments",
88
"homepage": "https://github.com/csstools/postcss-browser-comments#readme",
99
"bugs": "https://github.com/csstools/postcss-browser-comments/issues",
10-
"main": "index.cjs.js",
11-
"module": "index.esm.mjs",
10+
"main": "index.cjs",
11+
"module": "index.mjs",
1212
"files": [
13-
"index.cjs.js",
14-
"index.cjs.js.map",
15-
"index.esm.mjs",
16-
"index.esm.mjs.map"
13+
"index.cjs",
14+
"index.cjs.map",
15+
"index.mjs",
16+
"index.mjs.map"
1717
],
1818
"scripts": {
1919
"prepublishOnly": "npm test",
20-
"pretest": "rollup --config .rollup.js --silent",
21-
"test": "npm run test:js && npm run test:tape",
22-
"test:ec": "echint --ignore index.*.js test",
23-
"test:js": "eslint *.js --cache --ignore-path .gitignore --quiet",
24-
"test:tape": "postcss-tape"
20+
"build": "rollup --config .rollup.js --silent",
21+
"lint": "eslint *.js --cache --ignore-path .gitignore --quiet",
22+
"test": "npm run lint && npm run build && npm run tape",
23+
"tape": "postcss-tape"
2524
},
2625
"engines": {
27-
"node": ">=8.0.0"
26+
"node": ">=8"
2827
},
2928
"peerDependencies": {
30-
"browserslist": "^4",
31-
"postcss": "^8.2.8"
29+
"browserslist": ">=4",
30+
"postcss": ">=8"
3231
},
3332
"devDependencies": {
34-
"@babel/core": "^7.4.5",
35-
"@babel/preset-env": "^7.4.5",
36-
"babel-eslint": "^10.0.1",
37-
"browserslist": "^4.1.1",
38-
"eslint": "^5.16.0",
39-
"postcss": "^8.2.8",
40-
"postcss-tape": "^6.0.1",
41-
"pre-commit": "^1.2.2",
42-
"rollup": "^1.12.3",
43-
"rollup-plugin-babel": "^4.3.2"
33+
"@babel/core": "7.13.16",
34+
"@babel/preset-env": "7.13.15",
35+
"browserslist": "4.1.1",
36+
"eslint": "7.25.0",
37+
"postcss": "8.2.13",
38+
"postcss-tape": "6.0.1",
39+
"pre-commit": "1.2.2",
40+
"rollup": "2.46.0",
41+
"rollup-plugin-babel": "4.3.2"
4442
},
4543
"eslintConfig": {
46-
"env": {
47-
"browser": true,
48-
"es6": true,
49-
"node": true
50-
},
5144
"extends": "eslint:recommended",
52-
"parser": "babel-eslint",
5345
"parserOptions": {
54-
"ecmaVersion": 2018,
55-
"impliedStrict": true,
56-
"sourceType": "module"
46+
"ecmaVersion": 12,
47+
"sourceType": "module",
48+
"ecmaFeatures": {
49+
"modules": true
50+
}
5751
},
58-
"root": true
52+
"rules": {
53+
"semi": [
54+
"error",
55+
"never"
56+
]
57+
}
5958
},
6059
"keywords": [
6160
"postcss",

0 commit comments

Comments
 (0)