# The web pages' checks, as `just lint` runs them: svelte-check, which # fails on any warning, that each component uses only its own layer # and those below (harness/layers.mjs), and that every theme's text meets # WCAG AA contrast on what it is drawn on (harness/contrast.mjs). The # packages are kept between runs and installed again only when the # lockfile changes. image: node:24.22.1 # Every push to main, and pulls into it or a feature/ branch, at their # heads merged with their base, that change the pages, the layers' check # or this file. A pull changing none passes at once, noted as skipped. on: push: {refs: [refs/heads/main]} pull: base: [refs/heads/main, refs/heads/feature/*] paths: [web/**, lexicons/**, harness/layers.mjs, harness/contrast.mjs, .knotless/workflows/web.yml, .knotless/uses.lock] cache: [web/node_modules] steps: - uses: chadtmiller.com/steps/npm-ci@1 name: packages with: {dir: web} - name: layers run: node harness/layers.mjs - name: contrast run: node harness/contrast.mjs - name: svelte-check run: cd web && npm run check