This module is a low layer of acot.
Install via npm:
$ npm install --save @acot/core
The following is an example of using the @acot/acot-preset-wcag preset package. Learn @acot/core
from how to use Simple and Advanced respectively.
In the simple example, it depends on the following package.
$ npm install --save puppeteer
The following is an example of specifying all audited pages and their configuration.
import { Acot, PresetLoader } from '@acot/core';
const cwd = process.cwd();
(async () => {
const loader = new PresetLoader(cwd);
const acot = new Acot({
parallel: 4,
origin: 'http://localhost:8000',
presets: [loader.load('@acot/wcag')],
cwd,
});
acot.add('/', {
rules: {
'@acot/wcag/page-has-title': ['error', null],
'@acot/wcag/page-has-valid-lang': ['warn', null],
},
});
const summary = await acot.audit();
console.log('errorCount: %f', summary.errorCount);
console.log('warningCount: %f', summary.warningCount);
console.log('passCount: %f', summary.passCount);
})();
In the advanced example, the following package is used.
The following is an example of performing an audit according to the configuration file (acot.config.js
).
import { loadConfig, ConfigRouter } from '@acot/config';
import { findChrome } from '@acot/find-chrome';
import { Acot } from '@acot/core';
const cwd = process.cwd();
(async () => {
const config = await loadConfig('.', { cwd });
const router = new ConfigRouter(config);
const acot = new Acot({
parallel: 4,
origin: 'http://localhost:8000',
presets: config.presets ?? [],
launchOptions: {
executablePath: (await findChrome())!.executablePath,
},
cwd,
});
config.paths?.forEach((path) => {
const entry = router.resolve(path);
acot.add(path, {
rules: entry.rules,
presets: entry.presets,
headers: entry.headers,
});
});
const summary = await acot.audit();
console.log('errorCount: %f', summary.errorCount);
console.log('warningCount: %f', summary.warningCount);
console.log('passCount: %f', summary.passCount);
})();