@@ -3,6 +3,7 @@ import { extname } from 'path'
3
3
import { Config } from './config.js'
4
4
import { FeatureFlags , getFlags } from './feature_flags.js'
5
5
import { FunctionSource } from './function.js'
6
+ import { type MixedPaths , getFunctionsBag } from './paths.js'
6
7
import { getFunctionFromPath , getFunctionsFromPaths } from './runtimes/index.js'
7
8
import { parseFile , StaticAnalysisResult } from './runtimes/node/in_source_config/index.js'
8
9
import { ModuleFormat } from './runtimes/node/utils/module_format.js'
@@ -12,7 +13,8 @@ import { listFunctionsDirectories, resolveFunctionsDirectories } from './utils/f
12
13
import type { ExtendedRoute , Route } from './utils/routes.js'
13
14
14
15
export { Config , FunctionConfig } from './config.js'
15
- export { type FunctionsBag , zipFunction , zipFunctions , ZipFunctionOptions , ZipFunctionsOptions } from './zip.js'
16
+ export { zipFunction , zipFunctions , ZipFunctionOptions , ZipFunctionsOptions } from './zip.js'
17
+ export type { FunctionsBag } from './paths.js'
16
18
17
19
export { ArchiveFormat , ARCHIVE_FORMAT } from './archive.js'
18
20
export type { TrafficRules } from './rate_limit.js'
@@ -68,14 +70,20 @@ interface ListFunctionsOptions {
68
70
69
71
// List all Netlify Functions main entry files for a specific directory.
70
72
export const listFunctions = async function (
71
- relativeSrcFolders : string | string [ ] ,
73
+ input : MixedPaths ,
72
74
{ featureFlags : inputFeatureFlags , config, configFileDirectories, parseISC = false } : ListFunctionsOptions = { } ,
73
75
) {
74
76
const featureFlags = getFlags ( inputFeatureFlags )
75
- const srcFolders = resolveFunctionsDirectories ( relativeSrcFolders )
77
+ const bag = getFunctionsBag ( input )
78
+ const srcFolders = resolveFunctionsDirectories ( [ ...bag . generated . directories , ...bag . user . directories ] )
76
79
const paths = await listFunctionsDirectories ( srcFolders )
77
80
const cache = new RuntimeCache ( )
78
- const functionsMap = await getFunctionsFromPaths ( paths , { cache, config, configFileDirectories, featureFlags } )
81
+ const functionsMap = await getFunctionsFromPaths ( [ ...paths , ...bag . generated . functions , ...bag . user . functions ] , {
82
+ cache,
83
+ config,
84
+ configFileDirectories,
85
+ featureFlags,
86
+ } )
79
87
const functions = [ ...functionsMap . values ( ) ]
80
88
const augmentedFunctions = parseISC
81
89
? await Promise . all ( functions . map ( ( func ) => augmentWithStaticAnalysis ( func ) ) )
0 commit comments