netlify-cli 17.37.2 → 17.38.1

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 (106) hide show
  1. package/bin/run.js +4 -2
  2. package/dist/commands/addons/addons.d.ts.map +1 -1
  3. package/dist/commands/addons/addons.js +0 -1
  4. package/dist/commands/base-command.d.ts.map +1 -1
  5. package/dist/commands/base-command.js +2 -1
  6. package/dist/commands/blobs/blobs-delete.d.ts.map +1 -1
  7. package/dist/commands/blobs/blobs-delete.js +7 -1
  8. package/dist/commands/blobs/blobs-set.d.ts +1 -0
  9. package/dist/commands/blobs/blobs-set.d.ts.map +1 -1
  10. package/dist/commands/blobs/blobs-set.js +10 -2
  11. package/dist/commands/deploy/deploy.js +2 -2
  12. package/dist/commands/deploy/index.d.ts.map +1 -1
  13. package/dist/commands/deploy/index.js +4 -3
  14. package/dist/commands/env/env-clone.d.ts.map +1 -1
  15. package/dist/commands/env/env-clone.js +12 -3
  16. package/dist/commands/env/env-set.d.ts.map +1 -1
  17. package/dist/commands/env/env-set.js +8 -3
  18. package/dist/commands/env/env-unset.d.ts.map +1 -1
  19. package/dist/commands/env/env-unset.js +7 -3
  20. package/dist/commands/init/index.d.ts.map +1 -1
  21. package/dist/commands/init/index.js +0 -1
  22. package/dist/commands/integration/deploy.d.ts.map +1 -1
  23. package/dist/commands/integration/deploy.js +11 -20
  24. package/dist/commands/main.d.ts +34 -0
  25. package/dist/commands/main.d.ts.map +1 -1
  26. package/dist/commands/main.js +36 -6
  27. package/dist/commands/sites/sites-create-template.d.ts +2 -3
  28. package/dist/commands/sites/sites-create-template.d.ts.map +1 -1
  29. package/dist/commands/sites/sites-create-template.js +113 -92
  30. package/dist/commands/sites/sites-create.d.ts.map +1 -1
  31. package/dist/commands/sites/sites.d.ts.map +1 -1
  32. package/dist/commands/sites/sites.js +0 -1
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/dist/utils/command-helpers.d.ts +16 -0
  35. package/dist/utils/command-helpers.d.ts.map +1 -1
  36. package/dist/utils/command-helpers.js +7 -0
  37. package/dist/utils/framework-server.d.ts.map +1 -1
  38. package/dist/utils/framework-server.js +2 -2
  39. package/dist/utils/gh-auth.js +1 -1
  40. package/dist/utils/headers.js +1 -1
  41. package/dist/utils/prompts/blob-delete-prompts.d.ts +2 -0
  42. package/dist/utils/prompts/blob-delete-prompts.d.ts.map +1 -0
  43. package/dist/utils/prompts/blob-delete-prompts.js +11 -0
  44. package/dist/utils/prompts/blob-set-prompt.d.ts +2 -0
  45. package/dist/utils/prompts/blob-set-prompt.d.ts.map +1 -0
  46. package/dist/utils/prompts/blob-set-prompt.js +11 -0
  47. package/dist/utils/prompts/confirm-prompt.d.ts +2 -0
  48. package/dist/utils/prompts/confirm-prompt.d.ts.map +1 -0
  49. package/dist/utils/prompts/confirm-prompt.js +20 -0
  50. package/dist/utils/prompts/env-clone-prompt.d.ts +11 -0
  51. package/dist/utils/prompts/env-clone-prompt.d.ts.map +1 -0
  52. package/dist/utils/prompts/env-clone-prompt.js +27 -0
  53. package/dist/utils/prompts/env-set-prompts.d.ts +2 -0
  54. package/dist/utils/prompts/env-set-prompts.d.ts.map +1 -0
  55. package/dist/utils/prompts/env-set-prompts.js +11 -0
  56. package/dist/utils/prompts/env-unset-prompts.d.ts +8 -0
  57. package/dist/utils/prompts/env-unset-prompts.d.ts.map +1 -0
  58. package/dist/utils/prompts/env-unset-prompts.js +17 -0
  59. package/dist/utils/prompts/prompt-messages.d.ts +25 -0
  60. package/dist/utils/prompts/prompt-messages.d.ts.map +1 -0
  61. package/dist/utils/prompts/prompt-messages.js +25 -0
  62. package/dist/utils/redirects.js +1 -1
  63. package/dist/utils/run-build.d.ts +2 -0
  64. package/dist/utils/run-build.d.ts.map +1 -1
  65. package/dist/utils/run-program.d.ts +3 -0
  66. package/dist/utils/run-program.d.ts.map +1 -0
  67. package/dist/utils/run-program.js +12 -0
  68. package/dist/utils/scripted-commands.d.ts +3 -0
  69. package/dist/utils/scripted-commands.d.ts.map +1 -0
  70. package/dist/utils/scripted-commands.js +17 -0
  71. package/dist/utils/sites/create-template.d.ts +14 -0
  72. package/dist/utils/sites/create-template.d.ts.map +1 -0
  73. package/dist/utils/sites/create-template.js +46 -0
  74. package/dist/utils/sites/utils.d.ts +8 -6
  75. package/dist/utils/sites/utils.d.ts.map +1 -1
  76. package/dist/utils/sites/utils.js +10 -4
  77. package/dist/utils/static-server.d.ts +3 -1
  78. package/dist/utils/static-server.d.ts.map +1 -1
  79. package/dist/utils/static-server.js +2 -0
  80. package/dist/utils/types.d.ts +14 -1
  81. package/dist/utils/types.d.ts.map +1 -1
  82. package/functions-templates/javascript/hello-world/{{name}}.mjs +13 -0
  83. package/functions-templates/javascript/scheduled-function/{{name}}.mjs +11 -0
  84. package/functions-templates/rust/hello-world/Cargo.toml +1 -1
  85. package/functions-templates/typescript/hello-world/package-lock.json +15 -15
  86. package/functions-templates/typescript/hello-world/package.json +1 -1
  87. package/functions-templates/typescript/hello-world/{{name}}.mts +14 -0
  88. package/functions-templates/typescript/scheduled-function/package.json +1 -1
  89. package/functions-templates/typescript/scheduled-function/{{name}}.mts +11 -0
  90. package/npm-shrinkwrap.json +849 -626
  91. package/package.json +14 -14
  92. package/functions-templates/javascript/hello-world/{{name}}.js +0 -17
  93. package/functions-templates/javascript/identity-signup/.netlify-function-template.mjs +0 -5
  94. package/functions-templates/javascript/identity-signup/{{name}}.js +0 -29
  95. package/functions-templates/javascript/sanity-create/.netlify-function-template.mjs +0 -5
  96. package/functions-templates/javascript/sanity-create/package.json +0 -20
  97. package/functions-templates/javascript/sanity-create/{{name}}.js +0 -72
  98. package/functions-templates/javascript/sanity-groq/.netlify-function-template.mjs +0 -5
  99. package/functions-templates/javascript/sanity-groq/package.json +0 -21
  100. package/functions-templates/javascript/sanity-groq/{{name}}.js +0 -56
  101. package/functions-templates/javascript/scheduled-function/{{name}}.js +0 -12
  102. package/functions-templates/javascript/submission-created/.netlify-function-template.mjs +0 -5
  103. package/functions-templates/javascript/submission-created/package.json +0 -19
  104. package/functions-templates/javascript/submission-created/{{name}}.js +0 -29
  105. package/functions-templates/typescript/hello-world/{{name}}.ts +0 -12
  106. package/functions-templates/typescript/scheduled-function/{{name}}.ts +0 -12
@@ -94,6 +94,22 @@ export interface APIError extends Error {
94
94
  status: number;
95
95
  message: string;
96
96
  }
97
+ export declare class GitHubAPIError extends Error {
98
+ status: string;
99
+ constructor(status: string, message: string);
100
+ }
101
+ export interface GitHubRepoResponse {
102
+ status?: string;
103
+ message?: string;
104
+ id?: number;
105
+ name?: string;
106
+ clone_url?: string;
107
+ full_name?: string;
108
+ private?: boolean;
109
+ default_branch?: string;
110
+ errors?: string[];
111
+ is_template?: boolean;
112
+ }
97
113
  export declare const checkFileForLine: (filename: string, line: string) => boolean;
98
114
  export declare const TABTAB_CONFIG_LINE = "[[ -f ~/.config/tabtab/__tabtab.zsh ]] && . ~/.config/tabtab/__tabtab.zsh || true";
99
115
  export declare const AUTOLOAD_COMPINIT = "autoload -U compinit; compinit";
@@ -1 +1 @@
1
- {"version":3,"file":"command-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/command-helpers.ts"],"names":[],"mappings":";AAOA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAI/B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAQpC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAmB1C,eAAO,MAAM,KAAK,+BAAqC,CAAA;AAEvD;;;;;;GAMG;AAEH,eAAO,MAAM,OAAO,gDAAyE,CAAA;AAO7F,eAAO,MAAM,OAAO,KAAiB,CAAA;AACrC,eAAO,MAAM,UAAU,QAAmE,CAAA;AAK1F,eAAO,MAAM,YAAY,+BAA0B,CAAA;AAEnD,eAAO,MAAM,UAAU,QAAuF,CAAA;AAC9G,eAAO,MAAM,aAAa,QAA8B,CAAA;AACxD,eAAO,MAAM,cAAc,QAA+B,CAAA;AAC1D,eAAO,MAAM,aAAa,QAA4B,CAAA;AAEtD,eAAO,MAAM,IAAI,QAA2C,CAAA;AAE5D;;;;;;;GAOG;AAEH,eAAO,MAAM,WAAW,qCAMvB,CAAA;AAKD;;;;;;GAMG;AAEH,eAAO,MAAM,YAAY;SAIlB,UAAU;YACP;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;iCAyBnF,CAAA;AACD;;;;GAIG;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,aAAa,CAAC,CAAA;AAEvD,eAAO,MAAM,QAAQ,sBAA6B,MAAM,KAAG,QAAQ,UAAU,CAkB5E,CAAA;AAMD;;GAEG;AACH,eAAO,MAAM,OAAO,aAAa,OAAO,SAIvC,CAAA;AAGD,eAAO,MAAM,GAAG,4CAOf,CAAA;AAGD,eAAO,MAAM,SAAS,4CAIrB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,4BAGhB,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,KAAK,aAAa,OAAO,GAAG,KAAK,GAAG,MAAM,YAAgB;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,SAoBxF,CAAA;AAED,eAAO,MAAM,IAAI,0BAEhB,CAAA;AAED;;;;;;GAMG;AAEH,eAAO,MAAM,eAAe,sBAM3B,CAAA;AAID,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,WACjB,MAAM,GAAG,MAAM,EAAE,iDACgD,qBAAqB,gCA6C/F,CAAA;AAGD,eAAO,MAAM,eAAe,iCAAiF,CAAA;AAE7G,eAAO,MAAM,WAAW,QAAS,OAAO,iCAAyD,CAAA;AAEjG,eAAO,MAAM,WAAW,0CAAkF,CAAA;AAE1G,eAAO,MAAM,IAAI,YAEhB,CAAA;AAED,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,gBAAgB,aAAc,MAAM,QAAQ,MAAM,YAQ9D,CAAA;AAED,eAAO,MAAM,kBAAkB,sFAAsF,CAAA;AACrH,eAAO,MAAM,iBAAiB,mCAAmC,CAAA"}
1
+ {"version":3,"file":"command-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/command-helpers.ts"],"names":[],"mappings":"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"}
@@ -241,6 +241,13 @@ export const nonNullable = (value) => value !== null && value !== undefined;
241
241
  export const noOp = () => {
242
242
  // no-op
243
243
  };
244
+ export class GitHubAPIError extends Error {
245
+ constructor(status, message) {
246
+ super(message);
247
+ this.status = status;
248
+ this.name = 'GitHubAPIError';
249
+ }
250
+ }
244
251
  export const checkFileForLine = (filename, line) => {
245
252
  let filecontent = '';
246
253
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"framework-server.d.ts","sourceRoot":"","sources":["../../src/utils/framework-server.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAK3C,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;SAI1B,MAAM;cACD,cAAc;MACtB,QAAQ,iBAAiB,CAkD5B,CAAA"}
1
+ {"version":3,"file":"framework-server.d.ts","sourceRoot":"","sources":["../../src/utils/framework-server.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAK3C,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;SAI1B,MAAM;cACD,cAAc;MACtB,QAAQ,iBAAiB,CAiD5B,CAAA"}
@@ -14,8 +14,8 @@ export const startFrameworkServer = async function ({ cwd, settings, }) {
14
14
  if (settings.command) {
15
15
  runCommand(settings.command, { env: settings.env, cwd });
16
16
  }
17
- await startStaticServer({ settings });
18
- return {};
17
+ const { family } = await startStaticServer({ settings });
18
+ return { ipVersion: family === 'IPv6' ? 6 : 4 };
19
19
  }
20
20
  log(`${NETLIFYDEVLOG} Starting Netlify Dev with ${settings.framework || 'custom config'}`);
21
21
  const spinner = startSpinner({
@@ -71,7 +71,7 @@ export const authWithNetlify = async () => {
71
71
  const getPersonalAccessToken = async () => {
72
72
  const { token } = await inquirer.prompt([
73
73
  {
74
- type: 'input',
74
+ type: 'password',
75
75
  name: 'token',
76
76
  message: 'Your GitHub personal access token:',
77
77
  filter: (input) => input.trim(),
@@ -1,4 +1,4 @@
1
- import { parseAllHeaders } from 'netlify-headers-parser';
1
+ 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`.
@@ -0,0 +1,2 @@
1
+ export declare const promptBlobDelete: (key: string, storeName: string) => Promise<void>;
2
+ //# sourceMappingURL=blob-delete-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob-delete-prompts.d.ts","sourceRoot":"","sources":["../../../src/utils/prompts/blob-delete-prompts.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,QAAe,MAAM,aAAa,MAAM,KAAG,QAAQ,IAAI,CAQnF,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { log } from '../command-helpers.js';
2
+ import { confirmPrompt } from './confirm-prompt.js';
3
+ import { destructiveCommandMessages } from './prompt-messages.js';
4
+ export const promptBlobDelete = async (key, storeName) => {
5
+ const warningMessage = destructiveCommandMessages.blobDelete.generateWarning(key, storeName);
6
+ log();
7
+ log(warningMessage);
8
+ log();
9
+ log(destructiveCommandMessages.overwriteNotice);
10
+ await confirmPrompt(destructiveCommandMessages.blobDelete.overwriteConfirmation);
11
+ };
@@ -0,0 +1,2 @@
1
+ export declare const promptBlobSetOverwrite: (key: string, storeName: string) => Promise<void>;
2
+ //# sourceMappingURL=blob-set-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob-set-prompt.d.ts","sourceRoot":"","sources":["../../../src/utils/prompts/blob-set-prompt.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB,QAAe,MAAM,aAAa,MAAM,KAAG,QAAQ,IAAI,CAQzF,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { log } from '../command-helpers.js';
2
+ import { confirmPrompt } from './confirm-prompt.js';
3
+ import { destructiveCommandMessages } from './prompt-messages.js';
4
+ export const promptBlobSetOverwrite = async (key, storeName) => {
5
+ const warningMessage = destructiveCommandMessages.blobSet.generateWarning(key, storeName);
6
+ log();
7
+ log(warningMessage);
8
+ log();
9
+ log(destructiveCommandMessages.overwriteNotice);
10
+ await confirmPrompt(destructiveCommandMessages.blobSet.overwriteConfirmation);
11
+ };
@@ -0,0 +1,2 @@
1
+ export declare const confirmPrompt: (message: string) => Promise<void>;
2
+ //# sourceMappingURL=confirm-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-prompt.d.ts","sourceRoot":"","sources":["../../../src/utils/prompts/confirm-prompt.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,YAAmB,MAAM,KAAG,QAAQ,IAAI,CAgBjE,CAAA"}
@@ -0,0 +1,20 @@
1
+ import inquirer from 'inquirer';
2
+ import { log, exit } from '../command-helpers.js';
3
+ export const confirmPrompt = async (message) => {
4
+ try {
5
+ const { confirm } = await inquirer.prompt({
6
+ type: 'confirm',
7
+ name: 'confirm',
8
+ message,
9
+ default: false,
10
+ });
11
+ log();
12
+ if (!confirm) {
13
+ exit();
14
+ }
15
+ }
16
+ catch (error) {
17
+ console.error(error);
18
+ exit();
19
+ }
20
+ };
@@ -0,0 +1,11 @@
1
+ import { EnvVar } from '../types.js';
2
+ export declare const generateEnvVarsList: (envVarsToDelete: EnvVar[]) => string[];
3
+ /**
4
+ * Prompts the user to confirm overwriting environment variables on a site.
5
+ *
6
+ * @param {string} siteId - The ID of the site.
7
+ * @param {EnvVar[]} existingEnvVars - The environment variables that already exist on the site.
8
+ * @returns {Promise<void>} A promise that resolves when the user has confirmed the overwriting of the variables.
9
+ */
10
+ export declare function promptEnvCloneOverwrite(siteId: string, existingEnvVars: EnvVar[]): Promise<void>;
11
+ //# sourceMappingURL=env-clone-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-clone-prompt.d.ts","sourceRoot":"","sources":["../../../src/utils/prompts/env-clone-prompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAKpC,eAAO,MAAM,mBAAmB,oBAAqB,MAAM,EAAE,aAAgD,CAAA;AAE7G;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBtG"}
@@ -0,0 +1,27 @@
1
+ import { log } from '../command-helpers.js';
2
+ import { confirmPrompt } from './confirm-prompt.js';
3
+ import { destructiveCommandMessages } from './prompt-messages.js';
4
+ export const generateEnvVarsList = (envVarsToDelete) => envVarsToDelete.map((envVar) => envVar.key);
5
+ /**
6
+ * Prompts the user to confirm overwriting environment variables on a site.
7
+ *
8
+ * @param {string} siteId - The ID of the site.
9
+ * @param {EnvVar[]} existingEnvVars - The environment variables that already exist on the site.
10
+ * @returns {Promise<void>} A promise that resolves when the user has confirmed the overwriting of the variables.
11
+ */
12
+ export async function promptEnvCloneOverwrite(siteId, existingEnvVars) {
13
+ const { generateWarning } = destructiveCommandMessages.envClone;
14
+ const existingEnvVarKeys = generateEnvVarsList(existingEnvVars);
15
+ const warningMessage = generateWarning(siteId);
16
+ log();
17
+ log(warningMessage);
18
+ log();
19
+ log(destructiveCommandMessages.envClone.noticeEnvVars);
20
+ log();
21
+ existingEnvVarKeys.forEach((envVar) => {
22
+ log(envVar);
23
+ });
24
+ log();
25
+ log(destructiveCommandMessages.overwriteNotice);
26
+ await confirmPrompt(destructiveCommandMessages.envClone.overwriteConfirmation);
27
+ }
@@ -0,0 +1,2 @@
1
+ export declare const promptOverwriteEnvVariable: (key: string) => Promise<void>;
2
+ //# sourceMappingURL=env-set-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-set-prompts.d.ts","sourceRoot":"","sources":["../../../src/utils/prompts/env-set-prompts.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,0BAA0B,QAAe,MAAM,KAAG,QAAQ,IAAI,CAQ1E,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { log } from '../command-helpers.js';
2
+ import { confirmPrompt } from './confirm-prompt.js';
3
+ import { destructiveCommandMessages } from './prompt-messages.js';
4
+ export const promptOverwriteEnvVariable = async (key) => {
5
+ const warningMessage = destructiveCommandMessages.envSet.generateWarning(key);
6
+ log();
7
+ log(warningMessage);
8
+ log();
9
+ log(destructiveCommandMessages.overwriteNotice);
10
+ await confirmPrompt(destructiveCommandMessages.envSet.overwriteConfirmation);
11
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Logs a warning and prompts user to confirm overwriting an existing environment variable
3
+ *
4
+ * @param {string} key - The key of the environment variable that already exists
5
+ * @returns {Promise<void>} A promise that resolves when the user has confirmed overwriting the variable
6
+ */
7
+ export declare const promptOverwriteEnvVariable: (existingKey: string) => Promise<void>;
8
+ //# sourceMappingURL=env-unset-prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-unset-prompts.d.ts","sourceRoot":"","sources":["../../../src/utils/prompts/env-unset-prompts.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,gBAAuB,MAAM,KAAG,QAAQ,IAAI,CASlF,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { log } from '../command-helpers.js';
2
+ import { confirmPrompt } from './confirm-prompt.js';
3
+ import { destructiveCommandMessages } from './prompt-messages.js';
4
+ /**
5
+ * Logs a warning and prompts user to confirm overwriting an existing environment variable
6
+ *
7
+ * @param {string} key - The key of the environment variable that already exists
8
+ * @returns {Promise<void>} A promise that resolves when the user has confirmed overwriting the variable
9
+ */
10
+ export const promptOverwriteEnvVariable = async (existingKey) => {
11
+ const { generateWarning } = destructiveCommandMessages.envUnset;
12
+ const warningMessage = generateWarning(existingKey);
13
+ log(warningMessage);
14
+ log();
15
+ log(destructiveCommandMessages.overwriteNotice);
16
+ await confirmPrompt(destructiveCommandMessages.envUnset.overwriteConfirmation);
17
+ };
@@ -0,0 +1,25 @@
1
+ export declare const destructiveCommandMessages: {
2
+ overwriteNotice: string;
3
+ blobSet: {
4
+ generateWarning: (key: string, storeName: string) => string;
5
+ overwriteConfirmation: string;
6
+ };
7
+ blobDelete: {
8
+ generateWarning: (key: string, storeName: string) => string;
9
+ overwriteConfirmation: string;
10
+ };
11
+ envSet: {
12
+ generateWarning: (variableName: string) => string;
13
+ overwriteConfirmation: string;
14
+ };
15
+ envUnset: {
16
+ generateWarning: (variableName: string) => string;
17
+ overwriteConfirmation: string;
18
+ };
19
+ envClone: {
20
+ generateWarning: (siteId: string) => string;
21
+ noticeEnvVars: string;
22
+ overwriteConfirmation: string;
23
+ };
24
+ };
25
+ //# sourceMappingURL=prompt-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-messages.d.ts","sourceRoot":"","sources":["../../../src/utils/prompts/prompt-messages.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B;;;+BAIZ,MAAM,aAAa,MAAM;;;;+BAQzB,MAAM,aAAa,MAAM;;;;wCAQhB,MAAM;;;;wCAMN,MAAM;;;;kCAQZ,MAAM;;;;CASnC,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { chalk } from '../command-helpers.js';
2
+ export const destructiveCommandMessages = {
3
+ overwriteNotice: `${chalk.yellowBright('Notice')}: To overwrite without this warning, you can use the --force flag.`,
4
+ blobSet: {
5
+ generateWarning: (key, storeName) => `${chalk.redBright('Warning')}: The blob key ${chalk.cyan(key)} already exists in store ${chalk.cyan(storeName)}!`,
6
+ overwriteConfirmation: 'Do you want to proceed with overwriting this blob key existing value?',
7
+ },
8
+ blobDelete: {
9
+ generateWarning: (key, storeName) => `${chalk.redBright('Warning')}: The following blob key ${chalk.cyan(key)} will be deleted from store ${chalk.cyan(storeName)}!`,
10
+ overwriteConfirmation: 'Do you want to proceed with deleting the value at this key?',
11
+ },
12
+ envSet: {
13
+ generateWarning: (variableName) => `${chalk.redBright('Warning')}: The environment variable ${chalk.bgBlueBright(variableName)} already exists!`,
14
+ overwriteConfirmation: 'Do you want to overwrite it?',
15
+ },
16
+ envUnset: {
17
+ generateWarning: (variableName) => `${chalk.redBright('Warning')}: The environment variable ${chalk.bgBlueBright(variableName)} will be removed from all contexts!`,
18
+ overwriteConfirmation: 'Do you want to remove it?',
19
+ },
20
+ envClone: {
21
+ generateWarning: (siteId) => `${chalk.redBright('Warning')}: The following environment variables are already set on the site with ID ${chalk.bgBlueBright(siteId)}. They will be overwritten!`,
22
+ noticeEnvVars: `${chalk.yellowBright('Notice')}: The following variables will be overwritten:`,
23
+ overwriteConfirmation: 'The environment variables already exist. Do you want to overwrite them?',
24
+ },
25
+ };
@@ -1,4 +1,4 @@
1
- import { parseAllRedirects } from 'netlify-redirect-parser';
1
+ import { parseAllRedirects } from '@netlify/redirect-parser';
2
2
  import { NETLIFYDEVERR, log } from './command-helpers.js';
3
3
  // Parse, normalize and validate all redirects from `_redirects` files
4
4
  // and `netlify.toml`
@@ -3,6 +3,8 @@
3
3
  /// <reference types="node" resolution-mode="require"/>
4
4
  /// <reference types="node" resolution-mode="require"/>
5
5
  /// <reference types="node" resolution-mode="require"/>
6
+ /// <reference types="node" resolution-mode="require"/>
7
+ /// <reference types="node" resolution-mode="require"/>
6
8
  import BaseCommand from '../commands/base-command.js';
7
9
  import { $TSFixMe } from '../commands/types.js';
8
10
  import { ServerSettings } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"run-build.d.ts","sourceRoot":"","sources":["../../src/utils/run-build.ts"],"names":[],"mappings":";;;;;AAGA,OAAO,WAAW,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAS/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAqC3C,eAAO,MAAM,eAAe;aAOjB,WAAW;aAEX,QAAQ;cACP,cAAc;SACnB,OAAO,UAAU;cACZ,OAAO,GAAG,KAAK;;;;;;;;;;EAsG1B,CAAA;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;AAEjF,eAAO,MAAM,cAAc,YAAa,kBAAkB;;;;;;;;;EAAqD,CAAA;AAE/G,eAAO,MAAM,gBAAgB,YAAa,kBAAkB;;;;;;;;;EAAuD,CAAA"}
1
+ {"version":3,"file":"run-build.d.ts","sourceRoot":"","sources":["../../src/utils/run-build.ts"],"names":[],"mappings":";;;;;;;AAGA,OAAO,WAAW,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAS/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAqC3C,eAAO,MAAM,eAAe;aAOjB,WAAW;aAEX,QAAQ;cACP,cAAc;SACnB,OAAO,UAAU;cACZ,OAAO,GAAG,KAAK;;;;;;;;;;EAsG1B,CAAA;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;AAEjF,eAAO,MAAM,cAAc,YAAa,kBAAkB;;;;;;;;;EAAqD,CAAA;AAE/G,eAAO,MAAM,gBAAgB,YAAa,kBAAkB;;;;;;;;;EAAuD,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { BaseCommand } from '../commands/index.js';
2
+ export declare const runProgram: (program: BaseCommand, argv: string[]) => Promise<void>;
3
+ //# sourceMappingURL=run-program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-program.d.ts","sourceRoot":"","sources":["../../src/utils/run-program.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIlD,eAAO,MAAM,UAAU,YAAmB,WAAW,QAAQ,MAAM,EAAE,kBAUpE,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { injectForceFlagIfScripted } from './scripted-commands.js';
2
+ import { CI_FORCED_COMMANDS } from '../commands/main.js';
3
+ // This function is used to run the program with the correct flags
4
+ export const runProgram = async (program, argv) => {
5
+ const cmdName = argv[2];
6
+ // checks if the command has a force option
7
+ const isValidForceCommand = cmdName in CI_FORCED_COMMANDS;
8
+ if (isValidForceCommand) {
9
+ injectForceFlagIfScripted(argv);
10
+ }
11
+ await program.parseAsync(argv);
12
+ };
@@ -0,0 +1,3 @@
1
+ export declare const shouldForceFlagBeInjected: (argv: string[]) => boolean;
2
+ export declare const injectForceFlagIfScripted: (argv: string[]) => void;
3
+ //# sourceMappingURL=scripted-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripted-commands.d.ts","sourceRoot":"","sources":["../../src/utils/scripted-commands.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,yBAAyB,SAAU,MAAM,EAAE,KAAG,OAY1D,CAAA;AAED,eAAO,MAAM,yBAAyB,SAAU,MAAM,EAAE,SAIvD,CAAA"}
@@ -0,0 +1,17 @@
1
+ import process from 'process';
2
+ import { isCI } from 'ci-info';
3
+ export const shouldForceFlagBeInjected = (argv) => {
4
+ // Is the command run in a non-interactive shell or CI/CD environment?
5
+ const scriptedCommand = Boolean(!process.stdin.isTTY || isCI || process.env.CI);
6
+ // Is the `--force` flag not already present?
7
+ const noForceFlag = !argv.includes('--force');
8
+ // ENV Variable used to tests prompts in CI/CD enviroment
9
+ const testingPrompts = process.env.TESTING_PROMPTS !== 'true';
10
+ // Prevents prompts from blocking scripted commands
11
+ return Boolean(scriptedCommand && testingPrompts && noForceFlag);
12
+ };
13
+ export const injectForceFlagIfScripted = (argv) => {
14
+ if (shouldForceFlagBeInjected(argv)) {
15
+ argv.push('--force');
16
+ }
17
+ };
@@ -0,0 +1,14 @@
1
+ import { OptionValues } from 'commander';
2
+ import { Template } from '../types.js';
3
+ export declare const fetchTemplates: (token: string) => Promise<Template[]>;
4
+ export declare const getTemplateName: ({ ghToken, options, repository, }: {
5
+ ghToken: string;
6
+ options: OptionValues;
7
+ repository: string;
8
+ }) => Promise<any>;
9
+ export declare const deployedSiteExists: (name: string) => Promise<boolean>;
10
+ export declare const getGitHubLink: ({ options, templateName }: {
11
+ options: OptionValues;
12
+ templateName: string;
13
+ }) => any;
14
+ //# sourceMappingURL=create-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-template.d.ts","sourceRoot":"","sources":["../../../src/utils/sites/create-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAMxC,OAAO,EAAE,QAAQ,EAAc,MAAM,aAAa,CAAA;AAIlD,eAAO,MAAM,cAAc,UAAiB,MAAM,KAAG,QAAQ,QAAQ,EAAE,CAUtE,CAAA;AAED,eAAO,MAAM,eAAe;aAKjB,MAAM;aACN,YAAY;gBACT,MAAM;kBA6BnB,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,MAAM,KAAG,QAAQ,OAAO,CAMtE,CAAA;AAED,eAAO,MAAM,aAAa;aAA0C,YAAY;kBAAgB,MAAM;SACjD,CAAA"}
@@ -0,0 +1,46 @@
1
+ import inquirer from 'inquirer';
2
+ // @ts-expect-error TS(7016) FIXME: Could not find a declaration file for module 'pars... Remove this comment to see the full error message
3
+ import parseGitHubUrl from 'parse-github-url';
4
+ import { log } from '../command-helpers.js';
5
+ import { getTemplatesFromGitHub } from './utils.js';
6
+ export const fetchTemplates = async (token) => {
7
+ const templatesFromGitHubOrg = await getTemplatesFromGitHub(token);
8
+ return templatesFromGitHubOrg
9
+ .filter((repo) => !repo.archived && !repo.disabled)
10
+ .map((template) => ({
11
+ name: template.name,
12
+ sourceCodeUrl: template.html_url,
13
+ slug: template.full_name,
14
+ }));
15
+ };
16
+ export const getTemplateName = async ({ ghToken, options, repository, }) => {
17
+ if (repository) {
18
+ const { repo } = parseGitHubUrl(repository);
19
+ return repo || `netlify-templates/${repository}`;
20
+ }
21
+ if (options.url) {
22
+ const urlFromOptions = new URL(options.url);
23
+ return urlFromOptions.pathname.slice(1);
24
+ }
25
+ const templates = await fetchTemplates(ghToken);
26
+ log(`Choose one of our starter templates. Netlify will create a new repo for this template in your GitHub account.`);
27
+ const { templateName } = await inquirer.prompt([
28
+ {
29
+ type: 'list',
30
+ name: 'templateName',
31
+ message: 'Template:',
32
+ choices: templates.map((template) => ({
33
+ value: template.slug,
34
+ name: template.name,
35
+ })),
36
+ },
37
+ ]);
38
+ return templateName;
39
+ };
40
+ export const deployedSiteExists = async (name) => {
41
+ const resp = await fetch(`https://${name}.netlify.app`, {
42
+ method: 'GET',
43
+ });
44
+ return resp.status === 200;
45
+ };
46
+ export const getGitHubLink = ({ options, templateName }) => options.url || `https://github.com/${templateName}`;
@@ -1,14 +1,16 @@
1
- import { GithubRepo } from '../../utils/types.js';
2
- export declare const getTemplatesFromGitHub: (token: string) => Promise<GithubRepo[]>;
1
+ import { GitHubRepoResponse } from '../command-helpers.js';
2
+ import { GitHubRepo } from '../types.js';
3
+ export declare const getTemplatesFromGitHub: (token: string) => Promise<GitHubRepo[]>;
3
4
  export declare const validateTemplate: ({ ghToken, templateName }: {
4
- ghToken: any;
5
- templateName: any;
5
+ ghToken: string;
6
+ templateName: string;
6
7
  }) => Promise<{
7
8
  exists: boolean;
8
9
  isTemplate?: undefined;
9
10
  } | {
10
11
  exists: boolean;
11
- isTemplate: any;
12
+ isTemplate: boolean | undefined;
12
13
  }>;
13
- export declare const createRepo: (templateName: string, ghToken: string, siteName: string) => Promise<unknown>;
14
+ export declare const createRepo: (templateName: string, ghToken: string, siteName: string) => Promise<GitHubRepoResponse>;
15
+ export declare const callLinkSite: (cliPath: string, repoName: string, input: string) => Promise<string>;
14
16
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/sites/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,eAAO,MAAM,sBAAsB,UAAiB,MAAM,KAAG,QAAQ,UAAU,EAAE,CAwBhF,CAAA;AAGD,eAAO,MAAM,gBAAgB;;;;;;;;;EAmB5B,CAAA;AAED,eAAO,MAAM,UAAU,iBAAwB,MAAM,WAAW,MAAM,YAAY,MAAM,qBAcvF,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/sites/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAO,kBAAkB,EAAS,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAY,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,sBAAsB,UAAiB,MAAM,KAAG,QAAQ,UAAU,EAAE,CAwBhF,CAAA;AAED,eAAO,MAAM,gBAAgB;aAAgD,MAAM;kBAAgB,MAAM;;;;;;;EAkBxG,CAAA;AAED,eAAO,MAAM,UAAU,iBACP,MAAM,WACX,MAAM,YACL,MAAM,KACf,QAAQ,kBAAkB,CAc5B,CAAA;AAED,eAAO,MAAM,YAAY,YAAmB,MAAM,YAAY,MAAM,SAAS,MAAM,oBAMlF,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import fetch from 'node-fetch';
2
- import { error } from '../../utils/command-helpers.js';
2
+ import execa from 'execa';
3
+ import { error } from '../command-helpers.js';
3
4
  export const getTemplatesFromGitHub = async (token) => {
4
5
  const getPublicGitHubReposFromOrg = new URL(`https://api.github.com/orgs/netlify-templates/repos`);
5
6
  // GitHub returns 30 by default and we want to avoid our limit
@@ -24,7 +25,6 @@ export const getTemplatesFromGitHub = async (token) => {
24
25
  }
25
26
  return allTemplates;
26
27
  };
27
- // @ts-expect-error TS(7031) FIXME: Binding element 'ghToken' implicitly has an 'any' ... Remove this comment to see the full error message
28
28
  export const validateTemplate = async ({ ghToken, templateName }) => {
29
29
  const response = await fetch(`https://api.github.com/repos/${templateName}`, {
30
30
  headers: {
@@ -37,8 +37,7 @@ export const validateTemplate = async ({ ghToken, templateName }) => {
37
37
  if (!response.ok) {
38
38
  throw new Error(`Error fetching template ${templateName}: ${await response.text()}`);
39
39
  }
40
- const data = await response.json();
41
- // @ts-expect-error TS(18046) - 'data' is of type 'unknown'
40
+ const data = (await response.json());
42
41
  return { exists: true, isTemplate: data.is_template };
43
42
  };
44
43
  export const createRepo = async (templateName, ghToken, siteName) => {
@@ -54,3 +53,10 @@ export const createRepo = async (templateName, ghToken, siteName) => {
54
53
  const data = await resp.json();
55
54
  return data;
56
55
  };
56
+ export const callLinkSite = async (cliPath, repoName, input) => {
57
+ const { stdout } = await execa(cliPath, ['link'], {
58
+ input,
59
+ cwd: repoName,
60
+ });
61
+ return stdout;
62
+ };
@@ -4,5 +4,7 @@
4
4
  */
5
5
  export declare const startStaticServer: ({ settings }: {
6
6
  settings: any;
7
- }) => Promise<void>;
7
+ }) => Promise<{
8
+ family: string;
9
+ }>;
8
10
  //# sourceMappingURL=static-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"static-server.d.ts","sourceRoot":"","sources":["../../src/utils/static-server.ts"],"names":[],"mappings":"AAOA;;;GAGG;AAEH,eAAO,MAAM,iBAAiB;;mBA0B7B,CAAA"}
1
+ {"version":3,"file":"static-server.d.ts","sourceRoot":"","sources":["../../src/utils/static-server.ts"],"names":[],"mappings":"AAOA;;;GAGG;AAEH,eAAO,MAAM,iBAAiB;;;;EA2B7B,CAAA"}
@@ -29,5 +29,7 @@ export const startStaticServer = async ({ settings }) => {
29
29
  done();
30
30
  });
31
31
  await server.listen({ port: settings.frameworkPort });
32
+ const [address] = server.addresses();
32
33
  log(`\n${NETLIFYDEVLOG} Static server listening to`, settings.frameworkPort);
34
+ return { family: address.family };
33
35
  };
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
3
  /// <reference types="node" resolution-mode="require"/>
4
+ /// <reference types="node" resolution-mode="require"/>
4
5
  import { Buffer } from 'buffer';
5
6
  import { IncomingMessage } from 'http';
6
7
  import { Match } from 'netlify-redirector';
@@ -149,6 +150,17 @@ export interface SiteInfo {
149
150
  user_id: string;
150
151
  }
151
152
  export type TokenLocation = 'env' | 'flag' | 'config' | 'not found';
153
+ export type EnvVar = {
154
+ key: string;
155
+ scopes: string[];
156
+ values: EnvVarValue[];
157
+ updated_at: string;
158
+ is_secret: boolean;
159
+ };
160
+ type EnvVarValue = {
161
+ id: string;
162
+ context: string;
163
+ };
152
164
  export interface Account {
153
165
  id: string;
154
166
  name: string;
@@ -176,7 +188,7 @@ export interface Account {
176
188
  created_at: string;
177
189
  updated_at: string;
178
190
  }
179
- export interface GithubRepo {
191
+ export interface GitHubRepo {
180
192
  name: string;
181
193
  html_url: string;
182
194
  full_name: string;
@@ -188,4 +200,5 @@ export interface Template {
188
200
  sourceCodeUrl: string;
189
201
  slug: string;
190
202
  }
203
+ export {};
191
204
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"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"}