ava-typescript/test/_with-provider.js
2021-11-02 20:37:41 +01:00

25 lines
776 B
JavaScript

import fs from 'node:fs';
import path from 'node:path';
import {fileURLToPath} from 'node:url';
import makeProvider from '@ava/typescript';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const pkg = fs.readFileSync(new URL('../package.json', import.meta.url));
const createProviderMacro = (identifier, avaVersion, projectDir = __dirname) => (t, run) => run(t, makeProvider({
negotiateProtocol(identifiers, {version}) {
t.true(identifiers.includes(identifier));
t.is(version, pkg.version);
return {
ava: {avaVersion},
identifier,
normalizeGlobPatterns: patterns => patterns,
async findFiles({patterns}) {
return patterns.map(file => path.join(projectDir, file));
},
projectDir,
};
},
}));
export default createProviderMacro;