Skip to content

Commit 9e2e34d

Browse files
authored
Use relative file paths (#60)
* Use relative path of file * Use relative path in tests * Update snapshots * Internal: absolutePublishDir --> publishDir
1 parent 0555818 commit 9e2e34d

File tree

7 files changed

+23
-21
lines changed

7 files changed

+23
-21
lines changed

src/config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const getConfiguration = ({
1313
inputs: { checkPaths, ignoreDirectories, failWithIssues, wcagLevel },
1414
}) => {
1515
return {
16-
absolutePublishDir: PUBLISH_DIR || process.env.PUBLISH_DIR,
16+
publishDir: PUBLISH_DIR || process.env.PUBLISH_DIR,
1717
checkPaths: checkPaths || DEFAULT_CHECK_PATHS,
1818
ignoreDirectories: ignoreDirectories || DEFAULT_IGNORE_DIRECTORIES,
1919
failWithIssues: failWithIssues !== undefined ? failWithIssues : DEFAULT_FAIL_WITH_ISSUES,

src/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ const pico = require('picocolors')
77
module.exports = {
88
async onPostBuild({ constants, inputs, utils: { build } }) {
99
try {
10-
const { absolutePublishDir, checkPaths, ignoreDirectories, pa11yOpts, failWithIssues } = getConfiguration({
10+
const { publishDir, checkPaths, ignoreDirectories, pa11yOpts, failWithIssues } = getConfiguration({
1111
constants,
1212
inputs,
1313
})
1414
const htmlFilePaths = await pluginCore.generateFilePaths({
15-
absolutePublishDir,
15+
publishDir,
1616
ignoreDirectories,
1717
fileAndDirPaths: checkPaths,
1818
})

src/pluginCore.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// @ts-check
22

33
const pa11y = require('pa11y')
4-
const { extname } = require('path')
4+
const { extname, join } = require('path')
55
const { isDirectory, isFile } = require('path-type')
66
const { results: cliReporter } = require('./reporter')
77
const readdirp = require('readdirp')
@@ -36,7 +36,7 @@ exports.runPa11y = async function ({ htmlFilePaths, pa11yOpts, build }) {
3636
exports.generateFilePaths = async function ({
3737
fileAndDirPaths, // array, mix of html and directories
3838
ignoreDirectories,
39-
absolutePublishDir,
39+
publishDir,
4040
}) {
4141
const directoryFilter =
4242
ignoreDirectories.length === 0
@@ -46,7 +46,7 @@ exports.generateFilePaths = async function ({
4646
(dir) => `!${dir.replace(/^\/+/, '')}`,
4747
)
4848
const htmlFilePaths = await Promise.all(
49-
fileAndDirPaths.map((fileAndDirPath) => findHtmlFiles(`${absolutePublishDir}${fileAndDirPath}`, directoryFilter)),
49+
fileAndDirPaths.map((fileAndDirPath) => findHtmlFiles(`${publishDir}${fileAndDirPath}`, directoryFilter)),
5050
)
5151
return [].concat(...htmlFilePaths)
5252
}
@@ -59,8 +59,8 @@ const findHtmlFiles = async function (fileAndDirPath, directoryFilter) {
5959
fileFilter: GLOB_HTML,
6060
})
6161

62-
for await (const { fullPath } of stream) {
63-
filePaths.push(fullPath)
62+
for await (const { path } of stream) {
63+
filePaths.push(join(fileAndDirPath, path))
6464
}
6565

6666
return filePaths

tests/generateFilePaths/__snapshots__/this.test.js.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
exports[`generateFilePaths works 1`] = `
44
Array [
5-
"/Users/ej/projects/netlify-plugin-a11y/tests/generateFilePaths/publishDir/blog/post1.html",
6-
"/Users/ej/projects/netlify-plugin-a11y/tests/generateFilePaths/publishDir/blog/post2.html",
7-
"/Users/ej/projects/netlify-plugin-a11y/tests/generateFilePaths/publishDir/about.html",
5+
"tests/generateFilePaths/publishDir/blog/post1.html",
6+
"tests/generateFilePaths/publishDir/blog/post2.html",
7+
"tests/generateFilePaths/publishDir/about.html",
88
]
99
`;

tests/generateFilePaths/this.test.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
const path = require('path')
22

33
const PUBLISH_DIR = path.join(__dirname, 'publishDir')
4+
const publishDir = path.relative(process.cwd(), PUBLISH_DIR)
45
// actual test
6+
57
const pluginCore = require('../../src/pluginCore')
68
test('generateFilePaths works', async () => {
79
const results = await pluginCore.generateFilePaths({
8-
absolutePublishDir: PUBLISH_DIR,
10+
publishDir: publishDir,
911
fileAndDirPaths: ['/blog', '/about.html'],
1012
ignoreDirectories: [],
1113
})
@@ -20,7 +22,7 @@ test('ignoreDirectories works including leading slash', async () => {
2022
const results = await pluginCore.generateFilePaths({
2123
fileAndDirPaths: ['/'],
2224
ignoreDirectories: ['/admin'],
23-
absolutePublishDir: PUBLISH_DIR,
25+
publishDir: publishDir,
2426
})
2527
expect(pathInResults('publishDir/blog/post1.html', results)).toBe(true)
2628
expect(pathInResults('publishDir/about.html', results)).toBe(true)
@@ -32,7 +34,7 @@ test('ignoreDirectories works without leading slash', async () => {
3234
const results = await pluginCore.generateFilePaths({
3335
fileAndDirPaths: ['/'],
3436
ignoreDirectories: ['admin'],
35-
absolutePublishDir: PUBLISH_DIR,
37+
publishDir: publishDir,
3638
})
3739
expect(pathInResults('publishDir/blog/post1.html', results)).toBe(true)
3840
expect(pathInResults('publishDir/about.html', results)).toBe(true)

tests/runPa11y/__snapshots__/this.test.js.snap

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ exports[`runPa11y works 1`] = `
44
Object {
55
"issueCount": 1,
66
"report": "
7-
[4mResults for URL: file:///Users/ej/projects/netlify-plugin-a11y/tests/runPa11y/publishDir/index.html[24m
7+
[4mResults for file: ./tests/runPa11y/publishDir/index.html[24m
88
99
Error: Img element missing an alt attribute. Use the alt attribute to specify a short text alternative.
10-
[90m├── WCAG2AA.Principle1.Guideline1_1.1_1_1.H37[39m
11-
[90m├── html > body > img[39m
12-
[90m└── <img src=\\"https://placekitten.com/200/300\\">[39m
10+
[90m├── WCAG2AA.Principle1.Guideline1_1.1_1_1.H37[39m
11+
[90m├── html > body > img[39m
12+
[90m└── <img src=\\"https://placekitten.com/200/300\\">[39m
1313
14-
[31m1 Errors[39m
14+
[31m1 Error[39m
1515
",
1616
}
1717
`;

tests/runPa11y/this.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
const path = require('path')
2+
const filePath = path.relative(process.cwd(), path.join(__dirname, 'publishDir/index.html'))
23

34
// actual test
45
const pluginCore = require('../../src/pluginCore')
56
test('runPa11y works', async () => {
6-
console.log([path.join(__dirname, 'publishDir/index.html')])
77
const results = await pluginCore.runPa11y({
8-
htmlFilePaths: [path.join(__dirname, 'publishDir/index.html')],
8+
htmlFilePaths: [filePath],
99
build: { failBuild() {} },
1010
})
1111
expect(results).toMatchSnapshot()

0 commit comments

Comments
 (0)