diff --git a/src/function-builder-detectors/README.md b/src/function-builder-detectors/README.md deleted file mode 100644 index 52af1c62c9e..00000000000 --- a/src/function-builder-detectors/README.md +++ /dev/null @@ -1,17 +0,0 @@ -## function builder detectors - -similar to project detectors, each file here detects function builders. this is so that netlify dev never manages the -webpack or other config. the expected output is very simple: - -```js -module.exports = { - src: 'functions-source', // source for your functions - build: () => {}, // chokidar will call this to build and rebuild your function - npmScript: 'build:functions', // optional, the matching package.json script that calls your function builder -} -``` - -example - -- [src](https://github.com/netlify/cli/blob/f7b7c6adda3903fa02cf1b3fadcef026a4e56c13/src/function-builder-detectors/netlify-lambda.js#L22) -- [npmScript](https://github.com/netlify/cli/blob/f7b7c6adda3903fa02cf1b3fadcef026a4e56c13/src/function-builder-detectors/netlify-lambda.js#L23) diff --git a/src/function-builder-detectors/netlify-lambda.js b/src/lib/functions/runtimes/js/builders/netlify-lambda.js similarity index 96% rename from src/function-builder-detectors/netlify-lambda.js rename to src/lib/functions/runtimes/js/builders/netlify-lambda.js index ed5d728572b..f4889751846 100644 --- a/src/function-builder-detectors/netlify-lambda.js +++ b/src/lib/functions/runtimes/js/builders/netlify-lambda.js @@ -2,7 +2,7 @@ const execa = require('execa') const debounce = require('lodash/debounce') const minimist = require('minimist') -const { fileExistsAsync, readFileAsync } = require('../lib/fs') +const { fileExistsAsync, readFileAsync } = require('../../../../fs') const DEBOUNCE_WAIT = 300 diff --git a/src/function-builder-detectors/tests/netlify-lambda.test.js b/src/lib/functions/runtimes/js/builders/tests/netlify-lambda.test.js similarity index 100% rename from src/function-builder-detectors/tests/netlify-lambda.test.js rename to src/lib/functions/runtimes/js/builders/tests/netlify-lambda.test.js diff --git a/src/function-builder-detectors/zisi.js b/src/lib/functions/runtimes/js/builders/zisi.js similarity index 95% rename from src/function-builder-detectors/zisi.js rename to src/lib/functions/runtimes/js/builders/zisi.js index 9f16df06a11..7e964c9a215 100644 --- a/src/function-builder-detectors/zisi.js +++ b/src/lib/functions/runtimes/js/builders/zisi.js @@ -6,11 +6,11 @@ const makeDir = require('make-dir') const pFilter = require('p-filter') const sourceMapSupport = require('source-map-support') -const { normalizeFunctionsConfig } = require('../lib/functions/config') -const { memoizedBuild } = require('../lib/functions/memoized-build') -const { getPathInProject } = require('../lib/settings') -const { getFunctions } = require('../utils/get-functions') -const { NETLIFYDEVERR } = require('../utils/logo') +const { getFunctions } = require('../../../../../utils/get-functions') +const { NETLIFYDEVERR } = require('../../../../../utils/logo') +const { getPathInProject } = require('../../../../settings') +const { normalizeFunctionsConfig } = require('../../../config') +const { memoizedBuild } = require('../../../memoized-build') const ZIP_CONCURRENCY = 5 diff --git a/src/utils/detect-functions-builder.js b/src/utils/detect-functions-builder.js index c3bf5054db3..860f2c29aef 100644 --- a/src/utils/detect-functions-builder.js +++ b/src/utils/detect-functions-builder.js @@ -2,14 +2,15 @@ const fs = require('fs') const path = require('path') const detectFunctionsBuilder = async function (parameters) { + const buildersPath = path.join(__dirname, '..', 'lib', 'functions', 'runtimes', 'js', 'builders') const detectors = fs - .readdirSync(path.join(__dirname, '..', 'function-builder-detectors')) + .readdirSync(buildersPath) // only accept .js detector files .filter((filename) => filename.endsWith('.js')) // Sorting by filename .sort() // eslint-disable-next-line node/global-require, import/no-dynamic-require - .map((det) => require(path.join(__dirname, '..', `function-builder-detectors/${det}`))) + .map((det) => require(path.join(buildersPath, det))) for (const detector of detectors) { // eslint-disable-next-line no-await-in-loop