netlify-cli 17.3.1 → 17.4.0
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/README.md +3 -139
- package/npm-shrinkwrap.json +82 -82
- package/package.json +16 -15
- package/src/commands/addons/addons-auth.mjs +27 -30
- package/src/commands/addons/addons-config.mjs +145 -154
- package/src/commands/addons/addons-create.mjs +94 -108
- package/src/commands/addons/addons-delete.mjs +36 -41
- package/src/commands/addons/addons-list.mjs +38 -42
- package/src/commands/addons/addons.mjs +26 -28
- package/src/commands/addons/index.mjs +1 -1
- package/src/commands/api/api.mjs +45 -53
- package/src/commands/api/index.mjs +1 -1
- package/src/commands/base-command.mjs +597 -684
- package/src/commands/blobs/blobs-delete.mjs +35 -0
- package/src/commands/blobs/blobs-get.mjs +44 -0
- package/src/commands/blobs/blobs-list.mjs +48 -0
- package/src/commands/blobs/blobs-set.mjs +54 -0
- package/src/commands/blobs/blobs.mjs +32 -0
- package/src/commands/blobs/index.mjs +1 -0
- package/src/commands/build/build.mjs +55 -67
- package/src/commands/build/index.mjs +1 -1
- package/src/commands/completion/completion.mjs +41 -46
- package/src/commands/completion/index.mjs +1 -1
- package/src/commands/deploy/deploy.mjs +675 -710
- package/src/commands/deploy/index.mjs +1 -1
- package/src/commands/dev/dev-exec.mjs +20 -32
- package/src/commands/dev/dev.mjs +217 -302
- package/src/commands/dev/index.mjs +1 -1
- package/src/commands/dev/types.d.ts +30 -0
- package/src/commands/env/env-clone.mjs +157 -184
- package/src/commands/env/env-get.mjs +49 -68
- package/src/commands/env/env-import.mjs +100 -119
- package/src/commands/env/env-list.mjs +104 -129
- package/src/commands/env/env-set.mjs +160 -185
- package/src/commands/env/env-unset.mjs +104 -122
- package/src/commands/env/env.mjs +28 -30
- package/src/commands/env/index.mjs +1 -1
- package/src/commands/functions/functions-build.mjs +29 -41
- package/src/commands/functions/functions-create.mjs +533 -601
- package/src/commands/functions/functions-invoke.mjs +193 -216
- package/src/commands/functions/functions-list.mjs +45 -55
- package/src/commands/functions/functions-serve.mjs +51 -61
- package/src/commands/functions/functions.mjs +26 -32
- package/src/commands/functions/index.mjs +1 -1
- package/src/commands/index.mjs +2 -2
- package/src/commands/init/index.mjs +1 -1
- package/src/commands/init/init.mjs +138 -167
- package/src/commands/integration/deploy.mjs +337 -399
- package/src/commands/integration/index.mjs +12 -13
- package/src/commands/link/index.mjs +1 -1
- package/src/commands/link/link.mjs +298 -317
- package/src/commands/lm/index.mjs +1 -1
- package/src/commands/lm/lm-info.mjs +23 -31
- package/src/commands/lm/lm-install.mjs +13 -17
- package/src/commands/lm/lm-setup.mjs +80 -84
- package/src/commands/lm/lm-uninstall.mjs +7 -12
- package/src/commands/lm/lm.mjs +18 -22
- package/src/commands/login/index.mjs +1 -1
- package/src/commands/login/login.mjs +35 -41
- package/src/commands/logout/index.mjs +1 -1
- package/src/commands/logout/logout.mjs +25 -31
- package/src/commands/main.mjs +166 -201
- package/src/commands/open/index.mjs +1 -1
- package/src/commands/open/open-admin.mjs +15 -18
- package/src/commands/open/open-site.mjs +16 -19
- package/src/commands/open/open.mjs +24 -27
- package/src/commands/recipes/common.mjs +23 -34
- package/src/commands/recipes/index.mjs +1 -1
- package/src/commands/recipes/recipes-list.mjs +13 -20
- package/src/commands/recipes/recipes.mjs +59 -72
- package/src/commands/serve/index.mjs +1 -1
- package/src/commands/serve/serve.mjs +142 -189
- package/src/commands/sites/index.mjs +2 -2
- package/src/commands/sites/sites-create-template.mjs +214 -236
- package/src/commands/sites/sites-create.mjs +145 -157
- package/src/commands/sites/sites-delete.mjs +75 -81
- package/src/commands/sites/sites-list.mjs +63 -66
- package/src/commands/sites/sites.mjs +18 -20
- package/src/commands/status/index.mjs +1 -1
- package/src/commands/status/status-hooks.mjs +32 -34
- package/src/commands/status/status.mjs +99 -106
- package/src/commands/switch/index.mjs +1 -1
- package/src/commands/switch/switch.mjs +32 -37
- package/src/commands/types.d.ts +31 -0
- package/src/commands/unlink/index.mjs +1 -1
- package/src/commands/unlink/unlink.mjs +23 -29
- package/src/commands/watch/index.mjs +1 -1
- package/src/commands/watch/watch.mjs +91 -105
- package/src/functions-templates/javascript/hello/{{name}}.js +2 -3
- package/src/lib/account.mjs +4 -5
- package/src/lib/api.mjs +22 -20
- package/src/lib/blobs/blobs.mjs +36 -45
- package/src/lib/build.mjs +82 -85
- package/src/lib/completion/constants.mjs +2 -4
- package/src/lib/completion/generate-autocompletion.mjs +33 -36
- package/src/lib/completion/get-autocompletion.mjs +31 -35
- package/src/lib/completion/index.mjs +1 -1
- package/src/lib/completion/script.mjs +12 -19
- package/src/lib/edge-functions/bootstrap.mjs +3 -5
- package/src/lib/edge-functions/consts.mjs +9 -10
- package/src/lib/edge-functions/deploy.mjs +28 -34
- package/src/lib/edge-functions/editor-helper.mjs +29 -42
- package/src/lib/edge-functions/headers.mjs +24 -26
- package/src/lib/edge-functions/internal.mjs +38 -44
- package/src/lib/edge-functions/proxy.mjs +229 -228
- package/src/lib/edge-functions/registry.mjs +473 -574
- package/src/lib/exec-fetcher.mjs +115 -122
- package/src/lib/fs.mjs +28 -27
- package/src/lib/functions/background.mjs +16 -20
- package/src/lib/functions/config.mjs +12 -9
- package/src/lib/functions/form-submissions-handler.mjs +143 -149
- package/src/lib/functions/local-proxy.mjs +40 -44
- package/src/lib/functions/memoized-build.mjs +19 -21
- package/src/lib/functions/netlify-function.mjs +269 -249
- package/src/lib/functions/registry.mjs +509 -568
- package/src/lib/functions/runtimes/go/index.mjs +62 -71
- package/src/lib/functions/runtimes/index.mjs +8 -15
- package/src/lib/functions/runtimes/js/builders/netlify-lambda.mjs +55 -64
- package/src/lib/functions/runtimes/js/builders/zisi.mjs +135 -154
- package/src/lib/functions/runtimes/js/constants.mjs +1 -1
- package/src/lib/functions/runtimes/js/index.mjs +92 -109
- package/src/lib/functions/runtimes/js/worker.mjs +43 -45
- package/src/lib/functions/runtimes/rust/index.mjs +64 -73
- package/src/lib/functions/scheduled.mjs +70 -88
- package/src/lib/functions/server.mjs +269 -327
- package/src/lib/functions/synchronous.mjs +118 -147
- package/src/lib/functions/utils.mjs +38 -46
- package/src/lib/geo-location.mjs +69 -81
- package/src/lib/http-agent.mjs +87 -90
- package/src/lib/images/proxy.mjs +97 -89
- package/src/lib/log.mjs +6 -9
- package/src/lib/path.mjs +2 -1
- package/src/lib/render-error-template.mjs +19 -20
- package/src/lib/settings.mjs +17 -19
- package/src/lib/spinner.mjs +21 -23
- package/src/lib/string.mjs +4 -2
- package/src/recipes/vscode/index.mjs +69 -85
- package/src/recipes/vscode/settings.mjs +53 -58
- package/src/utils/addons/compare.mjs +31 -32
- package/src/utils/addons/diffs/index.mjs +16 -17
- package/src/utils/addons/diffs/options.mjs +99 -101
- package/src/utils/addons/prepare.mjs +100 -97
- package/src/utils/addons/prompts.mjs +73 -76
- package/src/utils/addons/render.mjs +33 -36
- package/src/utils/addons/validation.mjs +19 -15
- package/src/utils/banner.mjs +11 -16
- package/src/utils/build-info.mjs +65 -66
- package/src/utils/command-helpers.mjs +185 -199
- package/src/utils/create-deferred.mjs +9 -12
- package/src/utils/create-stream-promise.mjs +54 -47
- package/src/utils/deploy/constants.mjs +9 -11
- package/src/utils/deploy/deploy-site.mjs +162 -182
- package/src/utils/deploy/hash-config.mjs +21 -21
- package/src/utils/deploy/hash-files.mjs +34 -38
- package/src/utils/deploy/hash-fns.mjs +149 -154
- package/src/utils/deploy/hasher-segments.mjs +58 -52
- package/src/utils/deploy/upload-files.mjs +99 -113
- package/src/utils/deploy/util.mjs +85 -91
- package/src/utils/detect-server-settings.mjs +236 -268
- package/src/utils/dev.mjs +163 -178
- package/src/utils/dot-env.mjs +37 -42
- package/src/utils/env/index.mjs +148 -148
- package/src/utils/execa.mjs +9 -13
- package/src/utils/feature-flags.mjs +6 -5
- package/src/utils/framework-server.mjs +43 -52
- package/src/utils/functions/constants.mjs +1 -1
- package/src/utils/functions/functions.mjs +30 -40
- package/src/utils/functions/get-functions.mjs +28 -29
- package/src/utils/functions/index.mjs +3 -3
- package/src/utils/get-global-config.mjs +33 -36
- package/src/utils/get-package-json.mjs +14 -15
- package/src/utils/get-repo-data.mjs +54 -64
- package/src/utils/get-site.mjs +14 -14
- package/src/utils/gh-auth.mjs +79 -100
- package/src/utils/gitignore.mjs +37 -40
- package/src/utils/headers.mjs +33 -35
- package/src/utils/hooks/requires-site-info.mjs +26 -22
- package/src/utils/init/config-github.mjs +207 -219
- package/src/utils/init/config-manual.mjs +83 -100
- package/src/utils/init/config.mjs +25 -26
- package/src/utils/init/node-version.mjs +23 -30
- package/src/utils/init/plugins.mjs +12 -8
- package/src/utils/init/utils.mjs +152 -172
- package/src/utils/live-tunnel.mjs +118 -141
- package/src/utils/lm/install.mjs +220 -259
- package/src/utils/lm/requirements.mjs +54 -63
- package/src/utils/lm/steps.mjs +31 -31
- package/src/utils/lm/ui.mjs +13 -20
- package/src/utils/open-browser.mjs +31 -32
- package/src/utils/parse-raw-flags.mjs +39 -35
- package/src/utils/proxy-server.mjs +84 -71
- package/src/utils/proxy.mjs +696 -750
- package/src/utils/read-repo-url.mjs +48 -47
- package/src/utils/redirects.mjs +49 -49
- package/src/utils/request-id.mjs +2 -4
- package/src/utils/rules-proxy.mjs +96 -100
- package/src/utils/run-build.mjs +109 -132
- package/src/utils/shell.mjs +99 -106
- package/src/utils/sign-redirect.mjs +14 -14
- package/src/utils/sites/utils.mjs +48 -55
- package/src/utils/state-config.mjs +101 -101
- package/src/utils/static-server.mjs +28 -34
- package/src/utils/telemetry/index.mjs +2 -2
- package/src/utils/telemetry/report-error.mjs +45 -49
- package/src/utils/telemetry/request.mjs +36 -43
- package/src/utils/telemetry/telemetry.mjs +90 -105
- package/src/utils/telemetry/utils.mjs +5 -6
- package/src/utils/telemetry/validation.mjs +55 -53
- package/src/utils/types.d.ts +46 -0
- package/src/utils/validation.mjs +10 -13
package/src/utils/lm/steps.mjs
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { chalk } from '../command-helpers.mjs'
|
|
2
|
-
|
|
3
|
-
import { checkGitVersion, checkHelperVersion, checkLFSFilters, checkLFSVersion } from './requirements.mjs'
|
|
4
|
-
|
|
1
|
+
import { chalk } from '../command-helpers.mjs';
|
|
2
|
+
import { checkGitVersion, checkHelperVersion, checkLFSFilters, checkLFSVersion } from './requirements.mjs';
|
|
5
3
|
export const checkGitVersionStep = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
4
|
+
title: 'Checking Git version',
|
|
5
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'ctx' implicitly has an 'any' type.
|
|
6
|
+
task: async (ctx, task) => {
|
|
7
|
+
const version = await checkGitVersion();
|
|
8
|
+
task.title += chalk.dim(` [${version}]`);
|
|
9
|
+
},
|
|
10
|
+
};
|
|
13
11
|
export const checkGitLFSVersionStep = {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
12
|
+
title: 'Checking Git LFS version',
|
|
13
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'ctx' implicitly has an 'any' type.
|
|
14
|
+
task: async (ctx, task) => {
|
|
15
|
+
const version = await checkLFSVersion();
|
|
16
|
+
task.title += chalk.dim(` [${version}]`);
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'onCheckDone' implicitly has an 'any' ty... Remove this comment to see the full error message
|
|
21
20
|
export const checkLFSFiltersStep = (onCheckDone) => ({
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
21
|
+
title: 'Checking Git LFS filters',
|
|
22
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'ctx' implicitly has an 'any' type.
|
|
23
|
+
task: async (ctx, task) => {
|
|
24
|
+
const installed = await checkLFSFilters();
|
|
25
|
+
return onCheckDone(ctx, task, installed);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
29
28
|
export const checkHelperVersionStep = {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
29
|
+
title: `Checking Netlify's Git Credentials version`,
|
|
30
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'ctx' implicitly has an 'any' type.
|
|
31
|
+
task: async (ctx, task) => {
|
|
32
|
+
const version = await checkHelperVersion();
|
|
33
|
+
task.title += chalk.dim(` [${version}]`);
|
|
34
|
+
},
|
|
35
|
+
};
|
package/src/utils/lm/ui.mjs
CHANGED
|
@@ -1,24 +1,17 @@
|
|
|
1
|
-
import os from 'os'
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { chalk, log } from '../command-helpers.mjs'
|
|
6
|
-
|
|
7
|
-
import { getShellInfo, isBinInPath } from './install.mjs'
|
|
8
|
-
|
|
1
|
+
import os from 'os';
|
|
2
|
+
import boxen from 'boxen';
|
|
3
|
+
import { chalk, log } from '../command-helpers.mjs';
|
|
4
|
+
import { getShellInfo, isBinInPath } from './install.mjs';
|
|
9
5
|
/**
|
|
10
6
|
* @param {boolean} force
|
|
11
7
|
*/
|
|
8
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'force' implicitly has an 'any' type.
|
|
12
9
|
export const printBanner = function (force) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
log(boxen(banner, { padding: 1, margin: 1, align: 'center', borderColor: '#00c7b7' }))
|
|
23
|
-
}
|
|
24
|
-
}
|
|
10
|
+
const print = force || !isBinInPath();
|
|
11
|
+
const platform = os.platform();
|
|
12
|
+
if (print && platform !== 'win32') {
|
|
13
|
+
const { incFilePath } = getShellInfo();
|
|
14
|
+
const banner = chalk.bold(`Run this command to use Netlify Large Media in your current shell\n\nsource ${incFilePath}`);
|
|
15
|
+
log(boxen(banner, { padding: 1, margin: 1, align: 'center', borderColor: '#00c7b7' }));
|
|
16
|
+
}
|
|
17
|
+
};
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import process from 'process'
|
|
2
|
-
|
|
3
|
-
import open from 'better-opn'
|
|
4
|
-
import isDockerContainer from 'is-docker'
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import process from 'process';
|
|
2
|
+
// @ts-expect-error TS(7016) FIXME: Could not find a declaration file for module 'bett... Remove this comment to see the full error message
|
|
3
|
+
import open from 'better-opn';
|
|
4
|
+
import isDockerContainer from 'is-docker';
|
|
5
|
+
import { chalk, log } from './command-helpers.mjs';
|
|
6
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'message' implicitly has an 'any' ... Remove this comment to see the full error message
|
|
8
7
|
const unableToOpenBrowserMessage = function ({ message, url }) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
8
|
+
log('---------------------------');
|
|
9
|
+
log(chalk.redBright(`Error: Unable to open browser automatically: ${message}`));
|
|
10
|
+
log(chalk.cyan('Please open your browser and open the URL below:'));
|
|
11
|
+
log(chalk.bold(url));
|
|
12
|
+
log('---------------------------');
|
|
13
|
+
};
|
|
16
14
|
/**
|
|
17
15
|
* Opens a browser and logs a message if it is not possible
|
|
18
16
|
* @param {object} config
|
|
@@ -20,23 +18,24 @@ const unableToOpenBrowserMessage = function ({ message, url }) {
|
|
|
20
18
|
* @param {boolean} [config.silentBrowserNoneError]
|
|
21
19
|
* @returns {Promise<void>}
|
|
22
20
|
*/
|
|
21
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'silentBrowserNoneError' implicitl... Remove this comment to see the full error message
|
|
23
22
|
const openBrowser = async function ({ silentBrowserNoneError, url }) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
if (process.env.BROWSER === 'none') {
|
|
29
|
-
if (!silentBrowserNoneError) {
|
|
30
|
-
unableToOpenBrowserMessage({ url, message: "BROWSER environment variable is set to 'none'" })
|
|
23
|
+
if (isDockerContainer()) {
|
|
24
|
+
unableToOpenBrowserMessage({ url, message: 'Running inside a docker container' });
|
|
25
|
+
return;
|
|
31
26
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
27
|
+
if (process.env.BROWSER === 'none') {
|
|
28
|
+
if (!silentBrowserNoneError) {
|
|
29
|
+
unableToOpenBrowserMessage({ url, message: "BROWSER environment variable is set to 'none'" });
|
|
30
|
+
}
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
await open(url);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// @ts-expect-error TS(2571) FIXME: Object is of type 'unknown'.
|
|
38
|
+
unableToOpenBrowserMessage({ url, message: error.message });
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
export default openBrowser;
|
|
@@ -2,48 +2,52 @@
|
|
|
2
2
|
//
|
|
3
3
|
// Needed for commands using Command.strict = false
|
|
4
4
|
//
|
|
5
|
-
|
|
6
5
|
// Usage:
|
|
7
6
|
// const { flags, raw } = this.parse(addonsCreateCommand)
|
|
8
7
|
// // flags = {}
|
|
9
8
|
// const rawFlags = parseRawFlags(raw)
|
|
10
9
|
// // rawFlags = {stuff: yay!}
|
|
11
10
|
//
|
|
12
|
-
|
|
11
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'raw' implicitly has an 'any' type.
|
|
13
12
|
export const parseRawFlags = function (raw) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
13
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'acc' implicitly has an 'any' type.
|
|
14
|
+
const rawFlags = raw.reduce((acc, curr, index, array) => {
|
|
15
|
+
if (/^-{1,2}/.test(curr)) {
|
|
16
|
+
const key = curr.replace(/^-{1,2}/, '');
|
|
17
|
+
const next = array[index + 1];
|
|
18
|
+
if (!next) {
|
|
19
|
+
acc[key] = true;
|
|
20
|
+
}
|
|
21
|
+
else if (/^-{1,2}/.test(next)) {
|
|
22
|
+
acc[key] = true;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
acc[key] = next ? aggressiveJSONParse(next) : true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return acc;
|
|
29
|
+
}, {});
|
|
30
|
+
return rawFlags;
|
|
31
|
+
};
|
|
32
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'value' implicitly has an 'any' type.
|
|
31
33
|
export const aggressiveJSONParse = function (value) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
try {
|
|
40
|
-
parsed = JSON.parse(value)
|
|
41
|
-
} catch {
|
|
34
|
+
if (value === 'true') {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
if (value === 'false') {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
let parsed;
|
|
42
41
|
try {
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
42
|
+
parsed = JSON.parse(value);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
try {
|
|
46
|
+
parsed = JSON.parse(`"${value}"`);
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
parsed = value;
|
|
50
|
+
}
|
|
46
51
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
52
|
+
return parsed;
|
|
53
|
+
};
|
|
@@ -1,38 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import { startProxy } from './proxy.mjs'
|
|
4
|
-
|
|
1
|
+
import { exit, log, NETLIFYDEVERR } from './command-helpers.mjs';
|
|
2
|
+
import { startProxy } from './proxy.mjs';
|
|
5
3
|
/**
|
|
6
4
|
* @typedef {Object} InspectSettings
|
|
7
5
|
* @property {boolean} enabled - Inspect enabled
|
|
8
6
|
* @property {boolean} pause - Pause on breakpoints
|
|
9
7
|
* @property {string|undefined} address - Host/port override (optional)
|
|
10
8
|
*/
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* @param {boolean|string} edgeInspect
|
|
14
11
|
* @param {boolean|string} edgeInspectBrk
|
|
15
12
|
* @returns {InspectSettings}
|
|
16
13
|
*/
|
|
14
|
+
// @ts-expect-error TS(7006) FIXME: Parameter 'edgeInspect' implicitly has an 'any' ty... Remove this comment to see the full error message
|
|
17
15
|
export const generateInspectSettings = (edgeInspect, edgeInspectBrk) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
16
|
+
const enabled = Boolean(edgeInspect) || Boolean(edgeInspectBrk);
|
|
17
|
+
const pause = Boolean(edgeInspectBrk);
|
|
18
|
+
const getAddress = () => {
|
|
19
|
+
if (edgeInspect) {
|
|
20
|
+
return typeof edgeInspect === 'string' ? edgeInspect : undefined;
|
|
21
|
+
}
|
|
22
|
+
if (edgeInspectBrk) {
|
|
23
|
+
return typeof edgeInspectBrk === 'string' ? edgeInspectBrk : undefined;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
enabled,
|
|
28
|
+
pause,
|
|
29
|
+
address: getAddress(),
|
|
30
|
+
};
|
|
31
|
+
};
|
|
36
32
|
/**
|
|
37
33
|
*
|
|
38
34
|
* @param {object} params
|
|
@@ -57,51 +53,68 @@ export const generateInspectSettings = (edgeInspect, edgeInspectBrk) => {
|
|
|
57
53
|
* @param {import('../lib/functions/registry.mjs').FunctionsRegistry=} params.functionsRegistry
|
|
58
54
|
* @returns
|
|
59
55
|
*/
|
|
60
|
-
export const startProxyServer = async ({
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
56
|
+
export const startProxyServer = async ({
|
|
57
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'accountId' implicitly has an 'any... Remove this comment to see the full error message
|
|
58
|
+
accountId,
|
|
59
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'addonsUrls' implicitly has an 'an... Remove this comment to see the full error message
|
|
60
|
+
addonsUrls,
|
|
61
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'blobsContext' implicitly has an '... Remove this comment to see the full error message
|
|
62
|
+
blobsContext,
|
|
63
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'config' implicitly has an 'any' t... Remove this comment to see the full error message
|
|
64
|
+
config,
|
|
65
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'configPath' implicitly has an 'an... Remove this comment to see the full error message
|
|
66
|
+
configPath,
|
|
67
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'debug' implicitly has an 'any' ty... Remove this comment to see the full error message
|
|
68
|
+
debug,
|
|
69
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'env' implicitly has an 'any' type... Remove this comment to see the full error message
|
|
70
|
+
env,
|
|
71
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'functionsRegistry' implicitly has... Remove this comment to see the full error message
|
|
72
|
+
functionsRegistry,
|
|
73
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'geoCountry' implicitly has an 'an... Remove this comment to see the full error message
|
|
74
|
+
geoCountry,
|
|
75
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'geolocationMode' implicitly has a... Remove this comment to see the full error message
|
|
76
|
+
geolocationMode,
|
|
77
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'getUpdatedConfig' implicitly has ... Remove this comment to see the full error message
|
|
78
|
+
getUpdatedConfig,
|
|
79
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'inspectSettings' implicitly has a... Remove this comment to see the full error message
|
|
80
|
+
inspectSettings,
|
|
81
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'offline' implicitly has an 'any' ... Remove this comment to see the full error message
|
|
82
|
+
offline,
|
|
83
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'projectDir' implicitly has an 'an... Remove this comment to see the full error message
|
|
84
|
+
projectDir,
|
|
85
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'repositoryRoot' implicitly has an... Remove this comment to see the full error message
|
|
86
|
+
repositoryRoot,
|
|
87
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'settings' implicitly has an 'any'... Remove this comment to see the full error message
|
|
88
|
+
settings,
|
|
89
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'site' implicitly has an 'any' typ... Remove this comment to see the full error message
|
|
90
|
+
site,
|
|
91
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'siteInfo' implicitly has an 'any'... Remove this comment to see the full error message
|
|
92
|
+
siteInfo,
|
|
93
|
+
// @ts-expect-error TS(7031) FIXME: Binding element 'state' implicitly has an 'any' ty... Remove this comment to see the full error message
|
|
94
|
+
state, }) => {
|
|
95
|
+
const url = await startProxy({
|
|
96
|
+
addonsUrls,
|
|
97
|
+
blobsContext,
|
|
98
|
+
config,
|
|
99
|
+
configPath: configPath || site.configPath,
|
|
100
|
+
debug,
|
|
101
|
+
env,
|
|
102
|
+
functionsRegistry,
|
|
103
|
+
geolocationMode,
|
|
104
|
+
geoCountry,
|
|
105
|
+
getUpdatedConfig,
|
|
106
|
+
inspectSettings,
|
|
107
|
+
offline,
|
|
108
|
+
projectDir,
|
|
109
|
+
settings,
|
|
110
|
+
state,
|
|
111
|
+
siteInfo,
|
|
112
|
+
accountId,
|
|
113
|
+
repositoryRoot,
|
|
114
|
+
});
|
|
115
|
+
if (!url) {
|
|
116
|
+
log(NETLIFYDEVERR, `Unable to start proxy server on port '${settings.port}'`);
|
|
117
|
+
exit(1);
|
|
118
|
+
}
|
|
119
|
+
return url;
|
|
120
|
+
};
|