Skip to content

Commit 2bd6f75

Browse files
committed
Merge remote-tracking branch 'origin/main' into base-cli
2 parents 9f17028 + 5c9c6bd commit 2bd6f75

File tree

98 files changed

+25388
-1150
lines changed

Some content is hidden

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

98 files changed

+25388
-1150
lines changed

.editorconfig

Lines changed: 15 additions & 0 deletions
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+
[*.{json,md,yml}]
14+
indent_size = 2
15+
indent_style = space

.eslintrc.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"env": {
3+
"es6": true,
4+
"node": true
5+
},
6+
"extends": "eslint:recommended",
7+
"parserOptions": {
8+
"ecmaVersion": 2020,
9+
"sourceType": "module"
10+
},
11+
"rules": {
12+
"quotes": ["error", "single"],
13+
"comma-dangle": ["error", "always-multiline"],
14+
"semi": ["error", "always"]
15+
},
16+
"overrides": [
17+
{
18+
"files": [
19+
"**/*.ts"
20+
],
21+
"extends": [
22+
"plugin:@typescript-eslint/eslint-recommended",
23+
"plugin:@typescript-eslint/recommended"
24+
],
25+
"parser": "@typescript-eslint/parser",
26+
"plugins": [
27+
"@typescript-eslint"
28+
],
29+
"rules": {
30+
"no-shadow": "off",
31+
"@typescript-eslint/no-shadow": "error"
32+
}
33+
}
34+
]
35+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# REMOVE this file after node 20 is released and update the test.yml workflow
2+
3+
set -e
4+
5+
start_dir=$(pwd)
6+
7+
for package in $(ls -d ./packages); do
8+
echo "Installing and testing $package"
9+
cd $package
10+
npm install --ignore-scripts
11+
npm test
12+
cd $start_dir
13+
done
14+
15+
16+
for package in $(ls -d ./plugins); do
17+
echo "Installing and testing $package"
18+
cd $package
19+
npm install --ignore-scripts
20+
npm test
21+
cd $start_dir
22+
done
23+
24+
for package in $(ls -d ./plugin-packs); do
25+
echo "Installing and testing $package"
26+
cd $package
27+
npm install --ignore-scripts
28+
npm test
29+
cd $start_dir
30+
done

.github/workflows/MAINTENANCE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# test.yml
2+
3+
## workspaces
4+
5+
At the moment not all current LTS node versions have workspaces support.
6+
We work around this by building in node 16 and switching to an older version to run tests.
7+
8+
Once node 20 reaches LTS each version will have workspaces support.
9+
At that point the `test_without_workspaces_support` job and `.github/bin/install-and-test-all-packages.sh` can be removed.
10+
11+
## test_with_workspaces_support
12+
13+
This can be renamed to `test` once node 20 reaches LTS.
14+
We include all LTS versions + latest in the matrix.
15+
At the moment there is no `current` or `latest` keyword so this is hard coded.

.github/workflows/test.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: test
2+
on:
3+
push:
4+
5+
jobs:
6+
test_with_workspaces_support:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
matrix:
10+
node: [16, 17]
11+
steps:
12+
- uses: actions/checkout@v2
13+
- uses: actions/setup-node@v2
14+
with:
15+
node-version: ${{ matrix.node }}
16+
17+
- run: exit 0
18+
# - run: npm ci --ignore-scripts
19+
# - run: npm run build --workspaces --if-present
20+
# - run: npm run lint --workspaces --if-present
21+
# - run: npm run test --workspaces --if-present
22+
23+
test_without_workspaces_support:
24+
runs-on: ubuntu-latest
25+
strategy:
26+
matrix:
27+
node: [12, 14]
28+
steps:
29+
- uses: actions/checkout@v2
30+
- uses: actions/setup-node@v2
31+
with:
32+
node-version: 16
33+
34+
- run: exit 0
35+
# - run: npm ci --ignore-scripts
36+
# - run: npm run build --workspaces --if-present
37+
38+
- uses: actions/setup-node@v2
39+
with:
40+
node-version: ${{ matrix.node }}
41+
42+
- run: exit 0
43+
# - run: bash ./.github/bin/install-and-test-all-packages.sh
44+
45+
# Run cross platform test of the basic CLI.
46+
test_cli:
47+
runs-on: ${{ matrix.os }}
48+
strategy:
49+
matrix:
50+
os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
51+
steps:
52+
- uses: actions/checkout@v2
53+
- uses: actions/setup-node@v2
54+
with:
55+
node-version: 16
56+
57+
- run: exit 0
58+
# - run: npm ci --ignore-scripts
59+
# - run: npm run build --workspaces --if-present
60+
61+
# - run: |
62+
# npm run build --workspace="@csstools/base-cli" --workspace="@csstools/postcss-base-plugin"
63+
# npm run test --workspace="@csstools/base-cli" --workspace="@csstools/postcss-base-plugin"

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
node_modules
2+
yarn.lock
3+
reports
4+
.stryker-tmp

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v16.13.0

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*

.stylelintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*

LICENSE.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# CC0 1.0 Universal
2+
3+
## Statement of Purpose
4+
5+
The laws of most jurisdictions throughout the world automatically confer
6+
exclusive Copyright and Related Rights (defined below) upon the creator and
7+
subsequent owner(s) (each and all, an “owner”) of an original work of
8+
authorship and/or a database (each, a “Work”).
9+
10+
Certain owners wish to permanently relinquish those rights to a Work for the
11+
purpose of contributing to a commons of creative, cultural and scientific works
12+
(“Commons”) that the public can reliably and without fear of later claims of
13+
infringement build upon, modify, incorporate in other works, reuse and
14+
redistribute as freely as possible in any form whatsoever and for any purposes,
15+
including without limitation commercial purposes. These owners may contribute
16+
to the Commons to promote the ideal of a free culture and the further
17+
production of creative, cultural and scientific works, or to gain reputation or
18+
greater distribution for their Work in part through the use and efforts of
19+
others.
20+
21+
For these and/or other purposes and motivations, and without any expectation of
22+
additional consideration or compensation, the person associating CC0 with a
23+
Work (the “Affirmer”), to the extent that he or she is an owner of Copyright
24+
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and
25+
publicly distribute the Work under its terms, with knowledge of his or her
26+
Copyright and Related Rights in the Work and the meaning and intended legal
27+
effect of CC0 on those rights.
28+
29+
1. Copyright and Related Rights. A Work made available under CC0 may be
30+
protected by copyright and related or neighboring rights (“Copyright and
31+
Related Rights”). Copyright and Related Rights include, but are not limited
32+
to, the following:
33+
1. the right to reproduce, adapt, distribute, perform, display, communicate,
34+
and translate a Work;
35+
2. moral rights retained by the original author(s) and/or performer(s);
36+
3. publicity and privacy rights pertaining to a person’s image or likeness
37+
depicted in a Work;
38+
4. rights protecting against unfair competition in regards to a Work,
39+
subject to the limitations in paragraph 4(i), below;
40+
5. rights protecting the extraction, dissemination, use and reuse of data in
41+
a Work;
42+
6. database rights (such as those arising under Directive 96/9/EC of the
43+
European Parliament and of the Council of 11 March 1996 on the legal
44+
protection of databases, and under any national implementation thereof,
45+
including any amended or successor version of such directive); and
46+
7. other similar, equivalent or corresponding rights throughout the world
47+
based on applicable law or treaty, and any national implementations
48+
thereof.
49+
50+
2. Waiver. To the greatest extent permitted by, but not in contravention of,
51+
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
52+
unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright
53+
and Related Rights and associated claims and causes of action, whether now
54+
known or unknown (including existing as well as future claims and causes of
55+
action), in the Work (i) in all territories worldwide, (ii) for the maximum
56+
duration provided by applicable law or treaty (including future time
57+
extensions), (iii) in any current or future medium and for any number of
58+
copies, and (iv) for any purpose whatsoever, including without limitation
59+
commercial, advertising or promotional purposes (the “Waiver”). Affirmer
60+
makes the Waiver for the benefit of each member of the public at large and
61+
to the detriment of Affirmer’s heirs and successors, fully intending that
62+
such Waiver shall not be subject to revocation, rescission, cancellation,
63+
termination, or any other legal or equitable action to disrupt the quiet
64+
enjoyment of the Work by the public as contemplated by Affirmer’s express
65+
Statement of Purpose.
66+
67+
3. Public License Fallback. Should any part of the Waiver for any reason be
68+
judged legally invalid or ineffective under applicable law, then the Waiver
69+
shall be preserved to the maximum extent permitted taking into account
70+
Affirmer’s express Statement of Purpose. In addition, to the extent the
71+
Waiver is so judged Affirmer hereby grants to each affected person a
72+
royalty-free, non transferable, non sublicensable, non exclusive,
73+
irrevocable and unconditional license to exercise Affirmer’s Copyright and
74+
Related Rights in the Work (i) in all territories worldwide, (ii) for the
75+
maximum duration provided by applicable law or treaty (including future time
76+
extensions), (iii) in any current or future medium and for any number of
77+
copies, and (iv) for any purpose whatsoever, including without limitation
78+
commercial, advertising or promotional purposes (the “License”). The License
79+
shall be deemed effective as of the date CC0 was applied by Affirmer to the
80+
Work. Should any part of the License for any reason be judged legally
81+
invalid or ineffective under applicable law, such partial invalidity or
82+
ineffectiveness shall not invalidate the remainder of the License, and in
83+
such case Affirmer hereby affirms that he or she will not (i) exercise any
84+
of his or her remaining Copyright and Related Rights in the Work or (ii)
85+
assert any associated claims and causes of action with respect to the Work,
86+
in either case contrary to Affirmer’s express Statement of Purpose.
87+
88+
4. Limitations and Disclaimers.
89+
1. No trademark or patent rights held by Affirmer are waived, abandoned,
90+
surrendered, licensed or otherwise affected by this document.
91+
2. Affirmer offers the Work as-is and makes no representations or warranties
92+
of any kind concerning the Work, express, implied, statutory or
93+
otherwise, including without limitation warranties of title,
94+
merchantability, fitness for a particular purpose, non infringement, or
95+
the absence of latent or other defects, accuracy, or the present or
96+
absence of errors, whether or not discoverable, all to the greatest
97+
extent permissible under applicable law.
98+
3. Affirmer disclaims responsibility for clearing rights of other persons
99+
that may apply to the Work or any use thereof, including without
100+
limitation any person’s Copyright and Related Rights in the Work.
101+
Further, Affirmer disclaims responsibility for obtaining any necessary
102+
consents, permissions or other rights required for any use of the Work.
103+
4. Affirmer understands and acknowledges that Creative Commons is not a
104+
party to this document and has no duty or obligation with respect to this
105+
CC0 or use of the Work.
106+
107+
For more information, please see
108+
http://creativecommons.org/publicdomain/zero/1.0/.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# TODO : make a README for this mono repo

0 commit comments

Comments
 (0)