summaryrefslogtreecommitdiff
path: root/date-fns/scripts/_lib/listFns.js
diff options
context:
space:
mode:
Diffstat (limited to 'date-fns/scripts/_lib/listFns.js')
-rw-r--r--date-fns/scripts/_lib/listFns.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/date-fns/scripts/_lib/listFns.js b/date-fns/scripts/_lib/listFns.js
new file mode 100644
index 0000000..7ed93a4
--- /dev/null
+++ b/date-fns/scripts/_lib/listFns.js
@@ -0,0 +1,38 @@
+const path = require('path')
+const fs = require('fs')
+const { promisify } = require('util')
+
+const exists = promisify(fs.exists)
+const readDir = promisify(fs.readdir)
+
+module.exports = listFns
+
+const ignoredFiles = [
+ 'locale',
+ 'esm',
+ 'fp',
+ 'constants',
+ 'index.js',
+ 'test.js',
+ 'index.js.flow',
+ 'package.json',
+ 'types.ts'
+]
+
+async function listFns() {
+ const srcPath = path.join(process.cwd(), 'src')
+ const files = await readDir(srcPath)
+
+ return Promise.all(
+ files
+ .filter(file => /^[^._]/.test(file) && !ignoredFiles.includes(file))
+ .map(async file => {
+ const isTs = await exists(path.join(srcPath, file, 'index.ts'))
+ return {
+ name: file,
+ path: `./${file}`,
+ fullPath: `./src/${file}/index.${isTs ? 'ts' : 'js'}`
+ }
+ })
+ )
+}