Skip to content

Commit 1d19ea0

Browse files
authored
Merge branch 'main' into feat/concept-npm-requests
2 parents 34c1c47 + 6acba09 commit 1d19ea0

284 files changed

Lines changed: 52530 additions & 2343 deletions

File tree

Some content is hidden

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

.github/workflows/autofix.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ permissions:
1414

1515
jobs:
1616
code:
17-
runs-on: ubuntu-latest
17+
name: 🤖 Autofix code
18+
runs-on: ubuntu-24.04-arm
1819

1920
steps:
2021
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -23,8 +24,8 @@ jobs:
2324
with:
2425
node-version: lts/*
2526

26-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
27-
name: Install pnpm
27+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
28+
name: 🟧 Install pnpm
2829
with:
2930
cache: true
3031

@@ -40,4 +41,4 @@ jobs:
4041
- name: 🔠 Fix lint errors
4142
run: pnpm lint:fix
4243

43-
- uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27
44+
- uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27 # 635ffb0c9798bd160680f18fd73371e355b85f27

.github/workflows/ci.yml

Lines changed: 96 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ permissions:
2121

2222
jobs:
2323
lint:
24-
runs-on: ubuntu-latest
24+
name: 🔠 Lint project
25+
runs-on: ubuntu-24.04-arm
2526

2627
steps:
2728
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -30,15 +31,70 @@ jobs:
3031
with:
3132
node-version: lts/*
3233

33-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
34-
name: Install pnpm
35-
# pnpm cache skipped deliberately as the project is not actually installed here
34+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
35+
name: 🟧 Install pnpm
36+
with:
37+
cache: true
38+
39+
- name: 📦 Install dependencies (root only, no scripts)
40+
run: pnpm install --filter . --ignore-scripts
3641

3742
- name: 🔠 Lint project
38-
run: node scripts/lint.ts
43+
run: pnpm lint
44+
45+
types:
46+
name: 💪 Type check
47+
runs-on: ubuntu-24.04-arm
48+
49+
steps:
50+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
51+
52+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
53+
with:
54+
node-version: lts/*
55+
56+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
57+
name: 🟧 Install pnpm
58+
with:
59+
cache: true
60+
61+
- name: 📦 Install dependencies
62+
run: pnpm install
63+
64+
- name: 💪 Type check
65+
run: pnpm test:types
66+
67+
unit:
68+
name: 🧪 Unit tests
69+
runs-on: ubuntu-24.04-arm
70+
71+
steps:
72+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
73+
74+
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
75+
with:
76+
node-version: lts/*
77+
78+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
79+
name: 🟧 Install pnpm
80+
with:
81+
cache: true
82+
83+
- name: 📦 Install dependencies
84+
run: pnpm install
85+
86+
- name: 🧪 Unit tests
87+
run: pnpm test:unit run --coverage --reporter=junit --outputFile=test-report.junit.xml
88+
89+
- name: ⬆︎ Upload test results to Codecov
90+
if: ${{ !cancelled() }}
91+
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1
92+
with:
93+
token: ${{ secrets.CODECOV_TOKEN }}
3994

4095
test:
41-
runs-on: ubuntu-latest
96+
name: 🧪 Component tests
97+
runs-on: ubuntu-24.04-arm
4298

4399
steps:
44100
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -47,8 +103,8 @@ jobs:
47103
with:
48104
node-version: lts/*
49105

50-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
51-
name: Install pnpm
106+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
107+
name: 🟧 Install pnpm
52108
with:
53109
cache: true
54110

@@ -58,17 +114,23 @@ jobs:
58114
- name: 🌐 Install browser
59115
run: pnpm playwright install chromium-headless-shell
60116

61-
- name: 💪 Type check
62-
run: pnpm test:types
117+
- name: 🧪 Component tests
118+
run: pnpm test:nuxt run --coverage --reporter=junit --outputFile=test-report.junit.xml
63119

64-
- name: 🧪 Unit test
65-
run: pnpm test:unit
120+
- name: ⬆︎ Upload test results to Codecov
121+
if: ${{ !cancelled() }}
122+
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1
123+
with:
124+
token: ${{ secrets.CODECOV_TOKEN }}
66125

67-
- name: 🏃 Component tests
68-
run: pnpm test:nuxt
126+
- name: ⬆︎ Upload coverage reports to Codecov
127+
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
128+
env:
129+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
69130

70131
browser:
71-
runs-on: ubuntu-latest
132+
name: 🖥️ Browser tests
133+
runs-on: ubuntu-24.04-arm
72134
container:
73135
image: mcr.microsoft.com/playwright:v1.58.0-noble
74136

@@ -79,19 +141,23 @@ jobs:
79141
with:
80142
node-version: lts/*
81143

82-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
83-
name: Install pnpm
144+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
145+
name: 🟧 Install pnpm
84146
with:
85147
cache: true
86148

87149
- name: 📦 Install dependencies
88150
run: pnpm install
89151

152+
- name: 🏗️ Build project
153+
run: pnpm build:playwright
154+
90155
- name: 🖥️ Test project (browser)
91-
run: pnpm test:browser
156+
run: pnpm test:browser:prebuilt
92157

93158
a11y:
94-
runs-on: ubuntu-latest
159+
name: ♿ Accessibility audit
160+
runs-on: ubuntu-latest # See https://github.com/GoogleChrome/lighthouse/discussions/16834
95161
strategy:
96162
matrix:
97163
mode: [dark, light]
@@ -103,16 +169,16 @@ jobs:
103169
with:
104170
node-version: lts/*
105171

106-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
107-
name: Install pnpm
172+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
173+
name: 🟧 Install pnpm
108174
with:
109175
cache: true
110176

111177
- name: 📦 Install dependencies
112178
run: pnpm install
113179

114180
- name: 🏗️ Build project
115-
run: pnpm build
181+
run: NODE_ENV=test pnpm build
116182

117183
- name: ♿ Accessibility audit (Lighthouse - ${{ matrix.mode }} mode)
118184
run: ./scripts/lighthouse-a11y.sh
@@ -121,7 +187,8 @@ jobs:
121187
LIGHTHOUSE_COLOR_MODE: ${{ matrix.mode }}
122188

123189
knip:
124-
runs-on: ubuntu-latest
190+
name: 🧹 Unused code check
191+
runs-on: ubuntu-24.04-arm
125192

126193
steps:
127194
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -130,13 +197,16 @@ jobs:
130197
with:
131198
node-version: lts/*
132199

133-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
134-
name: Install pnpm
200+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
201+
name: 🟧 Install pnpm
135202
with:
136203
cache: true
137204

138205
- name: 📦 Install dependencies
139206
run: pnpm install
140207

141-
- name: 🔍 Check for unused code
208+
- name: 🧹 Check for unused code
142209
run: pnpm knip
210+
211+
- name: 🧹 Check for unused production code
212+
run: pnpm knip --production

.github/workflows/lunaria.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ permissions:
1717

1818
jobs:
1919
lunaria-overview:
20-
name: Generate Lunaria Overview
21-
runs-on: ubuntu-latest
20+
name: 🌝 Generate Lunaria Overview
21+
runs-on: ubuntu-24.04-arm
2222

2323
steps:
2424
- name: Checkout
@@ -32,13 +32,13 @@ jobs:
3232
with:
3333
node-version: lts/*
3434

35-
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
36-
name: Install pnpm
35+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
36+
name: 🟧 Install pnpm
3737
with:
3838
cache: true
3939

4040
- name: 📦 Install dependencies
4141
run: pnpm install
4242

4343
- name: Generate Lunaria Overview
44-
uses: lunariajs/action@v1-prerelease
44+
uses: lunariajs/action@4911ad0736d1e3b20af4cb70f5079aea2327ed8e # v1-prerelease

.github/workflows/provenance.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ permissions:
2020

2121
jobs:
2222
check-provenance:
23+
name: 🔒 Check provenance downgrades
2324
runs-on: ubuntu-slim
2425
steps:
2526
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

.github/workflows/semantic-pull-requests.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
statuses: write # for amannn/action-semantic-pull-request to mark status of analyzed PR
1818
if: github.repository == 'npmx-dev/npmx.dev'
1919
runs-on: ubuntu-slim
20-
name: semantic-pr
20+
name: 🏷️ Validate PR title
2121
steps:
2222
- name: Validate PR title
2323
uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
@@ -26,6 +26,7 @@ jobs:
2626
a11y
2727
deps
2828
docs
29+
cli
2930
i18n
3031
ui
3132
subjectPattern: ^(?![A-Z]).+$

.oxlintrc.json

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"$schema": "https://unpkg.com/oxlint/configuration_schema.json",
33
"plugins": ["unicorn", "typescript", "oxc", "vue", "vitest"],
4+
"jsPlugins": ["@e18e/eslint-plugin"],
45
"categories": {
56
"correctness": "error",
67
"suspicious": "warn",
@@ -11,8 +12,27 @@
1112
"no-await-in-loop": "off",
1213
"unicorn/no-array-sort": "off",
1314
"no-restricted-globals": "error",
14-
"typescript/consistent-type-imports": "error"
15+
"typescript/consistent-type-imports": "error",
16+
"e18e/prefer-array-from-map": "error",
17+
"e18e/prefer-timer-args": "error",
18+
"e18e/prefer-date-now": "error",
19+
"e18e/prefer-regex-test": "error",
20+
"e18e/prefer-array-some": "error"
1521
},
22+
"overrides": [
23+
{
24+
"files": [
25+
"server/**/*",
26+
"cli/**/*",
27+
"scripts/**/*",
28+
"modules/**/*",
29+
"app/components/OgImage/*"
30+
],
31+
"rules": {
32+
"no-console": "off"
33+
}
34+
}
35+
],
1636
"ignorePatterns": [
1737
".output/**",
1838
".data/**",

0 commit comments

Comments
 (0)