netlify-cli 21.4.1 → 21.5.0-pre.255457f

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 (148) hide show
  1. package/README.md +2 -2
  2. package/dist/commands/base-command.js +5 -5
  3. package/dist/commands/base-command.js.map +1 -1
  4. package/dist/commands/build/build.js +1 -1
  5. package/dist/commands/build/build.js.map +1 -1
  6. package/dist/commands/clone/clone.js +2 -2
  7. package/dist/commands/clone/clone.js.map +1 -1
  8. package/dist/commands/clone/index.js +7 -7
  9. package/dist/commands/clone/index.js.map +1 -1
  10. package/dist/commands/database/constants.d.ts +4 -0
  11. package/dist/commands/database/constants.d.ts.map +1 -0
  12. package/dist/commands/database/constants.js +4 -0
  13. package/dist/commands/database/constants.js.map +1 -0
  14. package/dist/commands/database/database.d.ts +18 -0
  15. package/dist/commands/database/database.d.ts.map +1 -0
  16. package/dist/commands/database/database.js +20 -0
  17. package/dist/commands/database/database.js.map +1 -0
  18. package/dist/commands/database/drizzle.d.ts +3 -0
  19. package/dist/commands/database/drizzle.d.ts.map +1 -0
  20. package/dist/commands/database/drizzle.js +95 -0
  21. package/dist/commands/database/drizzle.js.map +1 -0
  22. package/dist/commands/database/index.d.ts +2 -0
  23. package/dist/commands/database/index.d.ts.map +1 -0
  24. package/dist/commands/database/index.js +2 -0
  25. package/dist/commands/database/index.js.map +1 -0
  26. package/dist/commands/database/init.d.ts +4 -0
  27. package/dist/commands/database/init.d.ts.map +1 -0
  28. package/dist/commands/database/init.js +143 -0
  29. package/dist/commands/database/init.js.map +1 -0
  30. package/dist/commands/database/status.d.ts +4 -0
  31. package/dist/commands/database/status.d.ts.map +1 -0
  32. package/dist/commands/database/status.js +71 -0
  33. package/dist/commands/database/status.js.map +1 -0
  34. package/dist/commands/database/utils.d.ts +75 -0
  35. package/dist/commands/database/utils.d.ts.map +1 -0
  36. package/dist/commands/database/utils.js +173 -0
  37. package/dist/commands/database/utils.js.map +1 -0
  38. package/dist/commands/deploy/deploy.js +8 -8
  39. package/dist/commands/deploy/deploy.js.map +1 -1
  40. package/dist/commands/deploy/index.js +6 -6
  41. package/dist/commands/deploy/index.js.map +1 -1
  42. package/dist/commands/env/env-clone.d.ts.map +1 -1
  43. package/dist/commands/env/env-clone.js +5 -5
  44. package/dist/commands/env/env-clone.js.map +1 -1
  45. package/dist/commands/env/env-get.js +1 -1
  46. package/dist/commands/env/env-get.js.map +1 -1
  47. package/dist/commands/env/env-import.js +1 -1
  48. package/dist/commands/env/env-import.js.map +1 -1
  49. package/dist/commands/env/env-list.js +2 -2
  50. package/dist/commands/env/env-list.js.map +1 -1
  51. package/dist/commands/env/env-set.js +1 -1
  52. package/dist/commands/env/env-set.js.map +1 -1
  53. package/dist/commands/env/env-unset.js +1 -1
  54. package/dist/commands/env/env-unset.js.map +1 -1
  55. package/dist/commands/env/env.d.ts.map +1 -1
  56. package/dist/commands/env/env.js +10 -7
  57. package/dist/commands/env/env.js.map +1 -1
  58. package/dist/commands/functions/functions-create.d.ts.map +1 -1
  59. package/dist/commands/functions/functions-create.js +13 -13
  60. package/dist/commands/functions/functions-create.js.map +1 -1
  61. package/dist/commands/functions/functions.js +1 -1
  62. package/dist/commands/functions/functions.js.map +1 -1
  63. package/dist/commands/init/index.js +1 -1
  64. package/dist/commands/init/index.js.map +1 -1
  65. package/dist/commands/init/init.js +14 -14
  66. package/dist/commands/init/init.js.map +1 -1
  67. package/dist/commands/link/index.js +5 -5
  68. package/dist/commands/link/index.js.map +1 -1
  69. package/dist/commands/link/link.js +34 -34
  70. package/dist/commands/link/link.js.map +1 -1
  71. package/dist/commands/logs/build.js +1 -1
  72. package/dist/commands/logs/build.js.map +1 -1
  73. package/dist/commands/logs/functions.js +1 -1
  74. package/dist/commands/logs/functions.js.map +1 -1
  75. package/dist/commands/logs/index.js +1 -1
  76. package/dist/commands/logs/index.js.map +1 -1
  77. package/dist/commands/main.d.ts.map +1 -1
  78. package/dist/commands/main.js +6 -1
  79. package/dist/commands/main.js.map +1 -1
  80. package/dist/commands/open/index.js +5 -5
  81. package/dist/commands/open/index.js.map +1 -1
  82. package/dist/commands/open/open-admin.js +1 -1
  83. package/dist/commands/open/open-admin.js.map +1 -1
  84. package/dist/commands/open/open-site.js +1 -1
  85. package/dist/commands/open/open-site.js.map +1 -1
  86. package/dist/commands/serve/index.js +1 -1
  87. package/dist/commands/serve/index.js.map +1 -1
  88. package/dist/commands/serve/serve.js +2 -2
  89. package/dist/commands/serve/serve.js.map +1 -1
  90. package/dist/commands/sites/sites-create-template.js +11 -11
  91. package/dist/commands/sites/sites-create-template.js.map +1 -1
  92. package/dist/commands/sites/sites-create.js +3 -3
  93. package/dist/commands/sites/sites-create.js.map +1 -1
  94. package/dist/commands/sites/sites-delete.d.ts.map +1 -1
  95. package/dist/commands/sites/sites-delete.js +13 -13
  96. package/dist/commands/sites/sites-delete.js.map +1 -1
  97. package/dist/commands/sites/sites-list.js +2 -2
  98. package/dist/commands/sites/sites-list.js.map +1 -1
  99. package/dist/commands/sites/sites.js +19 -19
  100. package/dist/commands/sites/sites.js.map +1 -1
  101. package/dist/commands/status/index.js +1 -1
  102. package/dist/commands/status/index.js.map +1 -1
  103. package/dist/commands/status/status-hooks.js +2 -2
  104. package/dist/commands/status/status-hooks.js.map +1 -1
  105. package/dist/commands/status/status.js +6 -6
  106. package/dist/commands/status/status.js.map +1 -1
  107. package/dist/commands/unlink/index.js +2 -2
  108. package/dist/commands/unlink/index.js.map +1 -1
  109. package/dist/commands/unlink/unlink.js +1 -1
  110. package/dist/commands/unlink/unlink.js.map +1 -1
  111. package/dist/commands/watch/index.js +1 -1
  112. package/dist/commands/watch/index.js.map +1 -1
  113. package/dist/commands/watch/watch.js +1 -1
  114. package/dist/commands/watch/watch.js.map +1 -1
  115. package/dist/index.d.ts +2 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +5 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/tsconfig.build.tsbuildinfo +1 -1
  120. package/dist/utils/addons/prepare.js +1 -1
  121. package/dist/utils/addons/prepare.js.map +1 -1
  122. package/dist/utils/detect-server-settings.js +1 -1
  123. package/dist/utils/detect-server-settings.js.map +1 -1
  124. package/dist/utils/dev.js +3 -3
  125. package/dist/utils/dev.js.map +1 -1
  126. package/dist/utils/get-site.js +3 -3
  127. package/dist/utils/get-site.js.map +1 -1
  128. package/dist/utils/hooks/requires-site-info.js +4 -4
  129. package/dist/utils/hooks/requires-site-info.js.map +1 -1
  130. package/dist/utils/init/config.js +3 -3
  131. package/dist/utils/init/config.js.map +1 -1
  132. package/dist/utils/init/utils.d.ts.map +1 -1
  133. package/dist/utils/init/utils.js +1 -1
  134. package/dist/utils/init/utils.js.map +1 -1
  135. package/dist/utils/live-tunnel.js +1 -1
  136. package/dist/utils/live-tunnel.js.map +1 -1
  137. package/dist/utils/prompts/env-clone-prompt.d.ts +3 -3
  138. package/dist/utils/prompts/env-clone-prompt.js +3 -3
  139. package/dist/utils/prompts/prompt-messages.js +1 -1
  140. package/dist/utils/prompts/prompt-messages.js.map +1 -1
  141. package/dist/utils/proxy.d.ts.map +1 -1
  142. package/dist/utils/proxy.js +10 -4
  143. package/dist/utils/proxy.js.map +1 -1
  144. package/npm-shrinkwrap.json +2 -2
  145. package/package.json +2 -64
  146. package/scripts/netlifyPackage.js +68 -0
  147. package/scripts/postinstall.js +3 -3
  148. package/scripts/prepublishOnly.js +8 -14
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "netlify-cli",
3
3
  "description": "Netlify command line tool",
4
- "version": "21.4.1",
4
+ "version": "21.5.0-pre.255457f",
5
5
  "author": "Netlify Inc.",
6
6
  "type": "module",
7
7
  "engines": {
@@ -152,72 +152,10 @@
152
152
  "write-file-atomic": "5.0.1",
153
153
  "ws": "8.18.2"
154
154
  },
155
- "devDependencies": {
156
- "@babel/preset-react": "7.26.3",
157
- "@bugsnag/js": "8.2.0",
158
- "@eslint/compat": "1.2.8",
159
- "@eslint/js": "9.24.0",
160
- "@netlify/functions": "3.0.4",
161
- "@sindresorhus/slugify": "2.2.1",
162
- "@tsconfig/node18": "^18.2.4",
163
- "@tsconfig/recommended": "^1.0.8",
164
- "@types/backoff": "^2.5.5",
165
- "@types/content-type": "1.1.8",
166
- "@types/debug": "4.1.12",
167
- "@types/envinfo": "7.8.4",
168
- "@types/eslint-config-prettier": "^6.11.3",
169
- "@types/etag": "1.8.3",
170
- "@types/folder-walker": "3.2.4",
171
- "@types/gitconfiglocal": "2.0.3",
172
- "@types/inquirer": "9.0.7",
173
- "@types/inquirer-autocomplete-prompt": "3.0.3",
174
- "@types/jsonwebtoken": "9.0.9",
175
- "@types/lodash": "4.17.16",
176
- "@types/lodash.shuffle": "^4.2.9",
177
- "@types/multiparty": "4.2.1",
178
- "@types/node": "18.19.86",
179
- "@types/node-fetch": "2.6.12",
180
- "@types/parallel-transform": "1.1.4",
181
- "@types/parse-github-url": "1.0.3",
182
- "@types/parse-gitignore": "1.0.2",
183
- "@types/picomatch": "4.0.0",
184
- "@types/prettyjson": "0.0.33",
185
- "@types/semver": "7.7.0",
186
- "@types/serialize-javascript": "^5.0.4",
187
- "@types/source-map-support": "0.5.10",
188
- "@types/update-notifier": "^6.0.8",
189
- "@types/write-file-atomic": "4.0.3",
190
- "@types/ws": "8.18.1",
191
- "@vitest/coverage-v8": "3.1.1",
192
- "@vitest/eslint-plugin": "1.1.42",
193
- "c8": "10.1.3",
194
- "cheerio": "1.0.0",
195
- "dedent": "^1.5.3",
196
- "eslint": "9.24.0",
197
- "eslint-config-prettier": "10.1.2",
198
- "eslint-plugin-n": "17.17.0",
199
- "form-data": "4.0.2",
200
- "lodash.shuffle": "^4.2.0",
201
- "memfs": "^4.17.0",
202
- "nock": "14.0.4",
203
- "npm-run-all2": "^7.0.2",
204
- "p-timeout": "6.1.4",
205
- "picomatch": "^4.0.2",
206
- "prettier": "2.6.2",
207
- "serialize-javascript": "6.0.2",
208
- "strip-ansi": "7.1.0",
209
- "temp-dir": "3.0.0",
210
- "tree-kill": "1.2.2",
211
- "tsx": "^4.19.3",
212
- "typescript": "5.8.3",
213
- "typescript-eslint": "^8.26.0",
214
- "verdaccio": "6.1.2",
215
- "vitest": "3.1.1"
216
- },
217
155
  "ava": {
218
156
  "files": [
219
157
  "tools/**/*.test.js",
220
158
  "tests/**/*.test.cjs"
221
159
  ]
222
160
  }
223
- }
161
+ }
@@ -0,0 +1,68 @@
1
+ // @ts-check
2
+ import assert from 'node:assert'
3
+ import { dirname, resolve } from 'node:path'
4
+ import { readFile, stat, writeFile } from 'node:fs/promises'
5
+
6
+ import execa from 'execa'
7
+
8
+ /**
9
+ * @import {Package} from "normalize-package-data"
10
+ */
11
+
12
+ const packageJSON = await getPackageJSON()
13
+
14
+ async function getPackageJSON() {
15
+ const packageJSONPath = resolve('package.json')
16
+
17
+ /**
18
+ * @type {Package}
19
+ */
20
+ const contents = JSON.parse(await readFile(packageJSONPath, 'utf8'))
21
+
22
+ return {
23
+ contents,
24
+ path: packageJSONPath,
25
+ }
26
+ }
27
+
28
+ async function preparePackageJSON() {
29
+ const binPath = Object.values(packageJSON.contents.bin ?? {})[0]
30
+ if (!binPath) {
31
+ throw new Error('Did not find a non-empty binary entry in `package.json`, so the `npx` flow will not work.')
32
+ }
33
+
34
+ const newPackageJSON = {
35
+ ...packageJSON.contents,
36
+ main: './dist/index.js',
37
+ name: 'netlify',
38
+ scripts: {
39
+ ...packageJSON.contents.scripts,
40
+
41
+ // We don't need the pre-publish script because we expect the work in
42
+ // there to be done when publishing the `netlify-cli` package. We'll
43
+ // ensure this is the case by throwing if a shrinkwrap file isn't found.
44
+ prepublishOnly: undefined,
45
+ },
46
+ bin: {
47
+ npxnetlify: binPath,
48
+ },
49
+ }
50
+
51
+ try {
52
+ const shrinkwrap = await stat(resolve(packageJSON.path, '../npm-shrinkwrap.json'))
53
+
54
+ assert.ok(shrinkwrap.isFile())
55
+ } catch {
56
+ throw new Error('Failed to find npm-shrinkwrap.json file. Did you run the pre-publish script?')
57
+ }
58
+
59
+ console.log(`Writing updated package.json to ${packageJSON.path}...`)
60
+ await writeFile(packageJSON.path, `${JSON.stringify(newPackageJSON, null, 2)}\n`)
61
+
62
+ console.log('Regenerating shrinkwrap file with updated package name...')
63
+ await execa('npm', ['shrinkwrap'], {
64
+ cwd: dirname(packageJSON.path),
65
+ })
66
+ }
67
+
68
+ await preparePackageJSON()
@@ -33,7 +33,7 @@ const postInstall = async () => {
33
33
  boxen(
34
34
  `Success! Netlify CLI has been installed!
35
35
 
36
- You can now use Netlify CLI to develop, deploy, and manage your Netlify sites.
36
+ You can now use Netlify CLI to develop, deploy, and manage your Netlify projects.
37
37
 
38
38
  🚀 Now get building!`,
39
39
  {
@@ -51,9 +51,9 @@ const postInstall = async () => {
51
51
  console.log('Next steps:')
52
52
  console.log(` ${chalk.cyanBright.bold('netlify login')} Log in to your Netlify account`)
53
53
  console.log(
54
- ` ${chalk.cyanBright.bold('netlify init')} Connect or create a Netlify site from the current directory`,
54
+ ` ${chalk.cyanBright.bold('netlify init')} Connect or create a Netlify project from the current directory`,
55
55
  )
56
- console.log(` ${chalk.cyanBright.bold('netlify deploy')} Deploy the latest changes to your Netlify site`)
56
+ console.log(` ${chalk.cyanBright.bold('netlify deploy')} Deploy the latest changes to your Netlify project`)
57
57
  console.log(` ${chalk.cyanBright.bold('netlify help')} Find out what else you can do 👀`)
58
58
  console.log('')
59
59
  console.log(`For more help with the CLI, visit ${chalk.cyanBright.bold('https://developers.netlify.com/cli')}`)
@@ -14,22 +14,16 @@ const main = async () => {
14
14
  const packageJSONPath = path.join(process.cwd(), 'package.json')
15
15
  const rawPackageJSON = await fs.readFile(packageJSONPath, 'utf8')
16
16
 
17
- try {
18
- // Remove dev dependencies from the package.json...
19
- const packageJSON = JSON.parse(rawPackageJSON)
20
- Reflect.deleteProperty(packageJSON, 'devDependencies')
21
- await fs.writeFile(packageJSONPath, JSON.stringify(packageJSON, null, 2))
17
+ // Remove dev dependencies from the package.json...
18
+ const packageJSON = JSON.parse(rawPackageJSON)
19
+ Reflect.deleteProperty(packageJSON, 'devDependencies')
20
+ await fs.writeFile(packageJSONPath, JSON.stringify(packageJSON, null, 2))
22
21
 
23
- // Prune out dev dependencies (this updates the `package-lock.json` lockfile)
24
- cp.spawnSync('npm', ['prune'], { stdio: 'inherit' })
22
+ // Prune out dev dependencies (this updates the `package-lock.json` lockfile)
23
+ cp.spawnSync('npm', ['prune'], { stdio: 'inherit' })
25
24
 
26
- // Convert `package-lock.json` lockfile to `npm-shrinkwrap.json`
27
- cp.spawnSync('npm', ['shrinkwrap'], { stdio: 'inherit' })
28
- } finally {
29
- // Restore the original `package.json`. (This makes no functional difference in a publishing
30
- // environment, it's purely to minimize how destructive this script is.)
31
- await fs.writeFile(packageJSONPath, rawPackageJSON)
32
- }
25
+ // Convert `package-lock.json` lockfile to `npm-shrinkwrap.json`
26
+ cp.spawnSync('npm', ['shrinkwrap'], { stdio: 'inherit' })
33
27
  }
34
28
 
35
29
  await main()