Skip to content

Commit b4c7e17

Browse files
committed
code fmt and CI
1 parent 5b964c4 commit b4c7e17

12 files changed

+5124
-3185
lines changed

.editorconfig

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_style = tab
7+
insert_final_newline = true
8+
trim_trailing_whitespace = true
9+
10+
[*.md]
11+
trim_trailing_whitespace = false
12+
13+
[*.yml]
14+
indent_size = 2
15+
indent_style = space

.github/workflows/test.yml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: test
2+
on:
3+
push:
4+
branches:
5+
- 'main'
6+
- 'master'
7+
pull_request:
8+
workflow_dispatch:
9+
10+
defaults:
11+
run:
12+
shell: bash
13+
14+
jobs:
15+
test:
16+
runs-on: ${{ matrix.os }}
17+
strategy:
18+
fail-fast: false
19+
# Test node 14/16/18/20/22 on ubuntu
20+
# Test node 20 on macos/windows
21+
# Enable annotations only for node 20 + ubuntu
22+
matrix:
23+
os: [ubuntu-latest]
24+
node: [16, 18, 20, 22]
25+
steps:
26+
- uses: actions/checkout@v4
27+
with:
28+
fetch-depth: 1
29+
- uses: actions/setup-node@v4
30+
with:
31+
node-version: ${{ matrix.node }}
32+
33+
- name: npm ci
34+
run: npm ci
35+
36+
- name: test
37+
run: npm run test

.travis.yml

-3
This file was deleted.

LICENSE

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
The MIT License (MIT)
22

33
Copyright (c) 2016 David Clark
4+
Copyright © CSSTools Contributors
45

56
Permission is hereby granted, free of charge, to any person obtaining a copy
67
of this software and associated documentation files (the "Software"), to deal

index.js

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
module.exports = function resolveNestedSelector(selector, node) {
2-
var parent = node.parent;
3-
var parentIsNestAtRule = parent.type === 'atrule' && parent.name === 'nest';
2+
var parent = node.parent;
3+
var parentIsNestAtRule = parent.type === 'atrule' && parent.name === 'nest';
44

5-
if (parent.type === 'root') return [selector];
6-
if (parent.type !== 'rule' && !parentIsNestAtRule) return resolveNestedSelector(selector, parent);
5+
if (parent.type === 'root') return [selector];
6+
if (parent.type !== 'rule' && !parentIsNestAtRule) return resolveNestedSelector(selector, parent);
77

8-
var parentSelectors = (parentIsNestAtRule)
9-
? parent.params.split(',').map(function(s) { return s.trim(); })
10-
: parent.selectors;
8+
var parentSelectors = (parentIsNestAtRule)
9+
? parent.params.split(',').map(function(s) { return s.trim(); })
10+
: parent.selectors;
1111

12-
var resolvedSelectors = parentSelectors.reduce(function(result, parentSelector) {
13-
if (selector.indexOf('&') !== -1) {
14-
var newlyResolvedSelectors = resolveNestedSelector(parentSelector, parent).map(function(resolvedParentSelector) {
15-
return selector.replace(/&/g, resolvedParentSelector);
16-
});
17-
return result.concat(newlyResolvedSelectors);
18-
}
12+
var resolvedSelectors = parentSelectors.reduce(function(result, parentSelector) {
13+
if (selector.indexOf('&') !== -1) {
14+
var newlyResolvedSelectors = resolveNestedSelector(parentSelector, parent).map(function(resolvedParentSelector) {
15+
return selector.replace(/&/g, resolvedParentSelector);
16+
});
17+
return result.concat(newlyResolvedSelectors);
18+
}
1919

20-
var combinedSelector = [ parentSelector, selector ].join(' ');
21-
return result.concat(resolveNestedSelector(combinedSelector, parent));
22-
}, []);
20+
var combinedSelector = [ parentSelector, selector ].join(' ');
21+
return result.concat(resolveNestedSelector(combinedSelector, parent));
22+
}, []);
2323

24-
return resolvedSelectors;
24+
return resolvedSelectors;
2525
}

0 commit comments

Comments
 (0)