netlify-cli 17.3.2 → 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.
Files changed (210) hide show
  1. package/README.md +2 -138
  2. package/npm-shrinkwrap.json +76 -76
  3. package/package.json +16 -15
  4. package/src/commands/addons/addons-auth.mjs +27 -30
  5. package/src/commands/addons/addons-config.mjs +145 -154
  6. package/src/commands/addons/addons-create.mjs +94 -108
  7. package/src/commands/addons/addons-delete.mjs +36 -41
  8. package/src/commands/addons/addons-list.mjs +38 -42
  9. package/src/commands/addons/addons.mjs +26 -28
  10. package/src/commands/addons/index.mjs +1 -1
  11. package/src/commands/api/api.mjs +45 -53
  12. package/src/commands/api/index.mjs +1 -1
  13. package/src/commands/base-command.mjs +597 -684
  14. package/src/commands/blobs/blobs-delete.mjs +35 -0
  15. package/src/commands/blobs/blobs-get.mjs +44 -0
  16. package/src/commands/blobs/blobs-list.mjs +48 -0
  17. package/src/commands/blobs/blobs-set.mjs +54 -0
  18. package/src/commands/blobs/blobs.mjs +32 -0
  19. package/src/commands/blobs/index.mjs +1 -0
  20. package/src/commands/build/build.mjs +55 -67
  21. package/src/commands/build/index.mjs +1 -1
  22. package/src/commands/completion/completion.mjs +41 -46
  23. package/src/commands/completion/index.mjs +1 -1
  24. package/src/commands/deploy/deploy.mjs +675 -710
  25. package/src/commands/deploy/index.mjs +1 -1
  26. package/src/commands/dev/dev-exec.mjs +20 -32
  27. package/src/commands/dev/dev.mjs +217 -302
  28. package/src/commands/dev/index.mjs +1 -1
  29. package/src/commands/dev/types.d.ts +30 -0
  30. package/src/commands/env/env-clone.mjs +157 -184
  31. package/src/commands/env/env-get.mjs +49 -68
  32. package/src/commands/env/env-import.mjs +100 -119
  33. package/src/commands/env/env-list.mjs +104 -129
  34. package/src/commands/env/env-set.mjs +160 -185
  35. package/src/commands/env/env-unset.mjs +104 -122
  36. package/src/commands/env/env.mjs +28 -30
  37. package/src/commands/env/index.mjs +1 -1
  38. package/src/commands/functions/functions-build.mjs +29 -41
  39. package/src/commands/functions/functions-create.mjs +533 -601
  40. package/src/commands/functions/functions-invoke.mjs +193 -216
  41. package/src/commands/functions/functions-list.mjs +45 -55
  42. package/src/commands/functions/functions-serve.mjs +51 -61
  43. package/src/commands/functions/functions.mjs +26 -32
  44. package/src/commands/functions/index.mjs +1 -1
  45. package/src/commands/index.mjs +2 -2
  46. package/src/commands/init/index.mjs +1 -1
  47. package/src/commands/init/init.mjs +138 -167
  48. package/src/commands/integration/deploy.mjs +337 -399
  49. package/src/commands/integration/index.mjs +12 -13
  50. package/src/commands/link/index.mjs +1 -1
  51. package/src/commands/link/link.mjs +298 -317
  52. package/src/commands/lm/index.mjs +1 -1
  53. package/src/commands/lm/lm-info.mjs +23 -31
  54. package/src/commands/lm/lm-install.mjs +13 -17
  55. package/src/commands/lm/lm-setup.mjs +80 -84
  56. package/src/commands/lm/lm-uninstall.mjs +7 -12
  57. package/src/commands/lm/lm.mjs +18 -22
  58. package/src/commands/login/index.mjs +1 -1
  59. package/src/commands/login/login.mjs +35 -41
  60. package/src/commands/logout/index.mjs +1 -1
  61. package/src/commands/logout/logout.mjs +25 -31
  62. package/src/commands/main.mjs +166 -201
  63. package/src/commands/open/index.mjs +1 -1
  64. package/src/commands/open/open-admin.mjs +15 -18
  65. package/src/commands/open/open-site.mjs +16 -19
  66. package/src/commands/open/open.mjs +24 -27
  67. package/src/commands/recipes/common.mjs +23 -34
  68. package/src/commands/recipes/index.mjs +1 -1
  69. package/src/commands/recipes/recipes-list.mjs +13 -20
  70. package/src/commands/recipes/recipes.mjs +59 -72
  71. package/src/commands/serve/index.mjs +1 -1
  72. package/src/commands/serve/serve.mjs +142 -189
  73. package/src/commands/sites/index.mjs +2 -2
  74. package/src/commands/sites/sites-create-template.mjs +214 -236
  75. package/src/commands/sites/sites-create.mjs +145 -157
  76. package/src/commands/sites/sites-delete.mjs +75 -81
  77. package/src/commands/sites/sites-list.mjs +63 -66
  78. package/src/commands/sites/sites.mjs +18 -20
  79. package/src/commands/status/index.mjs +1 -1
  80. package/src/commands/status/status-hooks.mjs +32 -34
  81. package/src/commands/status/status.mjs +99 -106
  82. package/src/commands/switch/index.mjs +1 -1
  83. package/src/commands/switch/switch.mjs +32 -37
  84. package/src/commands/types.d.ts +31 -0
  85. package/src/commands/unlink/index.mjs +1 -1
  86. package/src/commands/unlink/unlink.mjs +23 -29
  87. package/src/commands/watch/index.mjs +1 -1
  88. package/src/commands/watch/watch.mjs +91 -105
  89. package/src/functions-templates/javascript/hello/{{name}}.js +2 -3
  90. package/src/lib/account.mjs +4 -5
  91. package/src/lib/api.mjs +22 -20
  92. package/src/lib/blobs/blobs.mjs +36 -45
  93. package/src/lib/build.mjs +82 -85
  94. package/src/lib/completion/constants.mjs +2 -4
  95. package/src/lib/completion/generate-autocompletion.mjs +33 -36
  96. package/src/lib/completion/get-autocompletion.mjs +31 -35
  97. package/src/lib/completion/index.mjs +1 -1
  98. package/src/lib/completion/script.mjs +12 -19
  99. package/src/lib/edge-functions/bootstrap.mjs +3 -5
  100. package/src/lib/edge-functions/consts.mjs +9 -10
  101. package/src/lib/edge-functions/deploy.mjs +28 -34
  102. package/src/lib/edge-functions/editor-helper.mjs +29 -42
  103. package/src/lib/edge-functions/headers.mjs +24 -26
  104. package/src/lib/edge-functions/internal.mjs +38 -44
  105. package/src/lib/edge-functions/proxy.mjs +229 -228
  106. package/src/lib/edge-functions/registry.mjs +473 -574
  107. package/src/lib/exec-fetcher.mjs +115 -122
  108. package/src/lib/fs.mjs +28 -27
  109. package/src/lib/functions/background.mjs +16 -20
  110. package/src/lib/functions/config.mjs +12 -9
  111. package/src/lib/functions/form-submissions-handler.mjs +143 -149
  112. package/src/lib/functions/local-proxy.mjs +40 -44
  113. package/src/lib/functions/memoized-build.mjs +19 -21
  114. package/src/lib/functions/netlify-function.mjs +269 -249
  115. package/src/lib/functions/registry.mjs +509 -568
  116. package/src/lib/functions/runtimes/go/index.mjs +62 -71
  117. package/src/lib/functions/runtimes/index.mjs +8 -15
  118. package/src/lib/functions/runtimes/js/builders/netlify-lambda.mjs +55 -64
  119. package/src/lib/functions/runtimes/js/builders/zisi.mjs +135 -154
  120. package/src/lib/functions/runtimes/js/constants.mjs +1 -1
  121. package/src/lib/functions/runtimes/js/index.mjs +92 -109
  122. package/src/lib/functions/runtimes/js/worker.mjs +43 -45
  123. package/src/lib/functions/runtimes/rust/index.mjs +64 -73
  124. package/src/lib/functions/scheduled.mjs +70 -88
  125. package/src/lib/functions/server.mjs +269 -327
  126. package/src/lib/functions/synchronous.mjs +118 -147
  127. package/src/lib/functions/utils.mjs +38 -46
  128. package/src/lib/geo-location.mjs +69 -81
  129. package/src/lib/http-agent.mjs +87 -90
  130. package/src/lib/images/proxy.mjs +97 -99
  131. package/src/lib/log.mjs +6 -9
  132. package/src/lib/path.mjs +2 -1
  133. package/src/lib/render-error-template.mjs +19 -20
  134. package/src/lib/settings.mjs +17 -19
  135. package/src/lib/spinner.mjs +21 -23
  136. package/src/lib/string.mjs +4 -2
  137. package/src/recipes/vscode/index.mjs +69 -85
  138. package/src/recipes/vscode/settings.mjs +53 -58
  139. package/src/utils/addons/compare.mjs +31 -32
  140. package/src/utils/addons/diffs/index.mjs +16 -17
  141. package/src/utils/addons/diffs/options.mjs +99 -101
  142. package/src/utils/addons/prepare.mjs +100 -97
  143. package/src/utils/addons/prompts.mjs +73 -76
  144. package/src/utils/addons/render.mjs +33 -36
  145. package/src/utils/addons/validation.mjs +19 -15
  146. package/src/utils/banner.mjs +11 -16
  147. package/src/utils/build-info.mjs +65 -66
  148. package/src/utils/command-helpers.mjs +185 -199
  149. package/src/utils/create-deferred.mjs +9 -12
  150. package/src/utils/create-stream-promise.mjs +54 -47
  151. package/src/utils/deploy/constants.mjs +9 -11
  152. package/src/utils/deploy/deploy-site.mjs +162 -182
  153. package/src/utils/deploy/hash-config.mjs +21 -21
  154. package/src/utils/deploy/hash-files.mjs +34 -38
  155. package/src/utils/deploy/hash-fns.mjs +149 -154
  156. package/src/utils/deploy/hasher-segments.mjs +58 -52
  157. package/src/utils/deploy/upload-files.mjs +99 -113
  158. package/src/utils/deploy/util.mjs +85 -91
  159. package/src/utils/detect-server-settings.mjs +236 -268
  160. package/src/utils/dev.mjs +163 -178
  161. package/src/utils/dot-env.mjs +37 -42
  162. package/src/utils/env/index.mjs +148 -148
  163. package/src/utils/execa.mjs +9 -13
  164. package/src/utils/feature-flags.mjs +6 -5
  165. package/src/utils/framework-server.mjs +43 -52
  166. package/src/utils/functions/constants.mjs +1 -1
  167. package/src/utils/functions/functions.mjs +30 -40
  168. package/src/utils/functions/get-functions.mjs +28 -29
  169. package/src/utils/functions/index.mjs +3 -3
  170. package/src/utils/get-global-config.mjs +33 -36
  171. package/src/utils/get-package-json.mjs +14 -15
  172. package/src/utils/get-repo-data.mjs +54 -64
  173. package/src/utils/get-site.mjs +14 -14
  174. package/src/utils/gh-auth.mjs +79 -100
  175. package/src/utils/gitignore.mjs +37 -40
  176. package/src/utils/headers.mjs +33 -35
  177. package/src/utils/hooks/requires-site-info.mjs +26 -22
  178. package/src/utils/init/config-github.mjs +207 -219
  179. package/src/utils/init/config-manual.mjs +83 -100
  180. package/src/utils/init/config.mjs +25 -26
  181. package/src/utils/init/node-version.mjs +23 -30
  182. package/src/utils/init/plugins.mjs +12 -8
  183. package/src/utils/init/utils.mjs +152 -172
  184. package/src/utils/live-tunnel.mjs +118 -141
  185. package/src/utils/lm/install.mjs +220 -259
  186. package/src/utils/lm/requirements.mjs +54 -63
  187. package/src/utils/lm/steps.mjs +31 -31
  188. package/src/utils/lm/ui.mjs +13 -20
  189. package/src/utils/open-browser.mjs +31 -32
  190. package/src/utils/parse-raw-flags.mjs +39 -35
  191. package/src/utils/proxy-server.mjs +84 -71
  192. package/src/utils/proxy.mjs +696 -750
  193. package/src/utils/read-repo-url.mjs +48 -47
  194. package/src/utils/redirects.mjs +49 -49
  195. package/src/utils/request-id.mjs +2 -4
  196. package/src/utils/rules-proxy.mjs +96 -100
  197. package/src/utils/run-build.mjs +109 -132
  198. package/src/utils/shell.mjs +99 -106
  199. package/src/utils/sign-redirect.mjs +14 -14
  200. package/src/utils/sites/utils.mjs +48 -55
  201. package/src/utils/state-config.mjs +101 -101
  202. package/src/utils/static-server.mjs +28 -34
  203. package/src/utils/telemetry/index.mjs +2 -2
  204. package/src/utils/telemetry/report-error.mjs +45 -49
  205. package/src/utils/telemetry/request.mjs +36 -43
  206. package/src/utils/telemetry/telemetry.mjs +90 -105
  207. package/src/utils/telemetry/utils.mjs +5 -6
  208. package/src/utils/telemetry/validation.mjs +55 -53
  209. package/src/utils/types.d.ts +46 -0
  210. package/src/utils/validation.mjs +10 -13
@@ -1,43 +1,41 @@
1
- // @ts-check
2
- import { createEnvCloneCommand } from './env-clone.mjs'
3
- import { createEnvGetCommand } from './env-get.mjs'
4
- import { createEnvImportCommand } from './env-import.mjs'
5
- import { createEnvListCommand } from './env-list.mjs'
6
- import { createEnvSetCommand } from './env-set.mjs'
7
- import { createEnvUnsetCommand } from './env-unset.mjs'
8
-
1
+ import { createEnvCloneCommand } from './env-clone.mjs';
2
+ import { createEnvGetCommand } from './env-get.mjs';
3
+ import { createEnvImportCommand } from './env-import.mjs';
4
+ import { createEnvListCommand } from './env-list.mjs';
5
+ import { createEnvSetCommand } from './env-set.mjs';
6
+ import { createEnvUnsetCommand } from './env-unset.mjs';
9
7
  /**
10
8
  * The env command
11
9
  * @param {import('commander').OptionValues} options
12
10
  * @param {import('../base-command.mjs').default} command
13
11
  */
12
+ // @ts-expect-error TS(7006) FIXME: Parameter 'options' implicitly has an 'any' type.
14
13
  const env = (options, command) => {
15
- command.help()
16
- }
17
-
14
+ command.help();
15
+ };
18
16
  /**
19
17
  * Creates the `netlify env` command
20
18
  * @param {import('../base-command.mjs').default} program
21
19
  * @returns
22
20
  */
21
+ // @ts-expect-error TS(7006) FIXME: Parameter 'program' implicitly has an 'any' type.
23
22
  export const createEnvCommand = (program) => {
24
- createEnvGetCommand(program)
25
- createEnvImportCommand(program)
26
- createEnvListCommand(program)
27
- createEnvSetCommand(program)
28
- createEnvUnsetCommand(program)
29
- createEnvCloneCommand(program)
30
-
31
- return program
32
- .command('env')
33
- .description('Control environment variables for the current site')
34
- .addExamples([
35
- 'netlify env:list',
36
- 'netlify env:get VAR_NAME',
37
- 'netlify env:set VAR_NAME value',
38
- 'netlify env:unset VAR_NAME',
39
- 'netlify env:import fileName',
40
- 'netlify env:clone --to <to-site-id>',
23
+ createEnvGetCommand(program);
24
+ createEnvImportCommand(program);
25
+ createEnvListCommand(program);
26
+ createEnvSetCommand(program);
27
+ createEnvUnsetCommand(program);
28
+ createEnvCloneCommand(program);
29
+ return program
30
+ .command('env')
31
+ .description('Control environment variables for the current site')
32
+ .addExamples([
33
+ 'netlify env:list',
34
+ 'netlify env:get VAR_NAME',
35
+ 'netlify env:set VAR_NAME value',
36
+ 'netlify env:unset VAR_NAME',
37
+ 'netlify env:import fileName',
38
+ 'netlify env:clone --to <to-site-id>',
41
39
  ])
42
- .action(env)
43
- }
40
+ .action(env);
41
+ };
@@ -1 +1 @@
1
- export { createEnvCommand } from './env.mjs'
1
+ export { createEnvCommand } from './env.mjs';
@@ -1,57 +1,45 @@
1
- // @ts-check
2
- import { mkdir } from 'fs/promises'
3
-
4
- import { zipFunctions } from '@netlify/zip-it-and-ship-it'
5
-
6
- import { NETLIFYDEVERR, NETLIFYDEVLOG, exit, log } from '../../utils/command-helpers.mjs'
7
- import { getFunctionsDir } from '../../utils/functions/index.mjs'
8
-
1
+ import { mkdir } from 'fs/promises';
2
+ import { zipFunctions } from '@netlify/zip-it-and-ship-it';
3
+ import { NETLIFYDEVERR, NETLIFYDEVLOG, exit, log } from '../../utils/command-helpers.mjs';
4
+ import { getFunctionsDir } from '../../utils/functions/index.mjs';
9
5
  /**
10
6
  * The functions:build command
11
7
  * @param {import('commander').OptionValues} options
12
8
  * @param {import('../base-command.mjs').default} command
13
9
  */
10
+ // @ts-expect-error TS(7006) FIXME: Parameter 'options' implicitly has an 'any' type.
14
11
  const functionsBuild = async (options, command) => {
15
- const { config } = command.netlify
16
-
17
- const src = options.src || config.build.functionsSource
18
- const dst = getFunctionsDir({ options, config })
19
-
20
- if (src === dst) {
21
- log(`${NETLIFYDEVERR} Source and destination for function build can't be the same`)
22
- exit(1)
23
- }
24
-
25
- if (!src || !dst) {
26
- if (!src)
27
- log(
28
- `${NETLIFYDEVERR} Error: You must specify a source folder with a --src flag or a functionsSource field in your config`,
29
- )
30
- if (!dst)
31
- log(
32
- `${NETLIFYDEVERR} Error: You must specify a destination functions folder with a --functions flag or a functions field in your config`,
33
- )
34
- exit(1)
35
- }
36
-
37
- await mkdir(dst, { recursive: true })
38
-
39
- log(`${NETLIFYDEVLOG} Building functions`)
40
-
41
- zipFunctions(src, dst, { skipGo: true })
42
- log(`${NETLIFYDEVLOG} Functions built to `, dst)
43
- }
44
-
12
+ const { config } = command.netlify;
13
+ const src = options.src || config.build.functionsSource;
14
+ // @ts-expect-error TS(2554) FIXME: Expected 2 arguments, but got 1.
15
+ const dst = getFunctionsDir({ options, config });
16
+ if (src === dst) {
17
+ log(`${NETLIFYDEVERR} Source and destination for function build can't be the same`);
18
+ exit(1);
19
+ }
20
+ if (!src || !dst) {
21
+ if (!src)
22
+ log(`${NETLIFYDEVERR} Error: You must specify a source folder with a --src flag or a functionsSource field in your config`);
23
+ if (!dst)
24
+ log(`${NETLIFYDEVERR} Error: You must specify a destination functions folder with a --functions flag or a functions field in your config`);
25
+ exit(1);
26
+ }
27
+ await mkdir(dst, { recursive: true });
28
+ log(`${NETLIFYDEVLOG} Building functions`);
29
+ // @ts-expect-error TS(2345) FIXME: Argument of type '{ skipGo: boolean; }' is not ass... Remove this comment to see the full error message
30
+ zipFunctions(src, dst, { skipGo: true });
31
+ log(`${NETLIFYDEVLOG} Functions built to `, dst);
32
+ };
45
33
  /**
46
34
  * Creates the `netlify functions:build` command
47
35
  * @param {import('../base-command.mjs').default} program
48
36
  * @returns
49
37
  */
50
- export const createFunctionsBuildCommand = (program) =>
51
- program
38
+ // @ts-expect-error TS(7006) FIXME: Parameter 'program' implicitly has an 'any' type.
39
+ export const createFunctionsBuildCommand = (program) => program
52
40
  .command('functions:build')
53
41
  .alias('function:build')
54
42
  .description('Build functions locally')
55
43
  .option('-f, --functions <directory>', 'Specify a functions directory to build to')
56
44
  .option('-s, --src <directory>', 'Specify the source directory for the functions')
57
- .action(functionsBuild)
45
+ .action(functionsBuild);