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.
- package/dist/commands/login/login-request.d.ts.map +1 -1
- package/dist/commands/login/login-request.js +3 -1
- package/dist/commands/login/login-request.js.map +1 -1
- package/dist/commands/sites/sites-create.d.ts.map +1 -1
- package/dist/commands/sites/sites-create.js +52 -11
- package/dist/commands/sites/sites-create.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/validation.d.ts +1 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +1 -1
- package/dist/utils/validation.js.map +1 -1
- package/npm-shrinkwrap.json +5 -3
- package/package.json +1 -1
|
@@ -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,
|
|
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: '
|
|
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
|
|
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;
|
|
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
|
-
|
|
52
|
-
const
|
|
53
|
-
const { 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 (
|
|
56
|
-
body.name =
|
|
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(`${
|
|
68
|
-
|
|
67
|
+
warn(`${attemptName}.netlify.app already exists. Please try a different slug.`);
|
|
68
|
+
return tryCreateSiteInteractive(undefined);
|
|
69
69
|
}
|
|
70
|
-
|
|
71
|
-
|
|
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
|
|
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":"AACA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,IAAI,MAAM,gBAAgB,CAAA;AACjC,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAiB,MAAM,gCAAgC,CAAA;AAC3G,OAAO,WAAW,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"sites-create.js","sourceRoot":"","sources":["../../../src/commands/sites/sites-create.ts"],"names":[],"mappings":"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"}
|