feat: support function folders without function.jsonc file #131
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds auto-detection support for function folders that only contain an
index.tsfile without afunction.jsoncconfiguration file. Function names are automatically derived from the folder name using kebab-case convention (e.g.,MyComplexFuncbecomesmy-complex-func). This enhancement maintains full backward compatibility with existing function configurations.Related Issue
Resolves #130
Type of Change
Changes Made
readFunctionFromDirectory()function to detect and load functions without config files by scanning forindex.tsreadAllFunctions()to scan for both configured and auto-detected functionsMyComplexFunc→my-complex-func)reads project with mixed functionsto verify the feature works correctlyTesting
npm test)Checklist
Additional Notes
The implementation maintains backward compatibility - existing functions with
function.jsonorfunction.jsoncfiles continue to work exactly as before. The auto-detection only applies to directories without configuration files. The feature successfully passes all existing and new tests, including lint and type checks.🤖 Generated by Claude | 2026-01-27 09:35 UTC