Skip to content

Commit 5aa7241

Browse files
committed
feat: add support for latest npmjs.com changes
1 parent d47c3e1 commit 5aa7241

4 files changed

Lines changed: 14 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## v0.4.2
6+
7+
### 🐞 Bug Fixes
8+
9+
- Fix extension not working with the latest npmjs.com website changes.
10+
511
## v0.4.1
612

713
### 🐞 Bug Fixes

src/content/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ function hideExtension() {
101101
}
102102

103103
function getNpmElements() {
104-
const command = document.querySelector('code + button')?.parentElement?.parentElement
104+
const command = document.querySelector('code + button')?.parentElement?.parentElement?.parentElement
105105
const dependency = document.querySelector('main > div > div > h2 > span')
106106
const sidebar = command?.parentElement
107107
const commandTitle = sidebar?.querySelector(':scope > h3')

tests/content.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ test.describe('content', () => {
8585

8686
test('should use the exact version in the commands when navigating to a specific version page', async ({ page }) => {
8787
const version = '18.2.0'
88+
const versionAriaLabel = '18 .2 .0'
8889
const packageManager = 'pnpm'
8990

9091
await goToExtensionPage(page)
@@ -96,7 +97,7 @@ test.describe('content', () => {
9697
await page.click('a[aria-controls="tabpanel-versions"]')
9798
await expect(page.getByRole('heading', { name: 'Current Tags' })).toBeVisible()
9899

99-
await page.click(`a[aria-label="${version}"]`)
100+
await page.click(`a[aria-label="${versionAriaLabel}"]`)
100101
await page.waitForSelector('a[aria-controls="tabpanel-readme"][aria-selected="true"]')
101102

102103
const [commandLocator, devCommandLocator, , tsDeclarationsLocator] = getCommandLocators(page)
@@ -162,7 +163,7 @@ test.describe('content', () => {
162163
await goToNpmPage(page)
163164
await page.waitForSelector(`h3:has-text("Install")`)
164165

165-
const commandLocator = page.locator('div:has(> p > code + button)')
166+
const commandLocator = page.locator('div:has(> p > span > code + button)')
166167

167168
expect(await commandLocator.count()).toBe(1)
168169
expect(await commandLocator.isVisible()).toBe(true)
@@ -171,7 +172,7 @@ test.describe('content', () => {
171172
})
172173

173174
function getCommandLocators(page: Page) {
174-
const commandsLocator = page.locator('div:has(> p > code + button)')
175+
const commandsLocator = page.locator('div:has(> p > span > code + button)')
175176

176177
const command = commandsLocator.first()
177178
const devCommand = commandsLocator.nth(1)

tests/test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ export const test = baseTest.extend({
2424
},
2525
})
2626

27-
export function goToExtensionPage(page: Page) {
28-
return page.goto(`chrome-extension://${EXT_TEST_ID}/popup.html`)
27+
export async function goToExtensionPage(page: Page) {
28+
await page.goto(`chrome-extension://${EXT_TEST_ID}/popup.html`)
29+
await page.waitForLoadState('networkidle')
2930
}
3031

3132
export function goToNpmPage(page: Page, packageName = npmTestPackage, version?: string) {

0 commit comments

Comments
 (0)