From 50a7d55769ea1c8d959f09d3cf1ffa96cdab9099 Mon Sep 17 00:00:00 2001 From: Hirotaka Tagawa Date: Fri, 17 Sep 2021 19:25:33 +0900 Subject: [PATCH] Add test that ensure all files in source directory use `.d.ts` extension (#264) --- package.json | 2 +- script/test/source-files-extension.js | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100755 script/test/source-files-extension.js diff --git a/package.json b/package.json index 3f3b0515..141aec74 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "node": ">=12.20" }, "scripts": { - "test": "xo && tsd && tsc" + "test": "xo && tsd && tsc && node script/test/source-files-extension.js" }, "files": [ "index.d.ts", diff --git a/script/test/source-files-extension.js b/script/test/source-files-extension.js new file mode 100755 index 00000000..b29664be --- /dev/null +++ b/script/test/source-files-extension.js @@ -0,0 +1,26 @@ +/* eslint-disable unicorn/prefer-module */ +const fs = require('fs'); +const process = require('process'); + +const checkSourceFilesExtension = async () => { + try { + const files = await fs.promises.readdir('source'); + + let hasIncorrectFileExtension = false; + for (const file of files) { + if (!file.endsWith('.d.ts')) { + hasIncorrectFileExtension = true; + console.error(`source/${file} extension should be \`.d.ts\`.`); + } + } + + if (hasIncorrectFileExtension) { + process.exitCode = 1; + } + } catch (error) { + console.error(error); + process.exitCode = 1; + } +}; + +checkSourceFilesExtension();