Skip to content

Commit 602cc45

Browse files
authored
Merge branch 'main' into feat/add-pm-dropdown
2 parents 5bd4212 + 0e8acc5 commit 602cc45

22 files changed

Lines changed: 1700 additions & 57 deletions

.github/workflows/autofix.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,15 @@ jobs:
1818

1919
steps:
2020
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
21-
- run: corepack enable
21+
2222
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
2323
with:
2424
node-version: lts/*
25-
cache: 'pnpm'
25+
26+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
27+
name: Install pnpm
28+
with:
29+
cache: true
2630

2731
- name: 📦 Install dependencies
2832
run: pnpm install

.github/workflows/ci.yml

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,15 @@ jobs:
2020

2121
steps:
2222
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
23-
- run: corepack enable
23+
2424
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
2525
with:
2626
node-version: lts/*
27-
cache: pnpm
27+
28+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
29+
name: Install pnpm
30+
with:
31+
cache: true
2832

2933
- name: 📦 Install dependencies
3034
run: pnpm install
@@ -37,11 +41,15 @@ jobs:
3741

3842
steps:
3943
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
40-
- run: corepack enable
44+
4145
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
4246
with:
4347
node-version: lts/*
44-
cache: pnpm
48+
49+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
50+
name: Install pnpm
51+
with:
52+
cache: true
4553

4654
- name: 📦 Install dependencies
4755
run: pnpm install
@@ -65,11 +73,15 @@ jobs:
6573

6674
steps:
6775
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
68-
- run: corepack enable
76+
6977
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
7078
with:
7179
node-version: lts/*
72-
cache: pnpm
80+
81+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
82+
name: Install pnpm
83+
with:
84+
cache: true
7385

7486
- name: 📦 Install dependencies
7587
run: pnpm install
@@ -82,11 +94,15 @@ jobs:
8294

8395
steps:
8496
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
85-
- run: corepack enable
97+
8698
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
8799
with:
88100
node-version: lts/*
89-
cache: pnpm
101+
102+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
103+
name: Install pnpm
104+
with:
105+
cache: true
90106

91107
- name: 📦 Install dependencies
92108
run: pnpm install
@@ -104,11 +120,15 @@ jobs:
104120

105121
steps:
106122
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
107-
- run: corepack enable
123+
108124
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
109125
with:
110126
node-version: lts/*
111-
cache: pnpm
127+
128+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
129+
name: Install pnpm
130+
with:
131+
cache: true
112132

113133
- name: 📦 Install dependencies
114134
run: pnpm install

.github/workflows/lunaria.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,14 @@ jobs:
2828
# Makes the action clone the entire git history
2929
fetch-depth: 0
3030

31-
- run: corepack enable
3231
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
3332
with:
3433
node-version: lts/*
35-
cache: pnpm
34+
35+
- uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c
36+
name: Install pnpm
37+
with:
38+
cache: true
3639

3740
- name: 📦 Install dependencies
3841
run: pnpm install

.github/workflows/provenance.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: ci
1+
name: provenance
22

33
on:
44
push:

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,7 @@ This Code of Conduct applies within all project spaces, and it also applies when
3434

3535
## Enforcement
3636

37-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [daniel@roe.dev](mailto:daniel@roe.dev). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38-
39-
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project stewards (`@danielroe` and `@patak.dev`) by DM in our [community chat](https://chat.npmx.dev). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The stewards are obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
4038

4139
## Attribution
4240

GOVERNANCE.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Governance
2+
3+
This document outlines the governance model for npmx. This includes descriptions of different roles, nomination processes, code review processes, and Code of Conduct enforcement.
4+
5+
**All community members must follow the [Code of Conduct (CoC)](CODE_OF_CONDUCT.md).**
6+
7+
## Get Involved
8+
9+
**Anything that supports the npmx community is a valuable contribution!**
10+
11+
All types of contribution are meaningful. This can include code changes, type fixes, Discord activity, and even posting about npmx to your personal blog. No contribution is too small!
12+
13+
Anyone can become an npmx contributor. Engineering ability is not required. Our goal is to recognize all contributors to the project regardless of skill, experience or background.
14+
15+
## Roles
16+
17+
Each contributor role comes with a set of privileges and responsibilities, and they are granted for as long as the individual wishes to engage with the project. Contributors can voluntarily leave the project at any time.
18+
19+
### Contributor
20+
21+
Have you done something (big or small) to contribute to the health, success, or growth of npmx? Congratulations, you're officially recognized as a **Contributor** to the project! Examples of recognized contributions are helping on the repo, chat, and social. But also blogging, podcasting, and livestreaming about npmx.
22+
23+
This role does not require any extra responsibilities nor time commitment. We hope you stick around and keep participating in our community!
24+
25+
### Maintainer
26+
27+
The **Maintainer** role is available to contributors who want to join the team and take part in the long-term maintenance and growth of npmx. This role is critical to the long-term health of npmx. Maintainers act as the first line of defense when it comes to new issues, pull requests and chat activity.
28+
29+
Maintainers are not required to write code! Some Maintainers spend most of their time inside of our chat, maintaining a healthy community there. Others work on technical documentation, support, or design. There is no strict minimum number of contributions needed to reach this level, as long as you can show sustained involvement over time.
30+
31+
### Core
32+
33+
The **Core** role is available to community members who have a larger-than-usual impact on the npmx project and community. They are seen as leaders in the project and are listened to by the wider npmx community, often before they have even reached this level. A Core member is recognized for contributing a significant amount of time and energy to the project through issues, pull requests, bug fixes, implementing advanced features, or actively posting on our chat.
34+
35+
Not every contributor will reach this level, and that's okay! Maintainers still have significant responsibility and privileges within our community.
36+
37+
### Project Steward
38+
39+
**Stewards** control and maintain sensitive project asset and assist in shaping the direction and vision of the project. We aim to act with consensus within the core team, but stewards can resolve disagreements when needed. Stewards act in the project's best interest and should be an example for the rest of the community. New Stewards are added based on a unanimous vote by the existing Stewards.
40+
41+
The npmx project Stewards are currently:
42+
43+
- **Daniel Roe** ([website](https://roe.dev), [social](https://bsky.app/profile/danielroe.dev), [github](https://github.com/danielroe), [@danielroe](https://chat.npmx.dev))
44+
- **Matias Capeletto** ([website](https://patak.dev), [social](https://bsky.app/profile/patak.dev), [github](https://github.com/patak-dev), [@patak.dev](https://chat.npmx.dev))
45+
46+
---
47+
48+
Inspired by [Astro](https://github.com/withastro/.github/blob/main/GOVERNANCE.md), [ESLint](https://eslint.org/docs/6.0.0/maintainer-guide/governance), [Rome](https://github.com/rome/tools/blob/203b8efaf3ff087e82b97c484dedc5b5c5f15bcd/GOVERNANCE.md) and [Blitz](https://blitzjs.com/docs/maintainers).

app/components/PackageDependencies.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ const sortedOptionalDependencies = computed(() => {
103103
v-if="outdatedDeps[dep]"
104104
class="shrink-0"
105105
:class="getVersionClass(outdatedDeps[dep])"
106-
:title="getOutdatedTooltip(outdatedDeps[dep])"
106+
:title="getOutdatedTooltip(outdatedDeps[dep], $t)"
107107
aria-hidden="true"
108108
>
109109
<span class="i-carbon:warning-alt w-3 h-3 block" />
@@ -138,12 +138,12 @@ const sortedOptionalDependencies = computed(() => {
138138
:to="{ name: 'package', params: { package: [...dep.split('/'), 'v', version] } }"
139139
class="font-mono text-xs text-end truncate"
140140
:class="getVersionClass(outdatedDeps[dep])"
141-
:title="outdatedDeps[dep] ? getOutdatedTooltip(outdatedDeps[dep]) : version"
141+
:title="outdatedDeps[dep] ? getOutdatedTooltip(outdatedDeps[dep], $t) : version"
142142
>
143143
{{ version }}
144144
</NuxtLink>
145145
<span v-if="outdatedDeps[dep]" class="sr-only">
146-
({{ getOutdatedTooltip(outdatedDeps[dep]) }})
146+
({{ getOutdatedTooltip(outdatedDeps[dep], $t) }})
147147
</span>
148148
<span v-if="getVulnerableDepInfo(dep)" class="sr-only">
149149
({{ getVulnerableDepInfo(dep)!.counts.total }} vulnerabilities)

app/components/PackageInstallScripts.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ const isExpanded = shallowRef(false)
8888
"
8989
class="shrink-0"
9090
:class="getVersionClass(outdatedNpxDeps[dep])"
91-
:title="getOutdatedTooltip(outdatedNpxDeps[dep])"
91+
:title="getOutdatedTooltip(outdatedNpxDeps[dep], $t)"
9292
aria-hidden="true"
9393
>
9494
<span class="i-carbon:warning-alt w-3 h-3 block" />
@@ -102,7 +102,7 @@ const isExpanded = shallowRef(false)
102102
? $t('package.install_scripts.currently', {
103103
version: outdatedNpxDeps[dep].latest,
104104
})
105-
: getOutdatedTooltip(outdatedNpxDeps[dep])
105+
: getOutdatedTooltip(outdatedNpxDeps[dep], $t)
106106
: version
107107
"
108108
>

app/components/PackageListToolbar.vue

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -142,17 +142,11 @@ function getSortKeyLabelKey(key: SortKey): string {
142142

143143
<div class="flex-1" />
144144

145-
<div class="flex flex-wrap items-center gap-3">
146-
<!-- Column picker (table view only) -->
147-
<ColumnPicker
148-
v-if="viewMode === 'table'"
149-
:columns="columns"
150-
@toggle="emit('toggleColumn', $event)"
151-
@reset="emit('resetColumns')"
152-
/>
153-
145+
<div
146+
class="flex flex-wrap items-center gap-3 sm:justify-end justify-between w-full sm:w-auto"
147+
>
154148
<!-- Sort controls -->
155-
<div class="flex items-center gap-1 shrink-0">
149+
<div class="flex items-center gap-1 shrink-0 order-1 sm:order-1">
156150
<!-- Sort key dropdown -->
157151
<div class="relative">
158152
<label for="sort-select" class="sr-only">{{ $t('filters.sort.label') }}</label>
@@ -205,8 +199,31 @@ function getSortKeyLabelKey(key: SortKey): string {
205199
</button>
206200
</div>
207201

208-
<!-- View mode toggle -->
209-
<ViewModeToggle v-model="viewMode" />
202+
<!-- View mode toggle - mobile (left side, row 2) -->
203+
<div class="flex sm:hidden items-center gap-1 order-2">
204+
<ViewModeToggle v-model="viewMode" />
205+
</div>
206+
207+
<!-- Column picker - mobile (right side, row 2) -->
208+
<ColumnPicker
209+
v-if="viewMode === 'table'"
210+
class="flex sm:hidden order-3"
211+
:columns="columns"
212+
@toggle="emit('toggleColumn', $event)"
213+
@reset="emit('resetColumns')"
214+
/>
215+
216+
<!-- View mode toggle + Column picker - desktop (right side, row 1) -->
217+
<div class="hidden sm:flex items-center gap-1 order-2">
218+
<ViewModeToggle v-model="viewMode" />
219+
220+
<ColumnPicker
221+
v-if="viewMode === 'table'"
222+
:columns="columns"
223+
@toggle="emit('toggleColumn', $event)"
224+
@reset="emit('resetColumns')"
225+
/>
226+
</div>
210227
</div>
211228
</div>
212229

app/components/PackageMetricsBadges.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const typesHref = computed(() => {
5252

5353
<template>
5454
<ul v-if="analysis" class="flex items-center gap-1.5 list-none m-0 p-0">
55-
<!-- TypeScript types -->
55+
<!-- TypeScript types badge -->
5656
<li>
5757
<component
5858
:is="typesHref ? NuxtLink : 'span'"
@@ -73,7 +73,7 @@ const typesHref = computed(() => {
7373
:class="hasTypes ? 'i-carbon-checkmark' : 'i-carbon-close'"
7474
aria-hidden="true"
7575
/>
76-
Types
76+
{{ $t('package.metrics.types_label') }}
7777
</component>
7878
</li>
7979

0 commit comments

Comments
 (0)