Add asset pipeline and professionalize theme
CI / build (push) Failing after 6m2s

Introduce a Node build system for minified CSS/JS with content hashes,
add PWA support, i18n helpers, accessibility improvements, and more
translatable strings. Move theme configuration from bookmarks to
localStorage, add Playwright tests, and set up CI workflows.
This commit is contained in:
2026-08-09 09:25:03 -04:00
parent 10af62dd6c
commit f753b27542
68 changed files with 4743 additions and 1989 deletions
+42
View File
@@ -0,0 +1,42 @@
name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: shaarli-pro
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: shaarli-pro/package-lock.json
- name: Install dependencies
run: npm ci
- name: Build theme assets
run: npm run build
- name: Verify JavaScript syntax
run: |
for f in js/*.js js/modules/*.js dist/*.js; do
node --check "$f"
done
- name: Ensure dist/ is up-to-date
run: |
git diff --exit-code dist/ || (
echo "dist/ is out of date. Run 'npm run build' and commit the changes." && exit 1
)
+43
View File
@@ -0,0 +1,43 @@
name: E2E Tests
on:
workflow_dispatch:
schedule:
# Run every Sunday at 03:00 UTC.
- cron: '0 3 * * 0'
jobs:
e2e:
runs-on: ubuntu-latest
defaults:
run:
working-directory: shaarli-pro
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: shaarli-pro/package-lock.json
- name: Install dependencies
run: npm ci
- name: Install Playwright browsers
run: npx playwright install --with-deps
- name: Run E2E tests
env:
SHAARLI_URL: ${{ secrets.SHAARLI_URL }}
run: npm run test:e2e
- name: Upload Playwright report
if: failure()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: shaarli-pro/playwright-report/
retention-days: 7