UNPKG

netlify-cli

Version:

Netlify command line tool

30 lines (21 loc) 822 B
const { listFunctions } = require('@netlify/zip-it-and-ship-it') const { fileExistsAsync } = require('../lib/fs') const getUrlPath = (functionName) => { return `/.netlify/functions/${functionName}` } const BACKGROUND = '-background' const addFunctionProps = ({ mainFile, name, runtime }) => { const urlPath = getUrlPath(name) const isBackground = name.endsWith(BACKGROUND) return { mainFile, name, runtime, urlPath, isBackground } } const JS = 'js' const getFunctions = async (functionsSrcDir) => { if (!(await fileExistsAsync(functionsSrcDir))) { return [] } const functions = await listFunctions(functionsSrcDir) const functionsWithProps = functions.filter(({ runtime }) => runtime === JS).map((func) => addFunctionProps(func)) return functionsWithProps } module.exports = { getFunctions }