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.
Files changed (210) hide show
  1. package/README.md +3 -139
  2. package/npm-shrinkwrap.json +82 -82
  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 -89
  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,125 +1,108 @@
1
- // @ts-check
2
- import inquirer from 'inquirer'
3
-
4
- import { exit, log } from '../command-helpers.mjs'
5
-
6
- import { createDeployKey, getBuildSettings, saveNetlifyToml, setupSite } from './utils.mjs'
7
-
1
+ import inquirer from 'inquirer';
2
+ import { exit, log } from '../command-helpers.mjs';
3
+ import { createDeployKey, getBuildSettings, saveNetlifyToml, setupSite } from './utils.mjs';
8
4
  /**
9
5
  * Prompts for granting the netlify ssh public key access to your repo
10
6
  * @param {object} deployKey
11
7
  * @param {string} deployKey.public_key
12
8
  */
9
+ // @ts-expect-error TS(7006) FIXME: Parameter 'deployKey' implicitly has an 'any' type... Remove this comment to see the full error message
13
10
  const addDeployKey = async (deployKey) => {
14
- log('\nGive this Netlify SSH public key access to your repository:\n')
15
- log(`\n${deployKey.public_key}\n\n`)
16
-
17
- const { sshKeyAdded } = await inquirer.prompt([
18
- {
19
- type: 'confirm',
20
- name: 'sshKeyAdded',
21
- message: 'Continue?',
22
- default: true,
23
- },
24
- ])
25
-
26
- if (!sshKeyAdded) {
27
- exit()
28
- }
29
- }
30
-
11
+ log('\nGive this Netlify SSH public key access to your repository:\n');
12
+ log(`\n${deployKey.public_key}\n\n`);
13
+ const { sshKeyAdded } = await inquirer.prompt([
14
+ {
15
+ type: 'confirm',
16
+ name: 'sshKeyAdded',
17
+ message: 'Continue?',
18
+ default: true,
19
+ },
20
+ ]);
21
+ if (!sshKeyAdded) {
22
+ exit();
23
+ }
24
+ };
31
25
  /**
32
26
  * @param {object} config
33
27
  * @param {Awaited<ReturnType<import('../../utils/get-repo-data.mjs').default>>} config.repoData
34
28
  * @returns {Promise<string>}
35
29
  */
30
+ // @ts-expect-error TS(7031) FIXME: Binding element 'repoData' implicitly has an 'any'... Remove this comment to see the full error message
36
31
  const getRepoPath = async ({ repoData }) => {
37
- const { repoPath } = await inquirer.prompt([
38
- {
39
- type: 'input',
40
- name: 'repoPath',
41
- message: 'The SSH URL of the remote git repo:',
42
- default: repoData.url,
43
- /**
44
- * @param {string} url
45
- */
46
- validate: (url) => SSH_URL_REGEXP.test(url) || 'The URL provided does not use the SSH protocol',
47
- },
48
- ])
49
-
50
- return repoPath
51
- }
52
-
32
+ const { repoPath } = await inquirer.prompt([
33
+ {
34
+ type: 'input',
35
+ name: 'repoPath',
36
+ message: 'The SSH URL of the remote git repo:',
37
+ default: repoData.url,
38
+ /**
39
+ * @param {string} url
40
+ */
41
+ validate: (url) => SSH_URL_REGEXP.test(url) || 'The URL provided does not use the SSH protocol',
42
+ },
43
+ ]);
44
+ return repoPath;
45
+ };
53
46
  /**
54
47
  * @param {string} deployHook
55
48
  * @returns
56
49
  */
50
+ // @ts-expect-error TS(7006) FIXME: Parameter 'deployHook' implicitly has an 'any' typ... Remove this comment to see the full error message
57
51
  const addDeployHook = async (deployHook) => {
58
- log('\nConfigure the following webhook for your repository:\n')
59
- log(`\n${deployHook}\n\n`)
60
- const { deployHookAdded } = await inquirer.prompt([
61
- {
62
- type: 'confirm',
63
- name: 'deployHookAdded',
64
- message: 'Continue?',
65
- default: true,
66
- },
67
- ])
68
-
69
- return deployHookAdded
70
- }
71
-
52
+ log('\nConfigure the following webhook for your repository:\n');
53
+ log(`\n${deployHook}\n\n`);
54
+ const { deployHookAdded } = await inquirer.prompt([
55
+ {
56
+ type: 'confirm',
57
+ name: 'deployHookAdded',
58
+ message: 'Continue?',
59
+ default: true,
60
+ },
61
+ ]);
62
+ return deployHookAdded;
63
+ };
72
64
  /**
73
65
  * @param {object} config
74
66
  * @param {import('../../commands/base-command.mjs').default} config.command
75
67
  * @param {Awaited<ReturnType<import('../../utils/get-repo-data.mjs').default>>} config.repoData
76
68
  * @param {string} config.siteId
77
69
  */
70
+ // @ts-expect-error TS(7031) FIXME: Binding element 'command' implicitly has an 'any' ... Remove this comment to see the full error message
78
71
  export default async function configManual({ command, repoData, siteId }) {
79
- const { netlify } = command
80
- const {
81
- api,
82
- cachedConfig: { configPath },
83
- config,
84
- repositoryRoot,
85
- site: { root: siteRoot },
86
- } = netlify
87
-
88
- const { baseDir, buildCmd, buildDir, functionsDir, pluginsToInstall } = await getBuildSettings({
89
- repositoryRoot,
90
- siteRoot,
91
- config,
92
- command,
93
- })
94
- await saveNetlifyToml({ repositoryRoot, config, configPath, baseDir, buildCmd, buildDir, functionsDir })
95
-
96
- const deployKey = await createDeployKey({ api })
97
- await addDeployKey(deployKey)
98
-
99
- const repoPath = await getRepoPath({ repoData })
100
- const repo = {
101
- provider: 'manual',
102
- repo_path: repoPath,
103
- repo_branch: repoData.branch,
104
- allowed_branches: [repoData.branch],
105
- deploy_key_id: deployKey.id,
106
- base: baseDir,
107
- dir: buildDir,
108
- functions_dir: functionsDir,
109
- ...(buildCmd && { cmd: buildCmd }),
110
- }
111
-
112
- const updatedSite = await setupSite({
113
- api,
114
- siteId,
115
- repo,
116
- configPlugins: config.plugins,
117
- pluginsToInstall,
118
- })
119
- const deployHookAdded = await addDeployHook(updatedSite.deploy_hook)
120
- if (!deployHookAdded) {
121
- exit()
122
- }
72
+ const { netlify } = command;
73
+ const { api, cachedConfig: { configPath }, config, repositoryRoot, site: { root: siteRoot }, } = netlify;
74
+ const { baseDir, buildCmd, buildDir, functionsDir, pluginsToInstall } = await getBuildSettings({
75
+ // @ts-expect-error TS(2345) FIXME: Argument of type '{ repositoryRoot: any; siteRoot:... Remove this comment to see the full error message
76
+ repositoryRoot,
77
+ siteRoot,
78
+ config,
79
+ command,
80
+ });
81
+ await saveNetlifyToml({ repositoryRoot, config, configPath, baseDir, buildCmd, buildDir, functionsDir });
82
+ const deployKey = await createDeployKey({ api });
83
+ await addDeployKey(deployKey);
84
+ const repoPath = await getRepoPath({ repoData });
85
+ const repo = {
86
+ provider: 'manual',
87
+ repo_path: repoPath,
88
+ repo_branch: repoData.branch,
89
+ allowed_branches: [repoData.branch],
90
+ deploy_key_id: deployKey.id,
91
+ base: baseDir,
92
+ dir: buildDir,
93
+ functions_dir: functionsDir,
94
+ ...(buildCmd && { cmd: buildCmd }),
95
+ };
96
+ const updatedSite = await setupSite({
97
+ api,
98
+ siteId,
99
+ repo,
100
+ configPlugins: config.plugins,
101
+ pluginsToInstall,
102
+ });
103
+ const deployHookAdded = await addDeployHook(updatedSite.deploy_hook);
104
+ if (!deployHookAdded) {
105
+ exit();
106
+ }
123
107
  }
124
-
125
- const SSH_URL_REGEXP = /(ssh:\/\/|[a-zA-Z]*@|[a-zA-Z.].*:(?!\/\/))/
108
+ const SSH_URL_REGEXP = /(ssh:\/\/|[a-zA-Z]*@|[a-zA-Z.].*:(?!\/\/))/;
@@ -1,22 +1,19 @@
1
- // @ts-check
2
- import { chalk, log } from '../command-helpers.mjs'
3
-
4
- import { configGithub } from './config-github.mjs'
5
- import configManual from './config-manual.mjs'
6
-
1
+ import { chalk, log } from '../command-helpers.mjs';
2
+ import { configGithub } from './config-github.mjs';
3
+ import configManual from './config-manual.mjs';
4
+ // @ts-expect-error TS(7006) FIXME: Parameter 'repoData' implicitly has an 'any' type.
7
5
  const logSuccess = (repoData) => {
8
- log()
9
- log(chalk.greenBright.bold.underline(`Success! Netlify CI/CD Configured!`))
10
- log()
11
- log(`This site is now configured to automatically deploy from ${repoData.provider} branches & pull requests`)
12
- log()
13
- log(`Next steps:
6
+ log();
7
+ log(chalk.greenBright.bold.underline(`Success! Netlify CI/CD Configured!`));
8
+ log();
9
+ log(`This site is now configured to automatically deploy from ${repoData.provider} branches & pull requests`);
10
+ log();
11
+ log(`Next steps:
14
12
 
15
13
  ${chalk.cyanBright.bold('git push')} Push to your git repository to trigger new site builds
16
14
  ${chalk.cyanBright.bold('netlify open')} Open the Netlify admin URL of your site
17
- `)
18
- }
19
-
15
+ `);
16
+ };
20
17
  /**
21
18
  * @param {object} config
22
19
  * @param {import('../../commands/base-command.mjs').default} config.command
@@ -24,15 +21,17 @@ const logSuccess = (repoData) => {
24
21
  * @param {*} config.repoData
25
22
  * @param {string} config.siteId
26
23
  */
24
+ // @ts-expect-error TS(7031) FIXME: Binding element 'command' implicitly has an 'any' ... Remove this comment to see the full error message
27
25
  export const configureRepo = async ({ command, manual, repoData, siteId }) => {
28
- if (manual) {
29
- await configManual({ command, siteId, repoData })
30
- } else if (repoData.provider === 'github') {
31
- await configGithub({ command, siteId, repoName: repoData.name, repoOwner: repoData.owner })
32
- } else {
33
- log(`No configurator found for the provided git remote. Configuring manually...`)
34
- await configManual({ command, siteId, repoData })
35
- }
36
-
37
- logSuccess(repoData)
38
- }
26
+ if (manual) {
27
+ await configManual({ command, siteId, repoData });
28
+ }
29
+ else if (repoData.provider === 'github') {
30
+ await configGithub({ command, siteId, repoName: repoData.name, repoOwner: repoData.owner });
31
+ }
32
+ else {
33
+ log(`No configurator found for the provided git remote. Configuring manually...`);
34
+ await configManual({ command, siteId, repoData });
35
+ }
36
+ logSuccess(repoData);
37
+ };
@@ -1,32 +1,25 @@
1
- // @ts-check
2
- import { readFile } from 'fs/promises'
3
-
4
- import { locatePath } from 'locate-path'
5
- import nodeVersionAlias from 'node-version-alias'
6
-
7
- import { warn } from '../command-helpers.mjs'
8
-
9
- const DEFAULT_NODE_VERSION = '12.18.0'
10
- const NVM_FLAG_PREFIX = '--'
11
-
1
+ import { readFile } from 'fs/promises';
2
+ import { locatePath } from 'locate-path';
3
+ import nodeVersionAlias from 'node-version-alias';
4
+ import { warn } from '../command-helpers.mjs';
5
+ const DEFAULT_NODE_VERSION = '12.18.0';
6
+ const NVM_FLAG_PREFIX = '--';
12
7
  // to support NODE_VERSION=--lts, etc.
13
- const normalizeConfiguredVersion = (version) =>
14
- version.startsWith(NVM_FLAG_PREFIX) ? version.slice(NVM_FLAG_PREFIX.length) : version
15
-
8
+ // @ts-expect-error TS(7006) FIXME: Parameter 'version' implicitly has an 'any' type.
9
+ const normalizeConfiguredVersion = (version) => version.startsWith(NVM_FLAG_PREFIX) ? version.slice(NVM_FLAG_PREFIX.length) : version;
10
+ // @ts-expect-error TS(7031) FIXME: Binding element 'baseDirectory' implicitly has an ... Remove this comment to see the full error message
16
11
  export const detectNodeVersion = async ({ baseDirectory, env }) => {
17
- try {
18
- const nodeVersionFile = await locatePath(['.nvmrc', '.node-version'], { cwd: baseDirectory })
19
- const configuredVersion =
20
- nodeVersionFile === undefined ? env.NODE_VERSION?.value : await readFile(nodeVersionFile, 'utf8')
21
-
22
- const version =
23
- configuredVersion === undefined || configuredVersion === null
24
- ? DEFAULT_NODE_VERSION
25
- : await nodeVersionAlias(normalizeConfiguredVersion(configuredVersion))
26
-
27
- return version
28
- } catch (error) {
29
- warn(`Failed detecting Node.js version: ${error.message}`)
30
- return DEFAULT_NODE_VERSION
31
- }
32
- }
12
+ try {
13
+ const nodeVersionFile = await locatePath(['.nvmrc', '.node-version'], { cwd: baseDirectory });
14
+ const configuredVersion = nodeVersionFile === undefined ? env.NODE_VERSION?.value : await readFile(nodeVersionFile, 'utf8');
15
+ const version = configuredVersion === undefined || configuredVersion === null
16
+ ? DEFAULT_NODE_VERSION
17
+ : await nodeVersionAlias(normalizeConfiguredVersion(configuredVersion));
18
+ return version;
19
+ }
20
+ catch (error) {
21
+ // @ts-expect-error TS(2571) FIXME: Object is of type 'unknown'.
22
+ warn(`Failed detecting Node.js version: ${error.message}`);
23
+ return DEFAULT_NODE_VERSION;
24
+ }
25
+ };
@@ -1,8 +1,12 @@
1
- const isPluginInstalled = (configPlugins, plugin) =>
2
- configPlugins.some(({ package: configPlugin }) => configPlugin === plugin)
3
-
4
- export const getRecommendPlugins = (frameworkPlugins, config) =>
5
- frameworkPlugins.filter((plugin) => !isPluginInstalled(config.plugins, plugin))
6
-
7
- export const getUIPlugins = (configPlugins) =>
8
- configPlugins.filter(({ origin }) => origin === 'ui').map(({ package: pkg }) => ({ package: pkg }))
1
+ // @ts-expect-error TS(7006) FIXME: Parameter 'configPlugins' implicitly has an 'any' ... Remove this comment to see the full error message
2
+ const isPluginInstalled = (configPlugins, plugin) =>
3
+ // @ts-expect-error TS(7031) FIXME: Binding element 'configPlugin' implicitly has an '... Remove this comment to see the full error message
4
+ configPlugins.some(({ package: configPlugin }) => configPlugin === plugin);
5
+ // @ts-expect-error TS(7006) FIXME: Parameter 'frameworkPlugins' implicitly has an 'an... Remove this comment to see the full error message
6
+ export const getRecommendPlugins = (frameworkPlugins, config) =>
7
+ // @ts-expect-error TS(7006) FIXME: Parameter 'plugin' implicitly has an 'any' type.
8
+ frameworkPlugins.filter((plugin) => !isPluginInstalled(config.plugins, plugin));
9
+ // @ts-expect-error TS(7006) FIXME: Parameter 'configPlugins' implicitly has an 'any' ... Remove this comment to see the full error message
10
+ export const getUIPlugins = (configPlugins) =>
11
+ // @ts-expect-error TS(7031) FIXME: Binding element 'origin' implicitly has an 'any' t... Remove this comment to see the full error message
12
+ configPlugins.filter(({ origin }) => origin === 'ui').map(({ package: pkg }) => ({ package: pkg }));