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
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import fss from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import * as dot from 'dot-prop';
|
|
5
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
6
|
+
import { sync as writeFileAtomicSync } from 'write-file-atomic';
|
|
7
|
+
import { getLegacyPathInHome, getPathInHome } from '../lib/settings.js';
|
|
8
|
+
export class GlobalConfigStore {
|
|
9
|
+
#storagePath;
|
|
10
|
+
constructor(options = {}) {
|
|
11
|
+
this.#storagePath = getPathInHome(['config.json']);
|
|
12
|
+
if (options.defaults) {
|
|
13
|
+
const config = this.getConfig();
|
|
14
|
+
this.writeConfig({ ...options.defaults, ...config });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
get all() {
|
|
18
|
+
return this.getConfig();
|
|
19
|
+
}
|
|
20
|
+
set(key, value) {
|
|
21
|
+
const config = this.getConfig();
|
|
22
|
+
const updatedConfig = dot.setProperty(config, key, value);
|
|
23
|
+
this.writeConfig(updatedConfig);
|
|
24
|
+
}
|
|
25
|
+
get(key) {
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
27
|
+
return dot.getProperty(this.getConfig(), key);
|
|
28
|
+
}
|
|
29
|
+
getConfig() {
|
|
30
|
+
let raw;
|
|
31
|
+
try {
|
|
32
|
+
raw = fss.readFileSync(this.#storagePath, 'utf8');
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
if (err instanceof Error && 'code' in err) {
|
|
36
|
+
if (err.code === 'ENOENT') {
|
|
37
|
+
// File or parent directory does not exist
|
|
38
|
+
return {};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
throw err;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
return JSON.parse(raw);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
writeFileAtomicSync(this.#storagePath, '', { mode: 0o0600 });
|
|
48
|
+
return {};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
writeConfig(value) {
|
|
52
|
+
fss.mkdirSync(path.dirname(this.#storagePath), { mode: 0o0700, recursive: true });
|
|
53
|
+
writeFileAtomicSync(this.#storagePath, JSON.stringify(value, undefined, '\t'), { mode: 0o0600 });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const globalConfigDefaults = {
|
|
57
|
+
/* disable stats from being sent to Netlify */
|
|
58
|
+
telemetryDisabled: false,
|
|
59
|
+
/* cliId */
|
|
60
|
+
cliId: uuidv4(),
|
|
61
|
+
};
|
|
62
|
+
// Memoise config result so that we only load it once
|
|
63
|
+
let configStore;
|
|
64
|
+
const getGlobalConfigStore = async () => {
|
|
65
|
+
if (!configStore) {
|
|
66
|
+
// Legacy config file in home ~/.netlify/config.json
|
|
67
|
+
const legacyPath = getLegacyPathInHome(['config.json']);
|
|
68
|
+
// Read legacy config if exists
|
|
69
|
+
let legacyConfig;
|
|
70
|
+
try {
|
|
71
|
+
legacyConfig = JSON.parse(await fs.readFile(legacyPath, 'utf8'));
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// ignore error
|
|
75
|
+
}
|
|
76
|
+
// Use legacy config as default values
|
|
77
|
+
const defaults = { ...globalConfigDefaults, ...legacyConfig };
|
|
78
|
+
// The id param is only used when not passing `configPath` but the type def requires it
|
|
79
|
+
configStore = new GlobalConfigStore({ defaults });
|
|
80
|
+
}
|
|
81
|
+
return configStore;
|
|
82
|
+
};
|
|
83
|
+
export default getGlobalConfigStore;
|
|
84
|
+
export const resetConfigCache = () => {
|
|
85
|
+
configStore = undefined;
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=get-global-config-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-global-config-store.js","sourceRoot":"","sources":["../../src/utils/get-global-config-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
* @param {object} config
|
|
4
|
-
* @param {string} [config.remoteName]
|
|
5
|
-
* @param {string} config.workingDir
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
declare const getRepoData: ({ remoteName, workingDir }: {
|
|
9
|
-
remoteName?: string;
|
|
10
|
-
workingDir: string;
|
|
11
|
-
}) => Promise<{
|
|
1
|
+
export interface RepoData {
|
|
12
2
|
name: string | null;
|
|
13
3
|
owner: string | null;
|
|
14
4
|
repo: string | null;
|
|
15
|
-
url:
|
|
5
|
+
url: string;
|
|
16
6
|
branch: string;
|
|
17
7
|
provider: string | null;
|
|
18
8
|
httpsUrl: string;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
url?: undefined;
|
|
26
|
-
branch?: undefined;
|
|
27
|
-
provider?: undefined;
|
|
28
|
-
httpsUrl?: undefined;
|
|
9
|
+
}
|
|
10
|
+
declare const getRepoData: ({ remoteName, workingDir, }: {
|
|
11
|
+
remoteName?: string;
|
|
12
|
+
workingDir: string;
|
|
13
|
+
}) => Promise<RepoData | {
|
|
14
|
+
error: string;
|
|
29
15
|
}>;
|
|
30
16
|
export default getRepoData;
|
|
31
17
|
//# sourceMappingURL=get-repo-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-repo-data.d.ts","sourceRoot":"","sources":["../../src/utils/get-repo-data.ts"],"names":[],"mappings":"AAUA
|
|
1
|
+
{"version":3,"file":"get-repo-data.d.ts","sourceRoot":"","sources":["../../src/utils/get-repo-data.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,QAAA,MAAM,WAAW,gCAGd;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,KAAG,OAAO,CAAC,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAsDvC,CAAA;AAOD,eAAe,WAAW,CAAA"}
|
|
@@ -5,14 +5,7 @@ import gitRepoInfo from 'git-repo-info';
|
|
|
5
5
|
import gitconfiglocal from 'gitconfiglocal';
|
|
6
6
|
import parseGithubUrl from 'parse-github-url';
|
|
7
7
|
import { log } from './command-helpers.js';
|
|
8
|
-
|
|
9
|
-
*
|
|
10
|
-
* @param {object} config
|
|
11
|
-
* @param {string} [config.remoteName]
|
|
12
|
-
* @param {string} config.workingDir
|
|
13
|
-
* @returns
|
|
14
|
-
*/
|
|
15
|
-
const getRepoData = async function ({ remoteName, workingDir }) {
|
|
8
|
+
const getRepoData = async ({ remoteName, workingDir, }) => {
|
|
16
9
|
try {
|
|
17
10
|
const [gitConfig, gitDirectory] = await Promise.all([
|
|
18
11
|
util.promisify(gitconfiglocal)(workingDir),
|
|
@@ -36,6 +29,7 @@ const getRepoData = async function ({ remoteName, workingDir }) {
|
|
|
36
29
|
}
|
|
37
30
|
const { url } = gitConfig.remote[remoteName];
|
|
38
31
|
const parsedUrl = parseGithubUrl(url);
|
|
32
|
+
// TODO(serhalp): Validate more aggressively? We should probably require `owner`, `repo`, `host`?
|
|
39
33
|
if (parsedUrl == null) {
|
|
40
34
|
throw new Error(`The specified Git remote ${remoteName} is not a valid URL: ${url}`);
|
|
41
35
|
}
|
|
@@ -53,8 +47,7 @@ const getRepoData = async function ({ remoteName, workingDir }) {
|
|
|
53
47
|
}
|
|
54
48
|
catch (error) {
|
|
55
49
|
return {
|
|
56
|
-
|
|
57
|
-
error: error.message,
|
|
50
|
+
error: error instanceof Error ? error.message : error?.toString() ?? 'Failed to get repo data',
|
|
58
51
|
};
|
|
59
52
|
}
|
|
60
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-repo-data.js","sourceRoot":"","sources":["../../src/utils/get-repo-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,cAAc,MAAM,gBAAgB,CAAA;AAC3C,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"get-repo-data.js","sourceRoot":"","sources":["../../src/utils/get-repo-data.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/get-site.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { NetlifyAPI } from 'netlify';
|
|
2
|
+
import type { SiteInfo } from './types.js';
|
|
3
|
+
export declare const getSiteByName: (api: NetlifyAPI, siteName: string) => Promise<SiteInfo>;
|
|
2
4
|
//# sourceMappingURL=get-site.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-site.d.ts","sourceRoot":"","sources":["../../src/utils/get-site.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-site.d.ts","sourceRoot":"","sources":["../../src/utils/get-site.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,eAAO,MAAM,aAAa,QAAe,UAAU,YAAY,MAAM,KAAG,OAAO,CAAC,QAAQ,CAkBvF,CAAA"}
|
package/dist/utils/get-site.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'api' implicitly has an 'any' type.
|
|
1
|
+
import { logAndThrowError } from './command-helpers.js';
|
|
3
2
|
export const getSiteByName = async (api, siteName) => {
|
|
4
3
|
try {
|
|
5
4
|
const sites = await api.listSites({ name: siteName, filter: 'all' });
|
|
6
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'filteredSite' implicitly has an 'any' t... Remove this comment to see the full error message
|
|
7
5
|
const siteFoundByName = sites.find((filteredSite) => filteredSite.name === siteName);
|
|
8
6
|
if (!siteFoundByName) {
|
|
9
|
-
throw Error;
|
|
7
|
+
throw new Error(`Site "${siteName}" cannot be found`);
|
|
10
8
|
}
|
|
9
|
+
// FIXME(serhalp): `id` and `name` should be required in `netlify` package type
|
|
11
10
|
return siteFoundByName;
|
|
12
11
|
}
|
|
13
12
|
catch (error_) {
|
|
14
13
|
if (error_.status === 401) {
|
|
15
|
-
|
|
14
|
+
return logAndThrowError(`${error_.message}: could not retrieve site`);
|
|
16
15
|
}
|
|
17
16
|
else {
|
|
18
|
-
|
|
17
|
+
return logAndThrowError('Site not found. Please rerun "netlify link"');
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-site.js","sourceRoot":"","sources":["../../src/utils/get-site.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-site.js","sourceRoot":"","sources":["../../src/utils/get-site.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGtE,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,GAAe,EAAE,QAAgB,EAAqB,EAAE;IAC1F,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACpE,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QAEpF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,mBAAmB,CAAC,CAAA;QACvD,CAAC;QAED,+EAA+E;QAC/E,OAAO,eAA2B,CAAA;IACpC,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,IAAK,MAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxC,OAAO,gBAAgB,CAAC,GAAI,MAAmB,CAAC,OAAO,2BAA2B,CAAC,CAAA;QACrF,CAAC;aAAM,CAAC;YACN,OAAO,gBAAgB,CAAC,6CAA6C,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
|
package/dist/utils/gh-auth.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
export interface Token {
|
|
2
|
+
user: string;
|
|
3
|
+
token: string;
|
|
4
|
+
provider: string;
|
|
5
|
+
}
|
|
1
6
|
/**
|
|
2
7
|
* Authenticate with the netlify app
|
|
3
|
-
* @returns {Promise<Token>} Returns a Promise with a token object
|
|
4
8
|
*/
|
|
5
|
-
export declare const authWithNetlify: () => Promise<
|
|
9
|
+
export declare const authWithNetlify: () => Promise<Token>;
|
|
6
10
|
/**
|
|
7
11
|
* Get a GitHub token
|
|
8
|
-
* @returns {Promise<Token>} Returns a Promise with a token object
|
|
9
12
|
*/
|
|
10
|
-
export declare const getGitHubToken: () => Promise<
|
|
13
|
+
export declare const getGitHubToken: () => Promise<Token>;
|
|
11
14
|
//# sourceMappingURL=gh-auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh-auth.d.ts","sourceRoot":"","sources":["../../src/utils/gh-auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gh-auth.d.ts","sourceRoot":"","sources":["../../src/utils/gh-auth.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAqBD;;GAEG;AACH,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,KAAK,CAwCrD,CAAA;AA+BD;;GAEG;AACH,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,KAAK,CAMpD,CAAA"}
|
package/dist/utils/gh-auth.js
CHANGED
|
@@ -8,13 +8,6 @@ import { log } from './command-helpers.js';
|
|
|
8
8
|
import createDeferred from './create-deferred.js';
|
|
9
9
|
import openBrowser from './open-browser.js';
|
|
10
10
|
const SERVER_PORT = 3000;
|
|
11
|
-
/**
|
|
12
|
-
* @typedef Token
|
|
13
|
-
* @type {object}
|
|
14
|
-
* @property {string} user - The username that is associated with the token
|
|
15
|
-
* @property {string} token - The actual token value starting with `gho_`
|
|
16
|
-
* @property {string} provider - The Provider where the token is associated with ('github').
|
|
17
|
-
*/
|
|
18
11
|
const promptForAuthMethod = async () => {
|
|
19
12
|
const authChoiceNetlify = 'Authorize with GitHub through app.netlify.com';
|
|
20
13
|
const authChoiceToken = 'Authorize with a GitHub personal access token';
|
|
@@ -32,16 +25,14 @@ const promptForAuthMethod = async () => {
|
|
|
32
25
|
};
|
|
33
26
|
/**
|
|
34
27
|
* Authenticate with the netlify app
|
|
35
|
-
* @returns {Promise<Token>} Returns a Promise with a token object
|
|
36
28
|
*/
|
|
37
29
|
export const authWithNetlify = async () => {
|
|
38
30
|
const port = await getPort({ port: SERVER_PORT });
|
|
39
31
|
const { promise: deferredPromise, reject: deferredReject, resolve: deferredResolve } = createDeferred();
|
|
40
32
|
const server = http.createServer(function onRequest(req, res) {
|
|
41
|
-
|
|
42
|
-
const parameters = new URLSearchParams(req.url.slice(req.url.indexOf('?') + 1));
|
|
33
|
+
const parameters = new URLSearchParams((req.url ?? '').slice((req.url ?? '').indexOf('?') + 1));
|
|
43
34
|
if (parameters.get('token')) {
|
|
44
|
-
//
|
|
35
|
+
// TODO(serhalp): Parse payload to validate type actually conforms
|
|
45
36
|
deferredResolve(Object.fromEntries(parameters));
|
|
46
37
|
res.end(`${"<html><head><title>Logged in</title><script>if(history.replaceState){history.replaceState({},'','/')}</script><style>html{font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';line-height:1.5;background:rgb(18 24 31)}body{overflow:hidden;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;}h3{margin:0}p{margin: 1rem 0 0.5rem}.card{position:relative;display:flex;flex-direction:column;width:75%;max-width:364px;padding:24px;background:white;color:rgb(18 24 31);border-radius:8px;box-shadow:rgb(6 11 16 / 20%) 0px 16px 24px, rgb(6 11 16 / 30%) 0px 6px 30px, rgb(6 11 16 / 40%) 0px 8px 10px;}</style></head>" +
|
|
47
38
|
"<body><div class=card><h3>Logged in</h3><p>You're now logged into Netlify CLI with your "}${parameters.get('provider')} credentials. Please close this window.</p></div>`);
|
|
@@ -50,13 +41,13 @@ export const authWithNetlify = async () => {
|
|
|
50
41
|
}
|
|
51
42
|
res.end('BAD PARAMETERS');
|
|
52
43
|
server.close();
|
|
53
|
-
// @ts-expect-error TS(2722) FIXME: Cannot invoke an object which is possibly 'undefin... Remove this comment to see the full error message
|
|
54
44
|
deferredReject(new Error('Got invalid parameters for CLI login'));
|
|
55
45
|
});
|
|
56
46
|
await new Promise(function waitForListening(resolve, reject) {
|
|
57
47
|
server.on('error', reject);
|
|
58
|
-
|
|
59
|
-
|
|
48
|
+
server.listen(port, () => {
|
|
49
|
+
resolve(undefined);
|
|
50
|
+
});
|
|
60
51
|
});
|
|
61
52
|
const webUI = process.env.NETLIFY_WEB_UI || 'https://app.netlify.com';
|
|
62
53
|
const urlParams = new URLSearchParams({
|
|
@@ -64,7 +55,6 @@ export const authWithNetlify = async () => {
|
|
|
64
55
|
provider: 'github',
|
|
65
56
|
});
|
|
66
57
|
const url = `${webUI}/cli?${urlParams.toString()}`;
|
|
67
|
-
// @ts-expect-error TS(2345) FIXME: Argument of type '{ url: string; }' is not assigna... Remove this comment to see the full error message
|
|
68
58
|
await openBrowser({ url });
|
|
69
59
|
return deferredPromise;
|
|
70
60
|
};
|
|
@@ -81,7 +71,6 @@ const getPersonalAccessToken = async () => {
|
|
|
81
71
|
};
|
|
82
72
|
/**
|
|
83
73
|
* Authenticate with the netlify app
|
|
84
|
-
* @returns {Promise<Token>} Returns a Promise with a token object
|
|
85
74
|
*/
|
|
86
75
|
const authWithToken = async () => {
|
|
87
76
|
const { token } = await getPersonalAccessToken();
|
|
@@ -89,13 +78,12 @@ const authWithToken = async () => {
|
|
|
89
78
|
throw new Error('GitHub authentication failed');
|
|
90
79
|
}
|
|
91
80
|
const octokit = new Octokit({ auth: `token ${token}` });
|
|
92
|
-
// @ts-expect-error
|
|
81
|
+
// @ts-expect-error -- XXX(serhalp): actual bug - fixed in stacked PR
|
|
93
82
|
const { login: user } = await octokit.users.getAuthenticated();
|
|
94
83
|
return { token, user, provider: 'github' };
|
|
95
84
|
};
|
|
96
85
|
/**
|
|
97
86
|
* Get a GitHub token
|
|
98
|
-
* @returns {Promise<Token>} Returns a Promise with a token object
|
|
99
87
|
*/
|
|
100
88
|
export const getGitHubToken = async () => {
|
|
101
89
|
log('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh-auth.js","sourceRoot":"","sources":["../../src/utils/gh-auth.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,cAAc,MAAM,sBAAsB,CAAA;AACjD,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAE3C,MAAM,WAAW,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"gh-auth.js","sourceRoot":"","sources":["../../src/utils/gh-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/headers.d.ts
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
|
+
import { type Header } from '@netlify/headers-parser';
|
|
2
|
+
import { type NormalizedCachedConfigConfig } from './command-helpers.js';
|
|
1
3
|
/**
|
|
2
4
|
* Get the matching headers for `path` given a set of `rules`.
|
|
3
|
-
*
|
|
4
|
-
* @param {Object<string,Object<string,string[]>>!} headers
|
|
5
|
-
* The rules to use for matching.
|
|
6
|
-
*
|
|
7
|
-
* @param {string!} path
|
|
8
|
-
* The path to match against.
|
|
9
|
-
*
|
|
10
|
-
* @returns {Object<string,string[]>}
|
|
11
5
|
*/
|
|
12
|
-
export declare const headersForPath: (headers:
|
|
13
|
-
export declare const parseHeaders: ({ config, configPath, headersFiles }: {
|
|
14
|
-
config:
|
|
15
|
-
configPath
|
|
16
|
-
headersFiles
|
|
6
|
+
export declare const headersForPath: (headers: Header[], path: string) => any;
|
|
7
|
+
export declare const parseHeaders: ({ config, configPath, headersFiles, }: {
|
|
8
|
+
config: NormalizedCachedConfigConfig;
|
|
9
|
+
configPath?: string | undefined;
|
|
10
|
+
headersFiles?: string[] | undefined;
|
|
17
11
|
}) => Promise<Header[]>;
|
|
18
12
|
export declare const NFFunctionName = "x-nf-function-name";
|
|
19
13
|
export declare const NFFunctionRoute = "x-nf-function-route";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/utils/headers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/utils/headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,yBAAyB,CAAA;AAEtE,OAAO,EAAiB,KAAK,4BAA4B,EAAO,MAAM,sBAAsB,CAAA;AAE5F;;GAEG;AACH,eAAO,MAAM,cAAc,YAAsB,MAAM,EAAE,QAAQ,MAAM,QAItE,CAAA;AAMD,eAAO,MAAM,YAAY,0CAItB;IACD,MAAM,EAAE,4BAA4B,CAAA;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CACpC,KAAG,OAAO,CAAC,MAAM,EAAE,CAWnB,CAAA;AAeD,eAAO,MAAM,cAAc,uBAAuB,CAAA;AAClD,eAAO,MAAM,eAAe,wBAAwB,CAAA;AACpD,eAAO,MAAM,WAAW,oBAAoB,CAAA"}
|
package/dist/utils/headers.js
CHANGED
|
@@ -2,38 +2,27 @@ import { parseAllHeaders } from '@netlify/headers-parser';
|
|
|
2
2
|
import { NETLIFYDEVERR, log } from './command-helpers.js';
|
|
3
3
|
/**
|
|
4
4
|
* Get the matching headers for `path` given a set of `rules`.
|
|
5
|
-
*
|
|
6
|
-
* @param {Object<string,Object<string,string[]>>!} headers
|
|
7
|
-
* The rules to use for matching.
|
|
8
|
-
*
|
|
9
|
-
* @param {string!} path
|
|
10
|
-
* The path to match against.
|
|
11
|
-
*
|
|
12
|
-
* @returns {Object<string,string[]>}
|
|
13
5
|
*/
|
|
14
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'headers' implicitly has an 'any' type.
|
|
15
6
|
export const headersForPath = function (headers, path) {
|
|
16
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'forRegExp' implicitly has an 'any... Remove this comment to see the full error message
|
|
17
7
|
const matchingHeaders = headers.filter(({ forRegExp }) => forRegExp.test(path)).map(getHeaderValues);
|
|
18
8
|
const headersRules = Object.assign({}, ...matchingHeaders);
|
|
19
9
|
return headersRules;
|
|
20
10
|
};
|
|
21
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'values' implicitly has an 'any' t... Remove this comment to see the full error message
|
|
22
11
|
const getHeaderValues = function ({ values }) {
|
|
23
12
|
return values;
|
|
24
13
|
};
|
|
25
|
-
|
|
26
|
-
export const parseHeaders = async function ({ config, configPath, headersFiles }) {
|
|
14
|
+
export const parseHeaders = async function ({ config, configPath, headersFiles, }) {
|
|
27
15
|
const { errors, headers } = await parseAllHeaders({
|
|
28
16
|
headersFiles,
|
|
29
17
|
netlifyConfigPath: configPath,
|
|
30
18
|
minimal: false,
|
|
31
|
-
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- XXX(serhalp): fixed in stacked PR.
|
|
20
|
+
configHeaders: config.headers ?? [],
|
|
32
21
|
});
|
|
33
22
|
handleHeadersErrors(errors);
|
|
23
|
+
// TODO(serhalp): Make `parseAllHeaders()` smart enough to conditionally return a refined type based on `minimal`
|
|
34
24
|
return headers;
|
|
35
25
|
};
|
|
36
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'errors' implicitly has an 'any' type.
|
|
37
26
|
const handleHeadersErrors = function (errors) {
|
|
38
27
|
if (errors.length === 0) {
|
|
39
28
|
return;
|
|
@@ -41,7 +30,6 @@ const handleHeadersErrors = function (errors) {
|
|
|
41
30
|
const errorMessage = errors.map(getErrorMessage).join('\n\n');
|
|
42
31
|
log(NETLIFYDEVERR, `Headers syntax errors:\n${errorMessage}`);
|
|
43
32
|
};
|
|
44
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'message' implicitly has an 'any' ... Remove this comment to see the full error message
|
|
45
33
|
const getErrorMessage = function ({ message }) {
|
|
46
34
|
return message;
|
|
47
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/utils/headers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/utils/headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEtE,OAAO,EAAE,aAAa,EAAqC,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE5F;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,OAAiB,EAAE,IAAY;IACrE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IACpG,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,CAAA;IAC1D,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,UAAU,EAAE,MAAM,EAAU;IAClD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,WAAW,EAC1C,MAAM,EACN,UAAU,EACV,YAAY,GAKb;IACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,eAAe,CAAC;QAChD,YAAY;QACZ,iBAAiB,EAAE,UAAU;QAC7B,OAAO,EAAE,KAAK;QACd,6GAA6G;QAC7G,aAAa,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;KACpC,CAAC,CAAA;IACF,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC3B,iHAAiH;IACjH,OAAO,OAAmB,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,UAAU,MAAe;IACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7D,GAAG,CAAC,aAAa,EAAE,2BAA2B,YAAY,EAAE,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,UAAU,EAAE,OAAO,EAAS;IAClD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAA;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAA;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
1
2
|
/**
|
|
2
3
|
* A preAction hook that errors out if siteInfo is an empty object
|
|
3
|
-
* @param {*} command
|
|
4
4
|
*/
|
|
5
|
-
declare const requiresSiteInfo: (command:
|
|
5
|
+
declare const requiresSiteInfo: (command: Command) => Promise<undefined>;
|
|
6
6
|
export default requiresSiteInfo;
|
|
7
7
|
//# sourceMappingURL=requires-site-info.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requires-site-info.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/requires-site-info.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requires-site-info.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/requires-site-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC;;GAEG;AACH,QAAA,MAAM,gBAAgB,YAAmB,OAAO,uBAwB/C,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { logAndThrowError, warn } from '../command-helpers.js';
|
|
2
2
|
/**
|
|
3
3
|
* A preAction hook that errors out if siteInfo is an empty object
|
|
4
|
-
* @param {*} command
|
|
5
4
|
*/
|
|
6
|
-
// @ts-expect-error TS(7006) FIXME: Parameter 'command' implicitly has an 'any' type.
|
|
7
5
|
const requiresSiteInfo = async (command) => {
|
|
6
|
+
// commander (at least the version we're on) is typed such that `.preAction()` can't accept
|
|
7
|
+
// a subclass of `Command`. This type assertion avoids a lot of type noise in every call site.
|
|
8
8
|
const { api, site } = command.netlify;
|
|
9
9
|
const siteId = site.id;
|
|
10
10
|
if (!siteId) {
|
|
11
11
|
warn('Did you run `netlify link` yet?');
|
|
12
|
-
|
|
13
|
-
return;
|
|
12
|
+
return logAndThrowError(`You don't appear to be in a folder that is linked to a site`);
|
|
14
13
|
}
|
|
15
14
|
try {
|
|
16
15
|
await api.getSite({ siteId });
|
|
@@ -19,16 +18,13 @@ const requiresSiteInfo = async (command) => {
|
|
|
19
18
|
// unauthorized
|
|
20
19
|
if (error_.status === 401) {
|
|
21
20
|
warn(`Log in with a different account or re-link to a site you have permission for`);
|
|
22
|
-
|
|
23
|
-
return;
|
|
21
|
+
return logAndThrowError(`Not authorized to view the currently linked site (${siteId})`);
|
|
24
22
|
}
|
|
25
23
|
// missing
|
|
26
24
|
if (error_.status === 404) {
|
|
27
|
-
|
|
28
|
-
return;
|
|
25
|
+
return logAndThrowError(`The site this folder is linked to can't be found`);
|
|
29
26
|
}
|
|
30
|
-
|
|
31
|
-
return;
|
|
27
|
+
return logAndThrowError(error_);
|
|
32
28
|
}
|
|
33
29
|
};
|
|
34
30
|
export default requiresSiteInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requires-site-info.js","sourceRoot":"","sources":["../../../src/utils/hooks/requires-site-info.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requires-site-info.js","sourceRoot":"","sources":["../../../src/utils/hooks/requires-site-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAiB,MAAM,uBAAuB,CAAA;AAG7E;;GAEG;AACH,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;IAClD,2FAA2F;IAC3F,8FAA8F;IAC9F,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAI,OAAuB,CAAC,OAAO,CAAA;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;IACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,iCAAiC,CAAC,CAAA;QACvC,OAAO,gBAAgB,CAAC,6DAA6D,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/B,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,eAAe;QACf,IAAK,MAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,8EAA8E,CAAC,CAAA;YACpF,OAAO,gBAAgB,CAAC,qDAAqD,MAAM,GAAG,CAAC,CAAA;QACzF,CAAC;QACD,UAAU;QACV,IAAK,MAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxC,OAAO,gBAAgB,CAAC,kDAAkD,CAAC,CAAA;QAC7E,CAAC;QAED,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;AACH,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
|
+
import type { GlobalConfigStore } from '../types.js';
|
|
2
|
+
import type { BaseCommand } from '../../commands/index.js';
|
|
1
3
|
/**
|
|
2
4
|
* Get a valid GitHub token
|
|
3
|
-
* @returns {Promise<string>}
|
|
4
5
|
*/
|
|
5
6
|
export declare const getGitHubToken: ({ globalConfig }: {
|
|
6
|
-
globalConfig:
|
|
7
|
-
}) => Promise<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* @param {string} config.siteId
|
|
14
|
-
*/
|
|
15
|
-
export declare const configGithub: ({ command, repoName, repoOwner, siteId }: {
|
|
16
|
-
command: any;
|
|
17
|
-
repoName: any;
|
|
18
|
-
repoOwner: any;
|
|
19
|
-
siteId: any;
|
|
7
|
+
globalConfig: GlobalConfigStore;
|
|
8
|
+
}) => Promise<string>;
|
|
9
|
+
export declare const configGithub: ({ command, repoName, repoOwner, siteId, }: {
|
|
10
|
+
command: BaseCommand;
|
|
11
|
+
repoName: string;
|
|
12
|
+
repoOwner: string;
|
|
13
|
+
siteId: string;
|
|
20
14
|
}) => Promise<void>;
|
|
21
15
|
//# sourceMappingURL=config-github.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-github.d.ts","sourceRoot":"","sources":["../../../src/utils/init/config-github.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-github.d.ts","sourceRoot":"","sources":["../../../src/utils/init/config-github.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAW1D;;GAEG;AACH,eAAO,MAAM,cAAc,qBAA4B;IAAE,YAAY,EAAE,iBAAiB,CAAA;CAAE,KAAG,OAAO,CAAC,MAAM,CAqB1G,CAAA;AA4KD,eAAO,MAAM,YAAY,8CAKtB;IACD,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf,kBAsDA,CAAA"}
|