mirror of
https://github.com/luxfi/wallet.git
synced 2026-10-30 15:13:19 +00:00
- Delete pkgs/{analytics,api,config,eslint-config,gating,lx,notifications,
prices,sessions,ui,utilities} — all identical to ~/work/lux/exchange
canonical (MD5-matched). Now published to npm at @l.x/*; consume from
there instead of vendoring.
- pkgs/wallet remains — this IS @luxfi/wallet (the uniswap-style extension
+ mobile wallet bones). Published at 1.0.10.
- Rewrite 3553 bare-path imports (uniswap/src/, ui/src/, utilities/src/,
lx/src/, lux/src/) → explicit @l.x/* across 725 files.
- apps/{extension,mobile}/package.json: workspace:^ → npm ^versions for
all @l.x/* / @luxfi/eslint-config; only @luxfi/wallet stays workspace.
- apps/{extension,mobile}/.eslintrc.js: RULES_DIR → node_modules/@l.x/lx/eslint_rules.
~315K line deletion. One canonical home: ~/work/lux/exchange.
40 lines
1.4 KiB
TypeScript
40 lines
1.4 KiB
TypeScript
import { expect } from '@playwright/test'
|
|
import { freshExtensionTest as test } from 'e2e/fixtures/extension.fixture'
|
|
import { ONE_SECOND_MS } from '@l.x/utils/src/time/time'
|
|
import { sleep } from '@l.x/utils/src/time/timing'
|
|
|
|
test.describe('Basic Extension Setup', () => {
|
|
test('extension loads successfully', async ({ context, extensionId }) => {
|
|
// Verify extension ID was captured
|
|
expect(extensionId).toBeTruthy()
|
|
expect(extensionId).toMatch(/^[a-z]{32}$/)
|
|
|
|
// Wait for extension pages to appear with retry logic
|
|
let extensionPages = []
|
|
const maxAttempts = 20
|
|
for (let i = 0; i < maxAttempts; i++) {
|
|
await sleep(ONE_SECOND_MS)
|
|
const pages = context.pages()
|
|
extensionPages = pages.filter((page) => page.url().includes(`chrome-extension://${extensionId}`))
|
|
if (extensionPages.length > 0) {
|
|
break
|
|
}
|
|
}
|
|
|
|
// Check that we have at least one page open
|
|
const pages = context.pages()
|
|
expect(pages.length).toBeGreaterThan(0)
|
|
|
|
// Verify at least one page is from the extension
|
|
expect(extensionPages.length).toBeGreaterThan(0)
|
|
})
|
|
|
|
test('background script loads', async ({ context }) => {
|
|
// Wait for service worker to load (MV3 extensions use service workers)
|
|
await sleep(ONE_SECOND_MS * 2)
|
|
|
|
const serviceWorkers = context.serviceWorkers()
|
|
expect(serviceWorkers.length).toBeGreaterThan(0)
|
|
})
|
|
})
|