netlify-cli 19.1.5 → 19.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/run.js +6 -7
- package/dist/commands/api/api.d.ts +3 -3
- package/dist/commands/api/api.d.ts.map +1 -1
- package/dist/commands/api/api.js +10 -8
- package/dist/commands/api/api.js.map +1 -1
- package/dist/commands/base-command.d.ts +8 -8
- package/dist/commands/base-command.d.ts.map +1 -1
- package/dist/commands/base-command.js +36 -29
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/blobs/blobs-delete.d.ts +1 -1
- package/dist/commands/blobs/blobs-delete.d.ts.map +1 -1
- package/dist/commands/blobs/blobs-delete.js +2 -3
- package/dist/commands/blobs/blobs-delete.js.map +1 -1
- package/dist/commands/blobs/blobs-get.d.ts +1 -1
- package/dist/commands/blobs/blobs-get.d.ts.map +1 -1
- package/dist/commands/blobs/blobs-get.js +3 -5
- package/dist/commands/blobs/blobs-get.js.map +1 -1
- package/dist/commands/blobs/blobs-list.d.ts +1 -1
- package/dist/commands/blobs/blobs-list.d.ts.map +1 -1
- package/dist/commands/blobs/blobs-list.js +3 -4
- package/dist/commands/blobs/blobs-list.js.map +1 -1
- package/dist/commands/blobs/blobs-set.d.ts +1 -1
- package/dist/commands/blobs/blobs-set.d.ts.map +1 -1
- package/dist/commands/blobs/blobs-set.js +7 -12
- package/dist/commands/blobs/blobs-set.js.map +1 -1
- package/dist/commands/build/build.d.ts +2 -2
- package/dist/commands/build/build.d.ts.map +1 -1
- package/dist/commands/build/build.js +5 -5
- package/dist/commands/build/build.js.map +1 -1
- package/dist/commands/completion/completion.d.ts +2 -2
- package/dist/commands/completion/completion.d.ts.map +1 -1
- package/dist/commands/completion/completion.js +3 -5
- package/dist/commands/completion/completion.js.map +1 -1
- package/dist/commands/deploy/deploy.d.ts +2 -2
- package/dist/commands/deploy/deploy.d.ts.map +1 -1
- package/dist/commands/deploy/deploy.js +24 -34
- package/dist/commands/deploy/deploy.js.map +1 -1
- package/dist/commands/dev/dev.d.ts +1 -1
- package/dist/commands/dev/dev.d.ts.map +1 -1
- package/dist/commands/dev/dev.js +12 -22
- package/dist/commands/dev/dev.js.map +1 -1
- package/dist/commands/env/env-clone.d.ts.map +1 -1
- package/dist/commands/env/env-clone.js +3 -5
- package/dist/commands/env/env-clone.js.map +1 -1
- package/dist/commands/env/env-set.d.ts.map +1 -1
- package/dist/commands/env/env-set.js +4 -7
- package/dist/commands/env/env-set.js.map +1 -1
- package/dist/commands/functions/functions-build.d.ts +2 -2
- package/dist/commands/functions/functions-build.d.ts.map +1 -1
- package/dist/commands/functions/functions-build.js +1 -3
- package/dist/commands/functions/functions-build.js.map +1 -1
- package/dist/commands/functions/functions-create.d.ts.map +1 -1
- package/dist/commands/functions/functions-create.js +10 -14
- package/dist/commands/functions/functions-create.js.map +1 -1
- package/dist/commands/functions/functions-invoke.d.ts +1 -1
- package/dist/commands/functions/functions-invoke.d.ts.map +1 -1
- package/dist/commands/functions/functions-invoke.js +4 -4
- package/dist/commands/functions/functions-invoke.js.map +1 -1
- package/dist/commands/functions/functions-list.d.ts.map +1 -1
- package/dist/commands/functions/functions-list.js +4 -5
- package/dist/commands/functions/functions-list.js.map +1 -1
- package/dist/commands/functions/functions-serve.d.ts.map +1 -1
- package/dist/commands/functions/functions-serve.js +2 -1
- package/dist/commands/functions/functions-serve.js.map +1 -1
- package/dist/commands/init/init.d.ts +3 -2
- package/dist/commands/init/init.d.ts.map +1 -1
- package/dist/commands/init/init.js +21 -46
- package/dist/commands/init/init.js.map +1 -1
- package/dist/commands/link/link.d.ts +2 -1
- package/dist/commands/link/link.d.ts.map +1 -1
- package/dist/commands/link/link.js +38 -37
- package/dist/commands/link/link.js.map +1 -1
- package/dist/commands/main.d.ts.map +1 -1
- package/dist/commands/main.js +11 -11
- package/dist/commands/main.js.map +1 -1
- package/dist/commands/open/open-admin.d.ts +2 -3
- package/dist/commands/open/open-admin.d.ts.map +1 -1
- package/dist/commands/open/open-admin.js +1 -2
- package/dist/commands/open/open-admin.js.map +1 -1
- package/dist/commands/open/open-site.d.ts.map +1 -1
- package/dist/commands/open/open-site.js +0 -1
- package/dist/commands/open/open-site.js.map +1 -1
- package/dist/commands/serve/serve.d.ts +2 -2
- package/dist/commands/serve/serve.d.ts.map +1 -1
- package/dist/commands/serve/serve.js +2 -2
- package/dist/commands/serve/serve.js.map +1 -1
- package/dist/commands/sites/sites-create-template.d.ts +4 -4
- package/dist/commands/sites/sites-create-template.d.ts.map +1 -1
- package/dist/commands/sites/sites-create-template.js +20 -15
- package/dist/commands/sites/sites-create-template.js.map +1 -1
- package/dist/commands/sites/sites-create.d.ts +4 -3
- package/dist/commands/sites/sites-create.d.ts.map +1 -1
- package/dist/commands/sites/sites-create.js +9 -12
- package/dist/commands/sites/sites-create.js.map +1 -1
- package/dist/commands/sites/sites-delete.d.ts +3 -3
- package/dist/commands/sites/sites-delete.d.ts.map +1 -1
- package/dist/commands/sites/sites-delete.js +7 -10
- package/dist/commands/sites/sites-delete.js.map +1 -1
- package/dist/commands/status/status-hooks.d.ts +3 -3
- package/dist/commands/status/status-hooks.d.ts.map +1 -1
- package/dist/commands/status/status-hooks.js +8 -7
- package/dist/commands/status/status-hooks.js.map +1 -1
- package/dist/commands/status/status.d.ts +1 -1
- package/dist/commands/status/status.d.ts.map +1 -1
- package/dist/commands/status/status.js +10 -9
- package/dist/commands/status/status.js.map +1 -1
- package/dist/commands/watch/watch.d.ts +2 -3
- package/dist/commands/watch/watch.d.ts.map +1 -1
- package/dist/commands/watch/watch.js +3 -3
- package/dist/commands/watch/watch.js.map +1 -1
- package/dist/lib/api.d.ts +10 -6
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +8 -6
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/build.d.ts +86 -15
- package/dist/lib/build.d.ts.map +1 -1
- package/dist/lib/build.js +6 -4
- package/dist/lib/build.js.map +1 -1
- package/dist/lib/edge-functions/proxy.d.ts +17 -18
- package/dist/lib/edge-functions/proxy.d.ts.map +1 -1
- package/dist/lib/edge-functions/proxy.js +6 -11
- package/dist/lib/edge-functions/proxy.js.map +1 -1
- package/dist/lib/edge-functions/registry.d.ts +3 -7
- package/dist/lib/edge-functions/registry.d.ts.map +1 -1
- package/dist/lib/edge-functions/registry.js.map +1 -1
- package/dist/lib/exec-fetcher.d.ts +14 -25
- package/dist/lib/exec-fetcher.d.ts.map +1 -1
- package/dist/lib/exec-fetcher.js +9 -37
- package/dist/lib/exec-fetcher.js.map +1 -1
- package/dist/lib/fs.d.ts +3 -5
- package/dist/lib/fs.d.ts.map +1 -1
- package/dist/lib/fs.js +9 -16
- package/dist/lib/fs.js.map +1 -1
- package/dist/lib/functions/background.d.ts +4 -2
- package/dist/lib/functions/background.d.ts.map +1 -1
- package/dist/lib/functions/background.js +0 -2
- package/dist/lib/functions/background.js.map +1 -1
- package/dist/lib/functions/config.d.ts +22 -5
- package/dist/lib/functions/config.d.ts.map +1 -1
- package/dist/lib/functions/config.js +8 -14
- package/dist/lib/functions/config.js.map +1 -1
- package/dist/lib/functions/form-submissions-handler.d.ts.map +1 -1
- package/dist/lib/functions/form-submissions-handler.js +8 -5
- package/dist/lib/functions/form-submissions-handler.js.map +1 -1
- package/dist/lib/functions/local-proxy.d.ts +8 -8
- package/dist/lib/functions/local-proxy.d.ts.map +1 -1
- package/dist/lib/functions/local-proxy.js +4 -6
- package/dist/lib/functions/local-proxy.js.map +1 -1
- package/dist/lib/functions/memoized-build.d.ts +10 -5
- package/dist/lib/functions/memoized-build.d.ts.map +1 -1
- package/dist/lib/functions/memoized-build.js +3 -4
- package/dist/lib/functions/memoized-build.js.map +1 -1
- package/dist/lib/functions/netlify-function.d.ts +56 -36
- package/dist/lib/functions/netlify-function.d.ts.map +1 -1
- package/dist/lib/functions/netlify-function.js +24 -48
- package/dist/lib/functions/netlify-function.js.map +1 -1
- package/dist/lib/functions/registry.d.ts +41 -21
- package/dist/lib/functions/registry.d.ts.map +1 -1
- package/dist/lib/functions/registry.js +37 -71
- package/dist/lib/functions/registry.js.map +1 -1
- package/dist/lib/functions/runtimes/go/index.d.ts +9 -23
- package/dist/lib/functions/runtimes/go/index.d.ts.map +1 -1
- package/dist/lib/functions/runtimes/go/index.js +8 -11
- package/dist/lib/functions/runtimes/go/index.js.map +1 -1
- package/dist/lib/functions/runtimes/index.d.ts +41 -24
- package/dist/lib/functions/runtimes/index.d.ts.map +1 -1
- package/dist/lib/functions/runtimes/index.js.map +1 -1
- package/dist/lib/functions/runtimes/js/builders/netlify-lambda.d.ts +10 -8
- package/dist/lib/functions/runtimes/js/builders/netlify-lambda.d.ts.map +1 -1
- package/dist/lib/functions/runtimes/js/builders/netlify-lambda.js +17 -14
- package/dist/lib/functions/runtimes/js/builders/netlify-lambda.js.map +1 -1
- package/dist/lib/functions/runtimes/js/builders/zisi.d.ts +28 -39
- package/dist/lib/functions/runtimes/js/builders/zisi.d.ts.map +1 -1
- package/dist/lib/functions/runtimes/js/builders/zisi.js +38 -83
- package/dist/lib/functions/runtimes/js/builders/zisi.js.map +1 -1
- package/dist/lib/functions/runtimes/js/index.d.ts +17 -21
- package/dist/lib/functions/runtimes/js/index.d.ts.map +1 -1
- package/dist/lib/functions/runtimes/js/index.js +26 -19
- package/dist/lib/functions/runtimes/js/index.js.map +1 -1
- package/dist/lib/functions/runtimes/js/worker.d.ts +7 -1
- package/dist/lib/functions/runtimes/js/worker.d.ts.map +1 -1
- package/dist/lib/functions/runtimes/js/worker.js +26 -15
- package/dist/lib/functions/runtimes/js/worker.js.map +1 -1
- package/dist/lib/functions/runtimes/rust/index.d.ts +8 -22
- package/dist/lib/functions/runtimes/rust/index.d.ts.map +1 -1
- package/dist/lib/functions/runtimes/rust/index.js +13 -10
- package/dist/lib/functions/runtimes/rust/index.js.map +1 -1
- package/dist/lib/functions/scheduled.d.ts +15 -11
- package/dist/lib/functions/scheduled.d.ts.map +1 -1
- package/dist/lib/functions/scheduled.js +6 -10
- package/dist/lib/functions/scheduled.js.map +1 -1
- package/dist/lib/functions/server.d.ts +19 -12
- package/dist/lib/functions/server.d.ts.map +1 -1
- package/dist/lib/functions/server.js +17 -25
- package/dist/lib/functions/server.js.map +1 -1
- package/dist/lib/functions/synchronous.d.ts +9 -6
- package/dist/lib/functions/synchronous.d.ts.map +1 -1
- package/dist/lib/functions/synchronous.js +36 -40
- package/dist/lib/functions/synchronous.js.map +1 -1
- package/dist/lib/functions/utils.d.ts +5 -8
- package/dist/lib/functions/utils.d.ts.map +1 -1
- package/dist/lib/functions/utils.js +8 -10
- package/dist/lib/functions/utils.js.map +1 -1
- package/dist/lib/geo-location.d.ts +1 -1
- package/dist/lib/geo-location.js +1 -1
- package/dist/lib/images/proxy.d.ts +5 -9
- package/dist/lib/images/proxy.d.ts.map +1 -1
- package/dist/lib/images/proxy.js +10 -12
- package/dist/lib/images/proxy.js.map +1 -1
- package/dist/lib/path.d.ts +1 -1
- package/dist/lib/path.d.ts.map +1 -1
- package/dist/lib/path.js +0 -1
- package/dist/lib/path.js.map +1 -1
- package/dist/recipes/ai-context/index.d.ts +1 -1
- package/dist/recipes/ai-context/index.d.ts.map +1 -1
- package/dist/recipes/ai-context/index.js +3 -5
- package/dist/recipes/ai-context/index.js.map +1 -1
- package/dist/recipes/blobs-migrate/index.d.ts +1 -1
- package/dist/recipes/blobs-migrate/index.d.ts.map +1 -1
- package/dist/recipes/blobs-migrate/index.js +6 -8
- package/dist/recipes/blobs-migrate/index.js.map +1 -1
- package/dist/recipes/vscode/index.d.ts +1 -1
- package/dist/recipes/vscode/index.d.ts.map +1 -1
- package/dist/recipes/vscode/index.js +2 -2
- package/dist/recipes/vscode/index.js.map +1 -1
- package/dist/recipes/vscode/settings.js +1 -1
- package/dist/recipes/vscode/settings.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/addons/prepare.js +3 -3
- package/dist/utils/addons/prepare.js.map +1 -1
- package/dist/utils/build-info.d.ts +4 -4
- package/dist/utils/build-info.d.ts.map +1 -1
- package/dist/utils/build-info.js +0 -1
- package/dist/utils/build-info.js.map +1 -1
- package/dist/utils/{state-config.d.ts → cli-state.d.ts} +4 -3
- package/dist/utils/cli-state.d.ts.map +1 -0
- package/dist/utils/{state-config.js → cli-state.js} +3 -10
- package/dist/utils/cli-state.js.map +1 -0
- package/dist/utils/command-helpers.d.ts +15 -21
- package/dist/utils/command-helpers.d.ts.map +1 -1
- package/dist/utils/command-helpers.js +29 -45
- package/dist/utils/command-helpers.js.map +1 -1
- package/dist/utils/create-deferred.d.ts +4 -4
- package/dist/utils/create-deferred.d.ts.map +1 -1
- package/dist/utils/create-deferred.js.map +1 -1
- package/dist/utils/detect-server-settings.d.ts +94 -1
- package/dist/utils/detect-server-settings.d.ts.map +1 -1
- package/dist/utils/detect-server-settings.js +17 -17
- package/dist/utils/detect-server-settings.js.map +1 -1
- package/dist/utils/dev.d.ts.map +1 -1
- package/dist/utils/dev.js +4 -4
- package/dist/utils/dev.js.map +1 -1
- package/dist/utils/env/index.js +2 -2
- package/dist/utils/env/index.js.map +1 -1
- package/dist/utils/feature-flags.d.ts +3 -7
- package/dist/utils/feature-flags.d.ts.map +1 -1
- package/dist/utils/feature-flags.js +0 -4
- package/dist/utils/feature-flags.js.map +1 -1
- package/dist/utils/framework-server.d.ts +1 -1
- package/dist/utils/framework-server.d.ts.map +1 -1
- package/dist/utils/framework-server.js +3 -4
- package/dist/utils/framework-server.js.map +1 -1
- package/dist/utils/frameworks-api.d.ts +1 -1
- package/dist/utils/frameworks-api.d.ts.map +1 -1
- package/dist/utils/functions/functions.d.ts +11 -14
- package/dist/utils/functions/functions.d.ts.map +1 -1
- package/dist/utils/functions/functions.js +6 -12
- package/dist/utils/functions/functions.js.map +1 -1
- package/dist/utils/get-cli-package-json.d.ts +4 -0
- package/dist/utils/get-cli-package-json.d.ts.map +1 -0
- package/dist/utils/get-cli-package-json.js +22 -0
- package/dist/utils/get-cli-package-json.js.map +1 -0
- package/dist/utils/get-global-config-store.d.ts +16 -0
- package/dist/utils/get-global-config-store.d.ts.map +1 -0
- package/dist/utils/get-global-config-store.js +87 -0
- package/dist/utils/get-global-config-store.js.map +1 -0
- package/dist/utils/get-repo-data.d.ts +8 -22
- package/dist/utils/get-repo-data.d.ts.map +1 -1
- package/dist/utils/get-repo-data.js +3 -10
- package/dist/utils/get-repo-data.js.map +1 -1
- package/dist/utils/get-site.d.ts +3 -1
- package/dist/utils/get-site.d.ts.map +1 -1
- package/dist/utils/get-site.js +5 -6
- package/dist/utils/get-site.js.map +1 -1
- package/dist/utils/gh-auth.d.ts +7 -4
- package/dist/utils/gh-auth.d.ts.map +1 -1
- package/dist/utils/gh-auth.js +6 -18
- package/dist/utils/gh-auth.js.map +1 -1
- package/dist/utils/headers.d.ts +7 -13
- package/dist/utils/headers.d.ts.map +1 -1
- package/dist/utils/headers.js +4 -16
- package/dist/utils/headers.js.map +1 -1
- package/dist/utils/hooks/requires-site-info.d.ts +2 -2
- package/dist/utils/hooks/requires-site-info.d.ts.map +1 -1
- package/dist/utils/hooks/requires-site-info.js +7 -11
- package/dist/utils/hooks/requires-site-info.js.map +1 -1
- package/dist/utils/init/config-github.d.ts +9 -15
- package/dist/utils/init/config-github.d.ts.map +1 -1
- package/dist/utils/init/config-github.js +13 -42
- package/dist/utils/init/config-github.js.map +1 -1
- package/dist/utils/init/config-manual.d.ts +6 -10
- package/dist/utils/init/config-manual.d.ts.map +1 -1
- package/dist/utils/init/config-manual.js +9 -32
- package/dist/utils/init/config-manual.js.map +1 -1
- package/dist/utils/init/config.d.ts +7 -12
- package/dist/utils/init/config.d.ts.map +1 -1
- package/dist/utils/init/config.js +4 -13
- package/dist/utils/init/config.js.map +1 -1
- package/dist/utils/init/plugins.d.ts +6 -2
- package/dist/utils/init/plugins.d.ts.map +1 -1
- package/dist/utils/init/plugins.js +3 -12
- package/dist/utils/init/plugins.js.map +1 -1
- package/dist/utils/init/utils.d.ts +134 -34
- package/dist/utils/init/utils.d.ts.map +1 -1
- package/dist/utils/init/utils.js +16 -49
- package/dist/utils/init/utils.js.map +1 -1
- package/dist/utils/live-tunnel.d.ts +8 -7
- package/dist/utils/live-tunnel.d.ts.map +1 -1
- package/dist/utils/live-tunnel.js +17 -25
- package/dist/utils/live-tunnel.js.map +1 -1
- package/dist/utils/open-browser.d.ts +1 -1
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/proxy-server.d.ts +10 -9
- package/dist/utils/proxy-server.d.ts.map +1 -1
- package/dist/utils/proxy-server.js.map +1 -1
- package/dist/utils/proxy.d.ts +6 -3
- package/dist/utils/proxy.d.ts.map +1 -1
- package/dist/utils/proxy.js +13 -21
- package/dist/utils/proxy.js.map +1 -1
- package/dist/utils/rules-proxy.d.ts +12 -10
- package/dist/utils/rules-proxy.d.ts.map +1 -1
- package/dist/utils/rules-proxy.js +4 -21
- package/dist/utils/rules-proxy.js.map +1 -1
- package/dist/utils/run-build.d.ts +0 -9
- package/dist/utils/run-build.d.ts.map +1 -1
- package/dist/utils/run-build.js +4 -8
- package/dist/utils/run-build.js.map +1 -1
- package/dist/utils/sites/create-template.d.ts +1 -1
- package/dist/utils/sites/create-template.d.ts.map +1 -1
- package/dist/utils/sites/create-template.js.map +1 -1
- package/dist/utils/sites/utils.d.ts.map +1 -1
- package/dist/utils/sites/utils.js +2 -2
- package/dist/utils/sites/utils.js.map +1 -1
- package/dist/utils/telemetry/report-error.js +2 -2
- package/dist/utils/telemetry/report-error.js.map +1 -1
- package/dist/utils/telemetry/request.js +1 -1
- package/dist/utils/telemetry/request.js.map +1 -1
- package/dist/utils/telemetry/telemetry.js +3 -3
- package/dist/utils/telemetry/telemetry.js.map +1 -1
- package/dist/utils/telemetry/utils.d.ts +1 -1
- package/dist/utils/telemetry/utils.d.ts.map +1 -1
- package/dist/utils/telemetry/utils.js +2 -2
- package/dist/utils/telemetry/utils.js.map +1 -1
- package/dist/utils/types.d.ts +17 -5
- package/dist/utils/types.d.ts.map +1 -1
- package/dist/utils/types.js +1 -1
- package/dist/utils/types.js.map +1 -1
- package/npm-shrinkwrap.json +378 -332
- package/package.json +11 -11
- package/dist/utils/get-global-config.d.ts +0 -7
- package/dist/utils/get-global-config.d.ts.map +0 -1
- package/dist/utils/get-global-config.js +0 -41
- package/dist/utils/get-global-config.js.map +0 -1
- package/dist/utils/get-package-json.d.ts +0 -3
- package/dist/utils/get-package-json.d.ts.map +0 -1
- package/dist/utils/get-package-json.js +0 -16
- package/dist/utils/get-package-json.js.map +0 -1
- package/dist/utils/state-config.d.ts.map +0 -1
- package/dist/utils/state-config.js.map +0 -1
package/dist/utils/init/utils.js
CHANGED
|
@@ -5,7 +5,7 @@ import inquirer from 'inquirer';
|
|
|
5
5
|
import { fileExistsAsync } from '../../lib/fs.js';
|
|
6
6
|
import { normalizeBackslash } from '../../lib/path.js';
|
|
7
7
|
import { detectBuildSettings } from '../build-info.js';
|
|
8
|
-
import { chalk,
|
|
8
|
+
import { chalk, logAndThrowError, log, warn } from '../command-helpers.js';
|
|
9
9
|
import { getRecommendPlugins, getUIPlugins } from './plugins.js';
|
|
10
10
|
const formatTitle = (title) => chalk.cyan(title);
|
|
11
11
|
/**
|
|
@@ -16,11 +16,8 @@ const formatTitle = (title) => chalk.cyan(title);
|
|
|
16
16
|
* want them installed in the site settings. When installed
|
|
17
17
|
* there our build will automatically install the latest without
|
|
18
18
|
* user management of the versioning.
|
|
19
|
-
* @param pluginsInstalled
|
|
20
|
-
* @param pluginsRecommended
|
|
21
|
-
* @returns
|
|
22
19
|
*/
|
|
23
|
-
export const getPluginsToAutoInstall = (
|
|
20
|
+
export const getPluginsToAutoInstall = (_command, pluginsInstalled = [], pluginsRecommended = []) => {
|
|
24
21
|
const nextRuntime = '@netlify/plugin-nextjs';
|
|
25
22
|
const pluginsToAlwaysInstall = new Set([nextRuntime]);
|
|
26
23
|
return pluginsRecommended.reduce((acc, plugin) => pluginsInstalled.includes(plugin) && !pluginsToAlwaysInstall.has(plugin) ? acc : [...acc, plugin], []);
|
|
@@ -32,24 +29,13 @@ const normalizeSettings = (settings, config, command) => {
|
|
|
32
29
|
defaultBaseDir: settings.baseDirectory ?? command.project.relativeBaseDirectory ?? '',
|
|
33
30
|
defaultBuildCmd: config.build.command || settings.buildCommand,
|
|
34
31
|
defaultBuildDir: settings.dist,
|
|
35
|
-
// @ts-expect-error types need to be fixed on @netlify/build
|
|
36
32
|
defaultFunctionsDir: config.build.functions || 'netlify/functions',
|
|
37
33
|
recommendedPlugins,
|
|
38
34
|
};
|
|
39
35
|
};
|
|
40
|
-
|
|
41
|
-
*
|
|
42
|
-
* @param {object} param0
|
|
43
|
-
* @param {string} param0.defaultBaseDir
|
|
44
|
-
* @param {string} param0.defaultBuildCmd
|
|
45
|
-
* @param {string=} param0.defaultBuildDir
|
|
46
|
-
* @returns
|
|
47
|
-
*/
|
|
48
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'defaultBaseDir' implicitly has an... Remove this comment to see the full error message
|
|
49
|
-
const getPromptInputs = ({ defaultBaseDir, defaultBuildCmd, defaultBuildDir }) => {
|
|
36
|
+
const getPromptInputs = ({ defaultBaseDir, defaultBuildCmd, defaultBuildDir, }) => {
|
|
50
37
|
const inputs = [
|
|
51
|
-
defaultBaseDir !==
|
|
52
|
-
defaultBaseDir !== '' && {
|
|
38
|
+
defaultBaseDir !== '' && {
|
|
53
39
|
type: 'input',
|
|
54
40
|
name: 'baseDir',
|
|
55
41
|
message: 'Base directory `(blank for current dir):',
|
|
@@ -59,7 +45,6 @@ const getPromptInputs = ({ defaultBaseDir, defaultBuildCmd, defaultBuildDir }) =
|
|
|
59
45
|
type: 'input',
|
|
60
46
|
name: 'buildCmd',
|
|
61
47
|
message: 'Your build command (hugo build/yarn run build/etc):',
|
|
62
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'val' implicitly has an 'any' type.
|
|
63
48
|
filter: (val) => (val === '' ? '# no build command' : val),
|
|
64
49
|
default: defaultBuildCmd,
|
|
65
50
|
},
|
|
@@ -72,21 +57,20 @@ const getPromptInputs = ({ defaultBaseDir, defaultBuildCmd, defaultBuildDir }) =
|
|
|
72
57
|
].filter(Boolean);
|
|
73
58
|
return inputs.filter(Boolean);
|
|
74
59
|
};
|
|
75
|
-
export const getBuildSettings = async ({ command, config }) => {
|
|
60
|
+
export const getBuildSettings = async ({ command, config, }) => {
|
|
76
61
|
const settings = await detectBuildSettings(command);
|
|
77
62
|
// TODO: add prompt for asking to choose the build command
|
|
78
63
|
const setting = settings.length > 0 ? settings[0] : {};
|
|
79
|
-
const { defaultBaseDir, defaultBuildCmd, defaultBuildDir, defaultFunctionsDir, recommendedPlugins } =
|
|
64
|
+
const { defaultBaseDir, defaultBuildCmd, defaultBuildDir, defaultFunctionsDir, recommendedPlugins } = normalizeSettings(setting, config, command);
|
|
80
65
|
if (recommendedPlugins.length !== 0 && setting.framework?.name) {
|
|
81
66
|
log(`Configuring ${formatTitle(setting.framework.name)} runtime...`);
|
|
82
67
|
log();
|
|
83
68
|
}
|
|
84
|
-
const { baseDir, buildCmd, buildDir } = await inquirer.prompt(getPromptInputs({
|
|
69
|
+
const { baseDir, buildCmd, buildDir } = (await inquirer.prompt(getPromptInputs({
|
|
85
70
|
defaultBaseDir,
|
|
86
71
|
defaultBuildCmd,
|
|
87
72
|
defaultBuildDir,
|
|
88
|
-
}));
|
|
89
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'plugin' implicitly has an 'any' type.
|
|
73
|
+
})));
|
|
90
74
|
const pluginsToInstall = recommendedPlugins.map((plugin) => ({ package: plugin }));
|
|
91
75
|
const normalizedBaseDir = baseDir ? normalizeBackslash(baseDir) : undefined;
|
|
92
76
|
return { baseDir: normalizedBaseDir, buildCmd, buildDir, functionsDir: defaultFunctionsDir, pluginsToInstall };
|
|
@@ -113,22 +97,8 @@ const getNetlifyToml = ({ command = '# no build command', functions = 'functions
|
|
|
113
97
|
|
|
114
98
|
## more info on configuring this file: https://ntl.fyi/file-based-build-config
|
|
115
99
|
`;
|
|
116
|
-
export const saveNetlifyToml = async ({
|
|
117
|
-
|
|
118
|
-
baseDir,
|
|
119
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'buildCmd' implicitly has an 'any'... Remove this comment to see the full error message
|
|
120
|
-
buildCmd,
|
|
121
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'buildDir' implicitly has an 'any'... Remove this comment to see the full error message
|
|
122
|
-
buildDir,
|
|
123
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'config' implicitly has an 'any' t... Remove this comment to see the full error message
|
|
124
|
-
config,
|
|
125
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'configPath' implicitly has an 'an... Remove this comment to see the full error message
|
|
126
|
-
configPath,
|
|
127
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'functionsDir' implicitly has an '... Remove this comment to see the full error message
|
|
128
|
-
functionsDir,
|
|
129
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'repositoryRoot' implicitly has an... Remove this comment to see the full error message
|
|
130
|
-
repositoryRoot, }) => {
|
|
131
|
-
const tomlPathParts = [repositoryRoot, baseDir, 'netlify.toml'].filter(Boolean);
|
|
100
|
+
export const saveNetlifyToml = async ({ baseDir, buildCmd, buildDir, config, configPath, functionsDir, repositoryRoot, }) => {
|
|
101
|
+
const tomlPathParts = [repositoryRoot, baseDir, 'netlify.toml'].filter((part) => part != null && part.length > 0);
|
|
132
102
|
const tomlPath = path.join(...tomlPathParts);
|
|
133
103
|
if (await fileExistsAsync(tomlPath)) {
|
|
134
104
|
return;
|
|
@@ -153,8 +123,7 @@ repositoryRoot, }) => {
|
|
|
153
123
|
await writeFile(tomlPath, getNetlifyToml({ command: buildCmd, publish: buildDir, functions: functionsDir }), 'utf-8');
|
|
154
124
|
}
|
|
155
125
|
catch (error) {
|
|
156
|
-
|
|
157
|
-
warn(`Failed saving Netlify toml file: ${error.message}`);
|
|
126
|
+
warn(`Failed saving Netlify toml file: ${error instanceof Error ? error.message : error?.toString()}`);
|
|
158
127
|
}
|
|
159
128
|
}
|
|
160
129
|
};
|
|
@@ -163,7 +132,6 @@ export const formatErrorMessage = ({ error, message }) => {
|
|
|
163
132
|
const errorMessage = error.json ? `${error.message} - ${JSON.stringify(error.json)}` : error.message;
|
|
164
133
|
return `${message} with error: ${chalk.red(errorMessage)}`;
|
|
165
134
|
};
|
|
166
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'api' implicitly has an 'any' type... Remove this comment to see the full error message
|
|
167
135
|
export const createDeployKey = async ({ api }) => {
|
|
168
136
|
try {
|
|
169
137
|
const deployKey = await api.createDeployKey();
|
|
@@ -171,26 +139,25 @@ export const createDeployKey = async ({ api }) => {
|
|
|
171
139
|
}
|
|
172
140
|
catch (error) {
|
|
173
141
|
const message = formatErrorMessage({ message: 'Failed creating deploy key', error });
|
|
174
|
-
|
|
142
|
+
return logAndThrowError(message);
|
|
175
143
|
}
|
|
176
144
|
};
|
|
177
|
-
|
|
178
|
-
export const updateSite = async ({ api, options, siteId }) => {
|
|
145
|
+
export const updateSite = async ({ api, options, siteId, }) => {
|
|
179
146
|
try {
|
|
180
147
|
const updatedSite = await api.updateSite({ siteId, body: options });
|
|
181
148
|
return updatedSite;
|
|
182
149
|
}
|
|
183
150
|
catch (error) {
|
|
184
151
|
const message = formatErrorMessage({ message: 'Failed updating site with repo information', error });
|
|
185
|
-
|
|
152
|
+
return logAndThrowError(message);
|
|
186
153
|
}
|
|
187
154
|
};
|
|
188
|
-
|
|
189
|
-
export const setupSite = async ({ api, configPlugins, pluginsToInstall, repo, siteId }) => {
|
|
155
|
+
export const setupSite = async ({ api, configPlugins, pluginsToInstall, repo, siteId, }) => {
|
|
190
156
|
const updatedSite = await updateSite({
|
|
191
157
|
siteId,
|
|
192
158
|
api,
|
|
193
159
|
// merge existing plugins with new ones
|
|
160
|
+
// @ts-expect-error(serhalp) -- `plugins` is missing from `api.updateSite()` req body type
|
|
194
161
|
options: { repo, plugins: [...getUIPlugins(configPlugins), ...pluginsToInstall] },
|
|
195
162
|
});
|
|
196
163
|
return updatedSite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/init/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/init/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import type CLIState from './cli-state.js';
|
|
2
|
+
export declare const startLiveTunnel: ({ localPort, netlifyApiToken, siteId, slug, }: {
|
|
3
|
+
localPort: number;
|
|
4
|
+
netlifyApiToken?: string | null | undefined;
|
|
5
|
+
siteId?: string | undefined;
|
|
6
|
+
slug: string;
|
|
7
|
+
}) => Promise<string>;
|
|
8
|
+
export declare const getLiveTunnelSlug: (state: CLIState, override?: string) => string;
|
|
8
9
|
//# sourceMappingURL=live-tunnel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-tunnel.d.ts","sourceRoot":"","sources":["../../src/utils/live-tunnel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"live-tunnel.d.ts","sourceRoot":"","sources":["../../src/utils/live-tunnel.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AA6F1C,eAAO,MAAM,eAAe,kDAKzB;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACb,oBA8CA,CAAA;AAED,eAAO,MAAM,iBAAiB,UAAW,QAAQ,aAAa,MAAM,WAwBnE,CAAA"}
|
|
@@ -13,13 +13,8 @@ const SLUG_LOCAL_STATE_KEY = 'liveTunnelSlug';
|
|
|
13
13
|
const TUNNEL_POLL_INTERVAL = 1e3;
|
|
14
14
|
// 5 minutes
|
|
15
15
|
const TUNNEL_POLL_TIMEOUT = 3e5;
|
|
16
|
-
|
|
17
|
-
const createTunnel = async function ({ netlifyApiToken, siteId, slug }) {
|
|
16
|
+
const createTunnel = async function ({ netlifyApiToken, siteId, slug, }) {
|
|
18
17
|
await installTunnelClient();
|
|
19
|
-
if (!siteId) {
|
|
20
|
-
console.error(`${NETLIFYDEVERR} Error: no siteId defined, did you forget to run ${chalk.yellow('netlify init')} or ${chalk.yellow('netlify link')}?`);
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
|
23
18
|
const url = `https://api.netlify.com/api/v1/live_sessions?site_id=${siteId}&slug=${slug}`;
|
|
24
19
|
const response = await fetch(url, {
|
|
25
20
|
method: 'POST',
|
|
@@ -31,18 +26,17 @@ const createTunnel = async function ({ netlifyApiToken, siteId, slug }) {
|
|
|
31
26
|
});
|
|
32
27
|
const data = await response.json();
|
|
33
28
|
if (response.status !== 201) {
|
|
34
|
-
// @ts-expect-error
|
|
29
|
+
// @ts-expect-error(serhalp) -- Use typed `netlify` API client?
|
|
35
30
|
throw new Error(data.message);
|
|
36
31
|
}
|
|
37
32
|
return data;
|
|
38
33
|
};
|
|
39
|
-
|
|
40
|
-
const connectTunnel = function ({ localPort, netlifyApiToken, session }) {
|
|
34
|
+
const connectTunnel = function ({ localPort, netlifyApiToken, session, }) {
|
|
41
35
|
const execPath = getPathInHome(['tunnel', 'bin', EXEC_NAME]);
|
|
42
|
-
const args = ['connect', '-s', session.id, '-t', netlifyApiToken, '-l', localPort];
|
|
36
|
+
const args = ['connect', '-s', session.id, '-t', netlifyApiToken, '-l', localPort.toString()];
|
|
43
37
|
if (process.env.DEBUG) {
|
|
44
38
|
args.push('-v');
|
|
45
|
-
log(execPath, args);
|
|
39
|
+
log(execPath, args.toString());
|
|
46
40
|
}
|
|
47
41
|
const ps = execa(execPath, args, { stdio: 'inherit' });
|
|
48
42
|
ps.on('close', (code) => process.exit(code));
|
|
@@ -51,7 +45,6 @@ const connectTunnel = function ({ localPort, netlifyApiToken, session }) {
|
|
|
51
45
|
};
|
|
52
46
|
const installTunnelClient = async function () {
|
|
53
47
|
const binPath = getPathInHome(['tunnel', 'bin']);
|
|
54
|
-
// @ts-expect-error TS(2345) FIXME: Argument of type '{ binPath: string; packageName: ... Remove this comment to see the full error message
|
|
55
48
|
const shouldFetch = await shouldFetchLatestVersion({
|
|
56
49
|
binPath,
|
|
57
50
|
packageName: PACKAGE_NAME,
|
|
@@ -63,7 +56,6 @@ const installTunnelClient = async function () {
|
|
|
63
56
|
return;
|
|
64
57
|
}
|
|
65
58
|
log(`${NETLIFYDEVLOG} Installing Live Tunnel Client`);
|
|
66
|
-
// @ts-expect-error TS(2345) FIXME: Argument of type '{ packageName: string; execName:... Remove this comment to see the full error message
|
|
67
59
|
await fetchLatestVersion({
|
|
68
60
|
packageName: PACKAGE_NAME,
|
|
69
61
|
execName: EXEC_NAME,
|
|
@@ -71,15 +63,18 @@ const installTunnelClient = async function () {
|
|
|
71
63
|
extension: process.platform === 'win32' ? 'zip' : 'tar.gz',
|
|
72
64
|
});
|
|
73
65
|
};
|
|
74
|
-
|
|
75
|
-
|
|
66
|
+
export const startLiveTunnel = async ({ localPort, netlifyApiToken, siteId, slug, }) => {
|
|
67
|
+
if (!siteId) {
|
|
68
|
+
console.error(`${NETLIFYDEVERR} Error: no siteId defined, did you forget to run ${chalk.yellow('netlify init')} or ${chalk.yellow('netlify link')}?`);
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
76
71
|
const session = await createTunnel({
|
|
77
72
|
siteId,
|
|
78
|
-
|
|
73
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- XXX(serhalp): removed in favor of runtime user feedback in stacked PR
|
|
74
|
+
netlifyApiToken: netlifyApiToken,
|
|
79
75
|
slug,
|
|
80
76
|
});
|
|
81
|
-
const isLiveTunnelReady = async
|
|
82
|
-
// @ts-expect-error TS(18046) - 'session' is of type 'unknown'
|
|
77
|
+
const isLiveTunnelReady = async () => {
|
|
83
78
|
const url = `https://api.netlify.com/api/v1/live_sessions/${session.id}`;
|
|
84
79
|
const response = await fetch(url, {
|
|
85
80
|
method: 'GET',
|
|
@@ -90,22 +85,20 @@ export const startLiveTunnel = async ({ localPort, netlifyApiToken, siteId, slug
|
|
|
90
85
|
});
|
|
91
86
|
const data = await response.json();
|
|
92
87
|
if (response.status !== 200) {
|
|
93
|
-
// @ts-expect-error
|
|
88
|
+
// @ts-expect-error(serhalp) -- Use typed `netlify` API client?
|
|
94
89
|
throw new Error(data.message);
|
|
95
90
|
}
|
|
96
|
-
// @ts-expect-error TS(18046) - 'data' is of type 'unknown'
|
|
97
91
|
return data.state === 'online';
|
|
98
92
|
};
|
|
99
|
-
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- XXX(serhalp): removed in favor of runtime user feedback in stacked PR
|
|
94
|
+
connectTunnel({ session, netlifyApiToken: netlifyApiToken, localPort });
|
|
100
95
|
// Waiting for the live session to have a state of `online`.
|
|
101
96
|
await pWaitFor(isLiveTunnelReady, {
|
|
102
97
|
interval: TUNNEL_POLL_INTERVAL,
|
|
103
98
|
timeout: TUNNEL_POLL_TIMEOUT,
|
|
104
99
|
});
|
|
105
|
-
// @ts-expect-error TS(18046) - 'session' is of type 'unknown'
|
|
106
100
|
return session.session_url;
|
|
107
101
|
};
|
|
108
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'state' implicitly has an 'any' type.
|
|
109
102
|
export const getLiveTunnelSlug = (state, override) => {
|
|
110
103
|
if (override !== undefined) {
|
|
111
104
|
return override;
|
|
@@ -119,8 +112,7 @@ export const getLiveTunnelSlug = (state, override) => {
|
|
|
119
112
|
state.set(SLUG_LOCAL_STATE_KEY, newSlug);
|
|
120
113
|
}
|
|
121
114
|
catch (error) {
|
|
122
|
-
|
|
123
|
-
log(`${NETLIFYDEVERR} Could not read or write local state file: ${error.message}`);
|
|
115
|
+
log(`${NETLIFYDEVERR} Could not read or write local state file: ${error instanceof Error ? error.message : error?.toString() ?? ''}`);
|
|
124
116
|
}
|
|
125
117
|
return newSlug;
|
|
126
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-tunnel.js","sourceRoot":"","sources":["../../src/utils/live-tunnel.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,KAAK,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"live-tunnel.js","sourceRoot":"","sources":["../../src/utils/live-tunnel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-browser.d.ts","sourceRoot":"","sources":["../../src/utils/open-browser.ts"],"names":[],"mappings":"AAoBA,KAAK,eAAe,GAAG;IACrB,sBAAsB,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"open-browser.d.ts","sourceRoot":"","sources":["../../src/utils/open-browser.ts"],"names":[],"mappings":"AAoBA,KAAK,eAAe,GAAG;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,QAAA,MAAM,WAAW,oCAAoD,eAAe,kBAmBnF,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import BaseCommand from '../commands/base-command.js';
|
|
2
|
-
import { $TSFixMe, NetlifyOptions } from '../commands/types.js';
|
|
3
|
-
import { BlobsContextWithEdgeAccess } from '../lib/blobs/blobs.js';
|
|
4
|
-
import { FunctionsRegistry } from '../lib/functions/registry.js';
|
|
5
|
-
import type
|
|
6
|
-
import
|
|
1
|
+
import type BaseCommand from '../commands/base-command.js';
|
|
2
|
+
import type { $TSFixMe, NetlifyOptions } from '../commands/types.js';
|
|
3
|
+
import type { BlobsContextWithEdgeAccess } from '../lib/blobs/blobs.js';
|
|
4
|
+
import type { FunctionsRegistry } from '../lib/functions/registry.js';
|
|
5
|
+
import { type NormalizedCachedConfigConfig } from './command-helpers.js';
|
|
6
|
+
import type CLIState from './cli-state.js';
|
|
7
|
+
import type { ServerSettings } from './types.js';
|
|
7
8
|
interface InspectSettings {
|
|
8
9
|
enabled: boolean;
|
|
9
10
|
pause: boolean;
|
|
@@ -16,13 +17,13 @@ export declare const startProxyServer: ({ accountId, addonsUrls, api, blobsConte
|
|
|
16
17
|
api?: NetlifyOptions["api"];
|
|
17
18
|
blobsContext?: BlobsContextWithEdgeAccess;
|
|
18
19
|
command: BaseCommand;
|
|
19
|
-
config:
|
|
20
|
+
config: NormalizedCachedConfigConfig;
|
|
20
21
|
configPath?: string;
|
|
21
22
|
debug: boolean;
|
|
22
23
|
disableEdgeFunctions: boolean;
|
|
23
24
|
env: NetlifyOptions["cachedConfig"]["env"];
|
|
24
25
|
inspectSettings: InspectSettings;
|
|
25
|
-
getUpdatedConfig: () => Promise<
|
|
26
|
+
getUpdatedConfig: () => Promise<NormalizedCachedConfigConfig>;
|
|
26
27
|
geolocationMode: string;
|
|
27
28
|
geoCountry: string;
|
|
28
29
|
settings: ServerSettings;
|
|
@@ -31,7 +32,7 @@ export declare const startProxyServer: ({ accountId, addonsUrls, api, blobsConte
|
|
|
31
32
|
siteInfo: $TSFixMe;
|
|
32
33
|
projectDir: string;
|
|
33
34
|
repositoryRoot?: string;
|
|
34
|
-
state:
|
|
35
|
+
state: CLIState;
|
|
35
36
|
functionsRegistry?: FunctionsRegistry;
|
|
36
37
|
}) => Promise<string>;
|
|
37
38
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-server.d.ts","sourceRoot":"","sources":["../../src/utils/proxy-server.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"proxy-server.d.ts","sourceRoot":"","sources":["../../src/utils/proxy-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,EAA4B,KAAK,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAElG,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,UAAU,eAAe;IAEvB,OAAO,EAAE,OAAO,CAAA;IAEhB,KAAK,EAAE,OAAO,CAAA;IAEd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,uBAAuB,gBACrB,OAAO,GAAG,MAAM,kBACb,OAAO,GAAG,MAAM,KAC/B,eAiBF,CAAA;AAED,eAAO,MAAM,gBAAgB,0QAuB1B;IACD,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,QAAQ,CAAA;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IAC3B,YAAY,CAAC,EAAE,0BAA0B,CAAA;IACzC,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,4BAA4B,CAAA;IAEpC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,oBAAoB,EAAE,OAAO,CAAA;IAC7B,GAAG,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,eAAe,EAAE,eAAe,CAAA;IAChC,gBAAgB,EAAE,MAAM,OAAO,CAAC,4BAA4B,CAAC,CAAA;IAC7D,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,QAAQ,CAAA;IACf,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACtC,oBA8BA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-server.js","sourceRoot":"","sources":["../../src/utils/proxy-server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"proxy-server.js","sourceRoot":"","sources":["../../src/utils/proxy-server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAqC,MAAM,sBAAsB,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAavC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,WAA6B,EAC7B,cAAgC,EACf,EAAE;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;QAClE,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,CAAC;IACH,CAAC,CAAA;IAED,OAAO;QACL,OAAO;QACP,KAAK;QACL,OAAO,EAAE,UAAU,EAAE;KACtB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,SAAS,EACT,UAAU,EACV,GAAG,EACH,YAAY,EACZ,OAAO,EACP,MAAM,EACN,UAAU,EACV,KAAK,EACL,oBAAoB,EACpB,GAAG,EACH,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,UAAU,EACV,cAAc,EACd,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,GAyBN,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC;QAC3B,UAAU;QACV,YAAY;QACZ,OAAO;QACP,MAAM;QACN,UAAU,EAAE,UAAU,IAAI,IAAI,CAAC,UAAU;QACzC,KAAK;QACL,oBAAoB;QACpB,GAAG;QACH,iBAAiB;QACjB,eAAe;QACf,UAAU;QACV,gBAAgB;QAChB,eAAe;QACf,OAAO;QACP,UAAU;QACV,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,SAAS;QACT,cAAc;QACd,GAAG;KACJ,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,CAAC,aAAa,EAAE,yCAAyC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;QAC7E,IAAI,CAAC,CAAC,CAAC,CAAA;IACT,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
|
package/dist/utils/proxy.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { BaseCommand } from '../commands/index.js';
|
|
2
|
-
import { $TSFixMe } from '../commands/types.js';
|
|
3
|
-
import {
|
|
1
|
+
import type { BaseCommand } from '../commands/index.js';
|
|
2
|
+
import type { $TSFixMe } from '../commands/types.js';
|
|
3
|
+
import { type NormalizedCachedConfigConfig } from './command-helpers.js';
|
|
4
|
+
import type { ServerSettings } from './types.js';
|
|
4
5
|
export declare const getProxyUrl: (settings: Pick<ServerSettings, "https" | "port">) => string;
|
|
5
6
|
export declare const startProxy: ({ accountId, addonsUrls, api, blobsContext, command, config, configPath, debug, disableEdgeFunctions, env, functionsRegistry, geoCountry, geolocationMode, getUpdatedConfig, inspectSettings, offline, projectDir, repositoryRoot, settings, siteInfo, state, }: {
|
|
6
7
|
command: BaseCommand;
|
|
8
|
+
config: NormalizedCachedConfigConfig;
|
|
7
9
|
settings: ServerSettings;
|
|
8
10
|
disableEdgeFunctions: boolean;
|
|
11
|
+
getUpdatedConfig: () => Promise<NormalizedCachedConfigConfig>;
|
|
9
12
|
} & Record<string, $TSFixMe>) => Promise<string>;
|
|
10
13
|
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/utils/proxy.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/utils/proxy.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,sBAAsB,CAAA;AAYpE,OAAO,EAAiC,KAAK,4BAA4B,EAAc,MAAM,sBAAsB,CAAA;AAMnH,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,YAAY,CAAA;AAg1BnE,eAAO,MAAM,WAAW,aAAuB,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC,WAGpF,CAAA;AAID,eAAO,MAAM,UAAU,oQAsBpB;IACD,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,4BAA4B,CAAA;IACpC,QAAQ,EAAE,cAAc,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,gBAAgB,EAAE,MAAM,OAAO,CAAC,4BAA4B,CAAC,CAAA;CAC9D,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,oBA6G3B,CAAA"}
|
package/dist/utils/proxy.js
CHANGED
|
@@ -82,7 +82,6 @@ const injectHtml = async function (responseBody, proxyRes, htmlInjections) {
|
|
|
82
82
|
}, decompressedBody.toString());
|
|
83
83
|
return await compressResponseBody(bodyWithInjections, proxyRes.headers['content-encoding']);
|
|
84
84
|
};
|
|
85
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'errorBuffer' implicitly has an 'any' ty... Remove this comment to see the full error message
|
|
86
85
|
const formatEdgeFunctionError = (errorBuffer, acceptsHtml) => {
|
|
87
86
|
const { error: { message, name, stack }, } = JSON.parse(errorBuffer.toString());
|
|
88
87
|
if (!acceptsHtml) {
|
|
@@ -123,11 +122,9 @@ const isEndpointExists = async function (endpoint, origin) {
|
|
|
123
122
|
return false;
|
|
124
123
|
}
|
|
125
124
|
};
|
|
126
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'match' implicitly has an 'any' type.
|
|
127
125
|
const isExternal = function (match) {
|
|
128
|
-
return
|
|
126
|
+
return 'to' in match && /^https?:\/\//.exec(match.to) != null;
|
|
129
127
|
};
|
|
130
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'hash' implicitly has an 'any' typ... Remove this comment to see the full error message
|
|
131
128
|
const stripOrigin = function ({ hash, pathname, search }) {
|
|
132
129
|
return `${pathname}${search}${hash}`;
|
|
133
130
|
};
|
|
@@ -149,11 +146,9 @@ const handleAddonUrl = function ({ addonUrl, req, res }) {
|
|
|
149
146
|
const destURL = stripOrigin(dest);
|
|
150
147
|
proxyToExternalUrl({ req, res, dest, destURL });
|
|
151
148
|
};
|
|
152
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'match' implicitly has an 'any' type.
|
|
153
149
|
const isRedirect = function (match) {
|
|
154
|
-
return match.status && match.status >= 300 && match.status <= 400;
|
|
150
|
+
return 'status' in match && match.status != null && match.status >= 300 && match.status <= 400;
|
|
155
151
|
};
|
|
156
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'publicFolder' implicitly has an 'any' t... Remove this comment to see the full error message
|
|
157
152
|
const render404 = async function (publicFolder) {
|
|
158
153
|
const maybe404Page = path.resolve(publicFolder, '404.html');
|
|
159
154
|
try {
|
|
@@ -162,8 +157,7 @@ const render404 = async function (publicFolder) {
|
|
|
162
157
|
return await readFile(maybe404Page, 'utf-8');
|
|
163
158
|
}
|
|
164
159
|
catch (error) {
|
|
165
|
-
|
|
166
|
-
console.warn(NETLIFYDEVWARN, 'Error while serving 404.html file', error.message);
|
|
160
|
+
console.warn(NETLIFYDEVWARN, 'Error while serving 404.html file', error instanceof Error ? error.message : error?.toString());
|
|
167
161
|
}
|
|
168
162
|
return 'Not Found';
|
|
169
163
|
};
|
|
@@ -188,6 +182,8 @@ const alternativePathsFor = function (url) {
|
|
|
188
182
|
return paths;
|
|
189
183
|
};
|
|
190
184
|
const notifyActivity = throttle((api, siteId, devServerId) => {
|
|
185
|
+
// @ts-expect-error(serhalp) -- It looks like the generated API types don't include "internal" methods
|
|
186
|
+
// (https://github.com/netlify/open-api/blob/66813d46e47f207443b7aebce2c22c4a4c8ca867/swagger.yml#L2642). Fix?
|
|
191
187
|
api.markDevServerActivity({ siteId, devServerId }).catch((error) => {
|
|
192
188
|
console.error(`${NETLIFYDEVWARN} Failed to notify activity`, error);
|
|
193
189
|
});
|
|
@@ -512,10 +508,9 @@ const initializeProxy = async function ({ config, configPath, distDir, env, host
|
|
|
512
508
|
// @ts-expect-error TS(2345) FIXME: Argument of type 'string | undefined' is not assig... Remove this comment to see the full error message
|
|
513
509
|
const requestURL = new URL(req.url, `http://${req.headers.host || '127.0.0.1'}`);
|
|
514
510
|
const headersRules = headersForPath(headers, requestURL.pathname);
|
|
515
|
-
const
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
? config.dev.processing.html.injections
|
|
511
|
+
const configInjections = config.dev?.processing?.html?.injections ?? [];
|
|
512
|
+
const htmlInjections = configInjections.length > 0 && proxyRes.headers?.['content-type']?.startsWith('text/html')
|
|
513
|
+
? configInjections
|
|
519
514
|
: undefined;
|
|
520
515
|
// for streamed responses, we can't do etag generation nor error templates.
|
|
521
516
|
// we'll just stream them through!
|
|
@@ -561,7 +556,7 @@ const initializeProxy = async function ({ config, configPath, distDir, env, host
|
|
|
561
556
|
});
|
|
562
557
|
const isUncaughtError = proxyRes.headers['x-nf-uncaught-error'] === '1';
|
|
563
558
|
if (isEdgeFunctionsRequest(req) && isUncaughtError) {
|
|
564
|
-
const acceptsHtml = req.headers
|
|
559
|
+
const acceptsHtml = req.headers.accept?.includes('text/html') ?? false;
|
|
565
560
|
const decompressedBody = await decompressResponseBody(responseBody, proxyRes.headers['content-encoding']);
|
|
566
561
|
const formattedBody = formatEdgeFunctionError(decompressedBody, acceptsHtml);
|
|
567
562
|
const errorResponse = acceptsHtml
|
|
@@ -621,14 +616,11 @@ const onRequest = async ({ addonsUrls, api, edgeFunctionsProxy, env, functionsRe
|
|
|
621
616
|
if (functionMatch) {
|
|
622
617
|
// Setting an internal header with the function name so that we don't
|
|
623
618
|
// have to match the URL again in the functions server.
|
|
624
|
-
/** @type {Record<string, string>} */
|
|
625
619
|
const headers = {};
|
|
626
620
|
if (functionMatch.func) {
|
|
627
|
-
// @ts-expect-error TS(7053) FIXME: Element implicitly has an 'any' type because expre... Remove this comment to see the full error message
|
|
628
621
|
headers[NFFunctionName] = functionMatch.func.name;
|
|
629
622
|
}
|
|
630
623
|
if (functionMatch.route) {
|
|
631
|
-
// @ts-expect-error TS(7053) FIXME: Element implicitly has an 'any' type because expre... Remove this comment to see the full error message
|
|
632
624
|
headers[NFFunctionRoute] = functionMatch.route.pattern;
|
|
633
625
|
}
|
|
634
626
|
return proxy.web(req, res, { headers, target: functionsServer });
|
|
@@ -713,7 +705,7 @@ export const startProxy = async function ({ accountId, addonsUrls, api, blobsCon
|
|
|
713
705
|
state,
|
|
714
706
|
});
|
|
715
707
|
}
|
|
716
|
-
const imageProxy =
|
|
708
|
+
const imageProxy = initializeImageProxy({
|
|
717
709
|
config,
|
|
718
710
|
settings,
|
|
719
711
|
});
|
|
@@ -730,12 +722,12 @@ export const startProxy = async function ({ accountId, addonsUrls, api, blobsCon
|
|
|
730
722
|
});
|
|
731
723
|
const rewriter = await createRewriter({
|
|
732
724
|
config,
|
|
725
|
+
configPath,
|
|
733
726
|
distDir: settings.dist,
|
|
734
|
-
|
|
727
|
+
geoCountry,
|
|
735
728
|
jwtSecret: settings.jwtSecret,
|
|
736
729
|
jwtRoleClaim: settings.jwtRolePath,
|
|
737
|
-
|
|
738
|
-
geoCountry,
|
|
730
|
+
projectDir,
|
|
739
731
|
});
|
|
740
732
|
const onRequestWithOptions = onRequest.bind(undefined, {
|
|
741
733
|
proxy,
|