netlify-cli 24.8.1 → 24.8.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"login-request.d.ts","sourceRoot":"","sources":["../../../src/commands/login/login-request.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,YAAY,GAAU,SAAS,MAAM,EAAE,SAAS,cAAc,CAAC,SAAS,CAAC,uBAyBrF,CAAA"}
1
+ {"version":3,"file":"login-request.d.ts","sourceRoot":"","sources":["../../../src/commands/login/login-request.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,YAAY,GAAU,SAAS,MAAM,EAAE,SAAS,cAAc,CAAC,SAAS,CAAC,uBA2BrF,CAAA"}
@@ -14,11 +14,13 @@ export const loginRequest = async (message, apiOpts) => {
14
14
  ticket_id: ticketId,
15
15
  url,
16
16
  check_command: `netlify login --check ${ticketId}`,
17
- agent_next_steps: 'Poll the check_command for up to ten minutes to see if the user has logged in, or wait for them to tell you and then use check_command after.',
17
+ agent_next_steps: 'Give the URL to the user so they can authorize. Then poll the check_command for up to ten minutes to see if the user has logged in, or wait for them to tell you and then use check_command after.',
18
18
  });
19
19
  log(`Ticket ID: ${ticketId}`);
20
20
  log(`Authorize URL: ${url}`);
21
21
  log();
22
22
  log(`After authorizing, run: netlify login --check ${ticketId}`);
23
+ log();
24
+ log('After user opens the authorization URL and approves, the login will be complete.');
23
25
  };
24
26
  //# sourceMappingURL=login-request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-request.js","sourceRoot":"","sources":["../../../src/commands/login/login-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAe,EAAE,OAAkC,EAAE,EAAE;IACxF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,yBAAyB,CAAA;IAErE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAEvC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAEjF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,gBAAgB,CAAC,+BAA+B,CAAC,CAAA;IAC1D,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;IAC1B,MAAM,GAAG,GAAG,GAAG,KAAK,0CAA0C,QAAQ,EAAE,CAAA;IAExE,OAAO,CAAC;QACN,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,aAAa,EAAE,yBAAyB,QAAQ,EAAE;QAClD,gBAAgB,EACd,+IAA+I;KAClJ,CAAC,CAAA;IAEF,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAA;IAC7B,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAA;IAC5B,GAAG,EAAE,CAAA;IACL,GAAG,CAAC,iDAAiD,QAAQ,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA"}
1
+ {"version":3,"file":"login-request.js","sourceRoot":"","sources":["../../../src/commands/login/login-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAG9C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAe,EAAE,OAAkC,EAAE,EAAE;IACxF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,yBAAyB,CAAA;IAErE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAEvC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAEjF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,gBAAgB,CAAC,+BAA+B,CAAC,CAAA;IAC1D,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;IAC1B,MAAM,GAAG,GAAG,GAAG,KAAK,0CAA0C,QAAQ,EAAE,CAAA;IAExE,OAAO,CAAC;QACN,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,aAAa,EAAE,yBAAyB,QAAQ,EAAE;QAClD,gBAAgB,EACd,oMAAoM;KACvM,CAAC,CAAA;IAEF,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAA;IAC7B,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAA;IAC5B,GAAG,EAAE,CAAA;IACL,GAAG,CAAC,iDAAiD,QAAQ,EAAE,CAAC,CAAA;IAChE,GAAG,EAAE,CAAA;IACL,GAAG,CAAC,kFAAkF,CAAC,CAAA;AACzF,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sites-create.d.ts","sourceRoot":"","sources":["../../../src/commands/sites/sites-create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAW7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAGjD,eAAO,MAAM,gBAAgB,GAAU,MAAM,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAezF,CAAA;AAED,eAAO,MAAM,WAAW,GAAU,SAAS,YAAY,EAAE,SAAS,WAAW,sBA2I5E,CAAA"}
1
+ {"version":3,"file":"sites-create.d.ts","sourceRoot":"","sources":["../../../src/commands/sites/sites-create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAW7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAGjD,eAAO,MAAM,gBAAgB,GAAU,MAAM,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAezF,CAAA;AAED,eAAO,MAAM,WAAW,GAAU,SAAS,YAAY,EAAE,SAAS,WAAW,sBA2L5E,CAAA"}
@@ -7,6 +7,7 @@ import { configureRepo } from '../../utils/init/config.js';
7
7
  import { isInteractive } from '../../utils/scripted-commands.js';
8
8
  import { resolveTeamForNonInteractive } from '../../utils/team.js';
9
9
  import { track } from '../../utils/telemetry/index.js';
10
+ import { MAX_SITE_NAME_LENGTH } from '../../utils/validation.js';
10
11
  import { link } from '../link/link.js';
11
12
  export const getSiteNameInput = async (name) => {
12
13
  if (!name) {
@@ -48,15 +49,14 @@ export const sitesCreate = async (options, command) => {
48
49
  }
49
50
  }
50
51
  let site;
51
- // Allow the user to reenter site name if selected one isn't available
52
- const inputSiteName = async (name) => {
53
- const { name: siteName } = await getSiteNameInput(name);
52
+ const MAX_NAME_RETRIES = 2;
53
+ const tryCreateSiteInteractive = async (nameToTry) => {
54
+ const { name: attemptName } = await getSiteNameInput(nameToTry);
54
55
  const body = {};
55
- if (typeof siteName === 'string') {
56
- body.name = siteName.trim();
56
+ if (attemptName.trim()) {
57
+ body.name = attemptName.trim();
57
58
  }
58
59
  try {
59
- // FIXME(serhalp): `id` and `name` should be required in `netlify` package type
60
60
  site = (await api.createSiteInTeam({
61
61
  accountSlug: accountSlug,
62
62
  body,
@@ -64,13 +64,50 @@ export const sitesCreate = async (options, command) => {
64
64
  }
65
65
  catch (error_) {
66
66
  if (error_.status === 422) {
67
- warn(`${siteName}.netlify.app already exists. Please try a different slug.`);
68
- await inputSiteName();
67
+ warn(`${attemptName}.netlify.app already exists. Please try a different slug.`);
68
+ return tryCreateSiteInteractive(undefined);
69
69
  }
70
- else {
71
- return logAndThrowError(`createSiteInTeam error: ${error_.status}: ${error_.message}`);
70
+ return logAndThrowError(`createSiteInTeam error: ${error_.status}: ${error_.message}`);
71
+ }
72
+ };
73
+ const createSiteWithRetry = async (siteName) => {
74
+ if (!isInteractive() && siteName) {
75
+ for (let attempt = 0; attempt <= MAX_NAME_RETRIES; attempt++) {
76
+ let nameToTry = siteName;
77
+ if (attempt > 0) {
78
+ const suffix = `-${Math.floor(Math.random() * 900 + 100).toString()}`;
79
+ const normalizedBase = siteName.trim();
80
+ const maxBaseLength = MAX_SITE_NAME_LENGTH - suffix.length;
81
+ const truncatedBase = normalizedBase.slice(0, maxBaseLength);
82
+ nameToTry = `${truncatedBase}${suffix}`;
83
+ warn(`${siteName}.netlify.app already exists. Trying ${nameToTry}...`);
84
+ }
85
+ const body = {};
86
+ if (nameToTry.trim()) {
87
+ body.name = nameToTry.trim();
88
+ }
89
+ try {
90
+ site = (await api.createSiteInTeam({
91
+ accountSlug: accountSlug,
92
+ body,
93
+ }));
94
+ return;
95
+ }
96
+ catch (error_) {
97
+ if (error_.status === 422) {
98
+ if (attempt === MAX_NAME_RETRIES) {
99
+ return logAndThrowError(`Project name "${nameToTry}" is already taken. Please try a different name.`);
100
+ }
101
+ continue;
102
+ }
103
+ return logAndThrowError(`createSiteInTeam error: ${error_.status}: ${error_.message}`);
104
+ }
72
105
  }
73
106
  }
107
+ if (isInteractive()) {
108
+ return tryCreateSiteInteractive(siteName);
109
+ }
110
+ return logAndThrowError('Failed to create site: name already taken');
74
111
  };
75
112
  if (!isInteractive() && !options.name) {
76
113
  try {
@@ -83,8 +120,12 @@ export const sitesCreate = async (options, command) => {
83
120
  return logAndThrowError(`Failed to create site: ${error_.status}: ${error_.message}`);
84
121
  }
85
122
  }
123
+ else if (isInteractive() && !options.name) {
124
+ const { name: siteName } = await getSiteNameInput(options.name);
125
+ await createSiteWithRetry(siteName);
126
+ }
86
127
  else {
87
- await inputSiteName(options.name);
128
+ await createSiteWithRetry(options.name);
88
129
  }
89
130
  log();
90
131
  log(chalk.greenBright.bold.underline(`Project Created`));
@@ -1 +1 @@
1
- {"version":3,"file":"sites-create.js","sourceRoot":"","sources":["../../../src/commands/sites/sites-create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sites-create.js","sourceRoot":"","sources":["../../../src/commands/sites/sites-create.ts"],"names":[],"mappings":"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"}