Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
a7fad36
Add `.nvmrc` → 14
danyalaytekin Nov 13, 2023
b6f5382
Fix package.json's URLs
danyalaytekin Nov 13, 2023
59e5381
Update to Pa11y CI's version (`https` etc)
danyalaytekin Nov 13, 2023
8f652d3
Add Node 16 to matrix, and make linter run each time
danyalaytekin Nov 13, 2023
978f0ff
Standardise `.editorconfig`
danyalaytekin Nov 13, 2023
4bdfa67
Upgrade to `actions/checkout@4` and `actions/setup-node@3`
danyalaytekin Nov 13, 2023
8c4428e
Replace `npm install` with `npm ci`
danyalaytekin Nov 13, 2023
e66135c
Replace `wait-action` with `sleep 10s`
danyalaytekin Nov 13, 2023
d32d5eb
Rewrite to detach config, use promises, and replace `request` with `f…
danyalaytekin Nov 13, 2023
22c888f
Delete small single-use helper
danyalaytekin Nov 13, 2023
96b7bc8
Bump to `pa11y-webservice@4.1` and use caret from here (we control th…
danyalaytekin Nov 13, 2023
4d92d3a
Return to `this.last`, fix syntax errors
danyalaytekin Nov 13, 2023
4640e1d
Update copyright to 2023 and remove unused ref
danyalaytekin Nov 13, 2023
8667e8a
Fix troubleshooting link
danyalaytekin Nov 13, 2023
5df2633
Remove symbols, since they could become outdated
danyalaytekin Nov 13, 2023
0eaf063
Remove missing link
danyalaytekin Nov 13, 2023
f3335a4
Replace emoji note with GitHub Markdown note
danyalaytekin Nov 13, 2023
39444a4
Fix setup link
danyalaytekin Nov 13, 2023
7bf686d
Replace br with double space
danyalaytekin Nov 13, 2023
709aa07
Replace `sh` with `console` for terminal output
danyalaytekin Nov 13, 2023
2ead398
Rename Mongo DB used in integration tests to avoid clash locally
danyalaytekin Nov 13, 2023
273f0fa
Remove JSCS and references to other unused tools
danyalaytekin Nov 13, 2023
cd15a08
Remove tooling tasks update
danyalaytekin Nov 13, 2023
184515c
Compress definitions and layout where it makes sense or brings clarity
danyalaytekin Nov 13, 2023
e1b2b06
Rename db used in tests to `pa11y-dashboard-integration-test`, to avo…
danyalaytekin Nov 13, 2023
adb6a77
Use briefer syntax
danyalaytekin Nov 13, 2023
db5c159
Fix integration test setup & config
danyalaytekin Nov 13, 2023
24f8e6a
Reverse function order to return early
danyalaytekin Nov 13, 2023
edabfa1
Update to `pa11y-lint-config@3`, update `ecmaVersion` to 2020, remove…
danyalaytekin Nov 13, 2023
0dee15b
Fix linting errors, remove cruft
danyalaytekin Nov 13, 2023
bf663f8
Move linting and broken integration test command into npm scripts (it…
danyalaytekin Nov 13, 2023
6225dc2
Revert `node-fetch` to `^2.7.0` (can't do ESM right now)
danyalaytekin Nov 13, 2023
3b3a504
Upgrade to `pa11y-webservice@^4.2` from `^4.1`
danyalaytekin Nov 13, 2023
541aa06
Upgrade to `mocha@^9.2` from `^8.4` (can't do `10` yet because it dro…
danyalaytekin Nov 13, 2023
962e1e3
Use backticks for property names
danyalaytekin Nov 13, 2023
bfbaf2f
Fix anchor link for 'installing MongoDB'
danyalaytekin Nov 13, 2023
b8cc7ca
Reorganise test workflow and add Node `18` and `20` to test matrix
danyalaytekin Nov 13, 2023
03edcde
Fix `lockfile-version` to `2`
danyalaytekin Nov 13, 2023
a581fe4
Apply support policy
danyalaytekin Nov 13, 2023
a5e98b1
Replace Travis badge with one for Actions
danyalaytekin Nov 13, 2023
c8be229
Define some more links, separate code blocks
danyalaytekin Nov 13, 2023
1068273
Reflect greater confidence in support for recent versions of MongoDB
danyalaytekin Nov 13, 2023
4f411c5
Test against MongoDB versions 3-7
danyalaytekin Nov 13, 2023
7008389
Remove Make tasks `all`, `ci`, `clean`, `install`, `node_modules`, `l…
danyalaytekin Nov 13, 2023
b898244
Fix integration test command in workflow
danyalaytekin Nov 13, 2023
7312058
Restore shallow Mocha command for now
danyalaytekin Nov 13, 2023
ef5fb19
Move linting into own step `lint` to avoid duplicated warnings
danyalaytekin Nov 13, 2023
bfc4d6d
Give the `test` workflow a better name now that it uses a bigger matrix
danyalaytekin Nov 13, 2023
6ead08d
Drop back to ES2019 from ES2020 for Node 12, remove use of `?.`
danyalaytekin Nov 13, 2023
0124295
Reduce `--slow` to `4000`
danyalaytekin Nov 13, 2023
1dceb29
Remove a `describe.only` 👀
danyalaytekin Nov 13, 2023
f6bd365
Fix broken test for add new item → standard
danyalaytekin Nov 13, 2023
55408c1
Rename availability check function
danyalaytekin Nov 13, 2023
92cda9f
Fix task count check when testing task creation
danyalaytekin Nov 13, 2023
37b0ddd
Return fully to the original `new` logic
danyalaytekin Nov 13, 2023
6a924fc
Use `127.0.0.1` consistently to fix (possible) IPV6 issue
danyalaytekin Nov 13, 2023
bf4fc4d
Fix Cheerio call in failing test
danyalaytekin Nov 13, 2023
705adee
Add MongoDB 2, and tweak other final versions
danyalaytekin Nov 13, 2023
620b9b6
Lower case and shorten test name, to sit well alongside lint job
danyalaytekin Nov 15, 2023
ec834cd
Replace `underscore(.groupBy)` with `lodash/groupby`
danyalaytekin Nov 15, 2023
6b8c365
Capitalise Puppeteer
danyalaytekin Nov 15, 2023
c144dac
Say we test against MongoDB 2 as well
danyalaytekin Nov 15, 2023
df50bc1
Document two replacements of Make with npm scripts
danyalaytekin Nov 15, 2023
c718eb8
Revise requirements, permitting Node 16+ and describing Ubuntu issue
danyalaytekin Nov 15, 2023
fee6bba
Support Node 16, 18, 20
danyalaytekin Nov 15, 2023
081fbff
Install `lodash.keys` and fix Lodash mistakes
danyalaytekin Nov 15, 2023
9ba63ab
Fix rebase autoresolution error affecting `index.js` 👀
danyalaytekin Nov 15, 2023
af361b3
This is Pa11y Dashboard not Webservice
danyalaytekin Nov 15, 2023
4c11817
Fix MongoDB link
danyalaytekin Nov 15, 2023
f43ca06
Remove unused link def for Puppeteer
danyalaytekin Nov 15, 2023
f2792c7
Shush markdown linter
danyalaytekin Nov 15, 2023
6ce6e49
Actually use `pa11y-webservice@4.3`
danyalaytekin Nov 15, 2023
05feae9
Improve support table
danyalaytekin Nov 15, 2023
c3f1987
Don't `fail-fast`
danyalaytekin Nov 15, 2023
0ccb4d7
Remove dependency `underscore`
danyalaytekin Nov 15, 2023
d44a656
Fix dashboard's port definition for integration test
danyalaytekin Nov 15, 2023
2cb94ba
Set `NODE_ENV=test` for integration tests
danyalaytekin Nov 15, 2023
c69dbb4
Use `mocha@10`
danyalaytekin Nov 15, 2023
fd2a8e7
Extend the sleep to rule out the service not starting in time
danyalaytekin Nov 15, 2023
41110ef
Wait on port `4000` instead of sleeping
danyalaytekin Nov 15, 2023
9b1933a
Fix `wait-on-action` to `v1.1.0`
danyalaytekin Nov 15, 2023
439b85f
Fix includes of `lodash.groupby` and `lodash.keys`
danyalaytekin Nov 15, 2023
8d034b5
Label the port waiting action
danyalaytekin Nov 15, 2023
70d93d3
Fix to `pa11y-webservice@4.2.0` until dep issue resolved
danyalaytekin Nov 15, 2023
048b141
Set waiter action to start after 1s, time out after 30s, and log
danyalaytekin Nov 15, 2023
def7b3b
Upgrade to `pa11y-webservice@^4.3.1` from `~4.2.0`
danyalaytekin Nov 15, 2023
a530627
Remove comment about recent versions of MongoDB, since we test with t…
danyalaytekin Nov 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# http://editorconfig.org

root = true

[*]
Expand All @@ -11,7 +9,7 @@ insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
indent_style = spaces
indent_style = space
trim_trailing_whitespace = false

[*.yml]
Expand Down
11 changes: 10 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
'use strict';

module.exports = require('pa11y-lint-config/eslint/es2017');
const pa11yConfig = require('pa11y-lint-config/eslint/es2017');

const config = {
...pa11yConfig,
parserOptions: {
ecmaVersion: 2019
}
};

module.exports = config;
66 changes: 40 additions & 26 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,44 +1,58 @@
name: Build and lint

on:
push:
branches:
- main
pull_request:

jobs:
checkout_and_test:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: 12
- run: npm ci
- run: npm run lint

test:
name: test (node ${{ matrix.node }}, mongodb ${{ matrix.mongo }})
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
node: [12, 14, 16, 18, 20]
mongo: [latest]
include:
- node-version: 12.x
lint: true # Linter is run only once to shorten the total build time
- node-version: 14.x
- { node: 12, mongo: 6.0.11 }
- { node: 12, mongo: 5.0.22 }
- { node: 12, mongo: 4.4.25 }
- { node: 12, mongo: 3.6.23 }
- { node: 12, mongo: 2.6.12 }

steps:
- name: Checkout code from ${{ github.repository }}
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: MongoDB in GitHub Actions
uses: supercharge/mongodb-github-action@1.3.0
node-version: ${{ matrix.node }}
- run: npm ci

- name: Supply MongoDB ${{ matrix.mongo }}
uses: supercharge/mongodb-github-action@1.5.0
with:
mongodb-version: 3.4
- name: Install dependencies
run: npm i
- name: Run linter
if: ${{ matrix.lint }}
run: make lint
- name: Create test config
mongodb-version: ${{ matrix.mongo }}

- name: Supply integration test configuration file
run: cp config/test.sample.json config/test.json
- name: Start test app

- name: Make dashboard available to be integration-tested
run: NODE_ENV=test node index.js &
- name: Wait / Sleep
uses: jakejarvis/wait-action@v0.1.0
- name: Wait for dashboard to respond
uses: iFaxity/wait-on-action@v1.1.0
with:
time: '10s'
- name: Run tests
run: make ci
resource: http://localhost:4000
delay: 1000
timeout: 30000
log: true

- run: NODE_ENV=test npm test
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

# Config files
config/development.json
config/production.json
Expand All @@ -8,5 +7,5 @@ config/test.json
node_modules
npm-debug.log

# JetBrains IDE
# Editors
.idea
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lockfile-version=2
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
14
14 changes: 6 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@

Contributing Guide
==================
# Contributing Guide

Thanks for getting involved :tada:

Expand All @@ -14,8 +12,8 @@ Our website outlines the many ways that you can contribute to Pa11y:



[code-of-conduct]: http://pa11y.org/contributing/code-of-conduct/
[communications]: http://pa11y.org/contributing/communications/
[companies]: http://pa11y.org/contributing/companies/
[designers]: http://pa11y.org/contributing/designers/
[developers]: http://pa11y.org/contributing/developers/
[code-of-conduct]: https://pa11y.org/contributing/code-of-conduct/
[communications]: https://pa11y.org/contributing/communications/
[companies]: https://pa11y.org/contributing/companies/
[designers]: https://pa11y.org/contributing/designers/
[developers]: https://pa11y.org/contributing/developers/
15 changes: 0 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,25 +1,10 @@
include Makefile.node

# We need to run integration tests recursively
export INTEGRATION_FLAGS := --recursive


# Verify tasks
# ------------

# Lint alias for backwards compatibility
lint: verify


# Client-side asset tasks
# -----------------------

# Compile LESS
less:
@lessc -x ./public/less/main.less ./public/css/site.min.css
@$(TASK_DONE)

# Compile client-side JavaScript
uglify:
@uglifyjs \
public/js/vendor/jquery/jquery.min.js \
Expand Down
125 changes: 0 additions & 125 deletions Makefile.node

This file was deleted.

Loading