netlify-cli 17.37.2 → 17.38.1-rc-ds
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/bin/run.js +4 -2
- package/dist/commands/base-command.d.ts.map +1 -1
- package/dist/commands/base-command.js +5 -3
- package/dist/commands/blobs/blobs-delete.d.ts.map +1 -1
- package/dist/commands/blobs/blobs-delete.js +7 -1
- package/dist/commands/blobs/blobs-set.d.ts +1 -0
- package/dist/commands/blobs/blobs-set.d.ts.map +1 -1
- package/dist/commands/blobs/blobs-set.js +10 -2
- package/dist/commands/completion/completion.d.ts.map +1 -1
- package/dist/commands/completion/completion.js +7 -0
- package/dist/commands/deploy/deploy.js +2 -2
- package/dist/commands/deploy/index.d.ts.map +1 -1
- package/dist/commands/deploy/index.js +4 -3
- package/dist/commands/env/env-clone.d.ts.map +1 -1
- package/dist/commands/env/env-clone.js +12 -3
- package/dist/commands/env/env-set.d.ts.map +1 -1
- package/dist/commands/env/env-set.js +8 -3
- package/dist/commands/env/env-unset.d.ts.map +1 -1
- package/dist/commands/env/env-unset.js +7 -3
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +0 -1
- package/dist/commands/integration/deploy.d.ts.map +1 -1
- package/dist/commands/integration/deploy.js +11 -20
- package/dist/commands/main.d.ts +30 -0
- package/dist/commands/main.d.ts.map +1 -1
- package/dist/commands/main.js +35 -10
- package/dist/commands/sites/sites-create-template.d.ts +2 -3
- package/dist/commands/sites/sites-create-template.d.ts.map +1 -1
- package/dist/commands/sites/sites-create-template.js +114 -94
- package/dist/commands/sites/sites-create.d.ts.map +1 -1
- package/dist/commands/sites/sites-create.js +1 -2
- package/dist/commands/sites/sites.d.ts.map +1 -1
- package/dist/commands/sites/sites.js +0 -1
- package/dist/commands/status/status.d.ts.map +1 -1
- package/dist/commands/status/status.js +2 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/addons/prepare.d.ts +0 -21
- package/dist/utils/addons/prepare.d.ts.map +1 -1
- package/dist/utils/addons/prepare.js +1 -85
- package/dist/utils/command-helpers.d.ts +16 -0
- package/dist/utils/command-helpers.d.ts.map +1 -1
- package/dist/utils/command-helpers.js +7 -0
- package/dist/utils/framework-server.d.ts.map +1 -1
- package/dist/utils/framework-server.js +3 -3
- package/dist/utils/gh-auth.js +1 -1
- package/dist/utils/headers.js +1 -1
- package/dist/utils/prompts/blob-delete-prompts.d.ts +2 -0
- package/dist/utils/prompts/blob-delete-prompts.d.ts.map +1 -0
- package/dist/utils/prompts/blob-delete-prompts.js +11 -0
- package/dist/utils/prompts/blob-set-prompt.d.ts +2 -0
- package/dist/utils/prompts/blob-set-prompt.d.ts.map +1 -0
- package/dist/utils/prompts/blob-set-prompt.js +11 -0
- package/dist/utils/prompts/confirm-prompt.d.ts +2 -0
- package/dist/utils/prompts/confirm-prompt.d.ts.map +1 -0
- package/dist/utils/prompts/confirm-prompt.js +20 -0
- package/dist/utils/prompts/env-clone-prompt.d.ts +11 -0
- package/dist/utils/prompts/env-clone-prompt.d.ts.map +1 -0
- package/dist/utils/prompts/env-clone-prompt.js +27 -0
- package/dist/utils/prompts/env-set-prompts.d.ts +2 -0
- package/dist/utils/prompts/env-set-prompts.d.ts.map +1 -0
- package/dist/utils/prompts/env-set-prompts.js +11 -0
- package/dist/utils/prompts/env-unset-prompts.d.ts +8 -0
- package/dist/utils/prompts/env-unset-prompts.d.ts.map +1 -0
- package/dist/utils/prompts/env-unset-prompts.js +17 -0
- package/dist/utils/prompts/prompt-messages.d.ts +25 -0
- package/dist/utils/prompts/prompt-messages.d.ts.map +1 -0
- package/dist/utils/prompts/prompt-messages.js +25 -0
- package/dist/utils/redirects.js +1 -1
- package/dist/utils/run-build.d.ts +2 -0
- package/dist/utils/run-build.d.ts.map +1 -1
- package/dist/utils/run-build.js +6 -1
- package/dist/utils/run-program.d.ts +3 -0
- package/dist/utils/run-program.d.ts.map +1 -0
- package/dist/utils/run-program.js +12 -0
- package/dist/utils/scripted-commands.d.ts +3 -0
- package/dist/utils/scripted-commands.d.ts.map +1 -0
- package/dist/utils/scripted-commands.js +17 -0
- package/dist/utils/sites/create-template.d.ts +14 -0
- package/dist/utils/sites/create-template.d.ts.map +1 -0
- package/dist/utils/sites/create-template.js +46 -0
- package/dist/utils/sites/utils.d.ts +8 -6
- package/dist/utils/sites/utils.d.ts.map +1 -1
- package/dist/utils/sites/utils.js +10 -4
- package/dist/utils/static-server.d.ts +3 -1
- package/dist/utils/static-server.d.ts.map +1 -1
- package/dist/utils/static-server.js +2 -0
- package/dist/utils/types.d.ts +19 -12
- package/dist/utils/types.d.ts.map +1 -1
- package/functions-templates/javascript/hello-world/{{name}}.mjs +13 -0
- package/functions-templates/javascript/scheduled-function/package.json +1 -1
- package/functions-templates/javascript/scheduled-function/{{name}}.mjs +11 -0
- package/functions-templates/rust/hello-world/Cargo.toml +1 -1
- package/functions-templates/typescript/hello-world/package-lock.json +31 -31
- package/functions-templates/typescript/hello-world/package.json +2 -2
- package/functions-templates/typescript/hello-world/{{name}}.mts +14 -0
- package/functions-templates/typescript/scheduled-function/package.json +2 -2
- package/functions-templates/typescript/scheduled-function/{{name}}.mts +11 -0
- package/npm-shrinkwrap.json +951 -1083
- package/package.json +16 -19
- package/dist/commands/addons/addons-auth.d.ts +0 -4
- package/dist/commands/addons/addons-auth.d.ts.map +0 -1
- package/dist/commands/addons/addons-auth.js +0 -22
- package/dist/commands/addons/addons-config.d.ts +0 -4
- package/dist/commands/addons/addons-config.d.ts.map +0 -1
- package/dist/commands/addons/addons-config.js +0 -144
- package/dist/commands/addons/addons-create.d.ts +0 -4
- package/dist/commands/addons/addons-create.d.ts.map +0 -1
- package/dist/commands/addons/addons-create.js +0 -89
- package/dist/commands/addons/addons-delete.d.ts +0 -4
- package/dist/commands/addons/addons-delete.d.ts.map +0 -1
- package/dist/commands/addons/addons-delete.js +0 -32
- package/dist/commands/addons/addons-list.d.ts +0 -4
- package/dist/commands/addons/addons-list.d.ts.map +0 -1
- package/dist/commands/addons/addons-list.js +0 -33
- package/dist/commands/addons/addons.d.ts +0 -3
- package/dist/commands/addons/addons.d.ts.map +0 -1
- package/dist/commands/addons/addons.js +0 -68
- package/dist/commands/addons/index.d.ts +0 -2
- package/dist/commands/addons/index.d.ts.map +0 -1
- package/dist/commands/addons/index.js +0 -1
- package/dist/commands/lm/index.d.ts +0 -2
- package/dist/commands/lm/index.d.ts.map +0 -1
- package/dist/commands/lm/index.js +0 -1
- package/dist/commands/lm/lm-info.d.ts +0 -5
- package/dist/commands/lm/lm-info.d.ts.map +0 -1
- package/dist/commands/lm/lm-info.js +0 -25
- package/dist/commands/lm/lm-install.d.ts +0 -3
- package/dist/commands/lm/lm-install.d.ts.map +0 -1
- package/dist/commands/lm/lm-install.js +0 -8
- package/dist/commands/lm/lm-setup.d.ts +0 -4
- package/dist/commands/lm/lm-setup.d.ts.map +0 -1
- package/dist/commands/lm/lm-setup.js +0 -79
- package/dist/commands/lm/lm-uninstall.d.ts +0 -5
- package/dist/commands/lm/lm-uninstall.d.ts.map +0 -1
- package/dist/commands/lm/lm-uninstall.js +0 -7
- package/dist/commands/lm/lm.d.ts +0 -3
- package/dist/commands/lm/lm.d.ts.map +0 -1
- package/dist/commands/lm/lm.js +0 -46
- package/dist/utils/addons/render.d.ts +0 -3
- package/dist/utils/addons/render.d.ts.map +0 -1
- package/dist/utils/addons/render.js +0 -36
- package/dist/utils/lm/install.d.ts +0 -11
- package/dist/utils/lm/install.d.ts.map +0 -1
- package/dist/utils/lm/install.js +0 -248
- package/dist/utils/lm/requirements.d.ts +0 -5
- package/dist/utils/lm/requirements.d.ts.map +0 -1
- package/dist/utils/lm/requirements.js +0 -56
- package/dist/utils/lm/steps.d.ts +0 -17
- package/dist/utils/lm/steps.d.ts.map +0 -1
- package/dist/utils/lm/steps.js +0 -35
- package/dist/utils/lm/ui.d.ts +0 -5
- package/dist/utils/lm/ui.d.ts.map +0 -1
- package/dist/utils/lm/ui.js +0 -17
- package/functions-templates/javascript/hello-world/{{name}}.js +0 -17
- package/functions-templates/javascript/identity-signup/.netlify-function-template.mjs +0 -5
- package/functions-templates/javascript/identity-signup/{{name}}.js +0 -29
- package/functions-templates/javascript/sanity-create/.netlify-function-template.mjs +0 -5
- package/functions-templates/javascript/sanity-create/package.json +0 -20
- package/functions-templates/javascript/sanity-create/{{name}}.js +0 -72
- package/functions-templates/javascript/sanity-groq/.netlify-function-template.mjs +0 -5
- package/functions-templates/javascript/sanity-groq/package.json +0 -21
- package/functions-templates/javascript/sanity-groq/{{name}}.js +0 -56
- package/functions-templates/javascript/scheduled-function/{{name}}.js +0 -12
- package/functions-templates/javascript/submission-created/.netlify-function-template.mjs +0 -5
- package/functions-templates/javascript/submission-created/package.json +0 -19
- package/functions-templates/javascript/submission-created/{{name}}.js +0 -29
- package/functions-templates/typescript/hello-world/{{name}}.ts +0 -12
- package/functions-templates/typescript/scheduled-function/{{name}}.ts +0 -12
|
@@ -6,10 +6,6 @@ export declare const getCurrentAddon: ({ addonName, addons }: {
|
|
|
6
6
|
addonName: any;
|
|
7
7
|
addons: any;
|
|
8
8
|
}) => any;
|
|
9
|
-
export declare const getAddonManifest: ({ addonName, api }: {
|
|
10
|
-
addonName: any;
|
|
11
|
-
api: any;
|
|
12
|
-
}) => Promise<any>;
|
|
13
9
|
export declare const getSiteData: ({ api, siteId }: {
|
|
14
10
|
api: any;
|
|
15
11
|
siteId: any;
|
|
@@ -18,21 +14,4 @@ export declare const getAddons: ({ api, siteId }: {
|
|
|
18
14
|
api: any;
|
|
19
15
|
siteId: any;
|
|
20
16
|
}) => Promise<any>;
|
|
21
|
-
/**
|
|
22
|
-
*
|
|
23
|
-
* @param {object} config
|
|
24
|
-
* @param {import('../../commands/base-command.js').default} config.command
|
|
25
|
-
* @param {string} [config.addonName]
|
|
26
|
-
* @param {keyof ADDON_VALIDATION} [config.validation]
|
|
27
|
-
*/
|
|
28
|
-
export declare const prepareAddonCommand: ({ addonName, command, validation }: {
|
|
29
|
-
addonName: any;
|
|
30
|
-
command: any;
|
|
31
|
-
validation: any;
|
|
32
|
-
}) => Promise<{
|
|
33
|
-
manifest: any;
|
|
34
|
-
addons: any;
|
|
35
|
-
addon: any;
|
|
36
|
-
siteData: any;
|
|
37
|
-
}>;
|
|
38
17
|
//# sourceMappingURL=prepare.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/utils/addons/prepare.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA;
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/utils/addons/prepare.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;CAG5B,CAAA;AAGD,eAAO,MAAM,eAAe;;;SAAsF,CAAA;AAGlH,eAAO,MAAM,WAAW;;;kBAQvB,CAAA;AAGD,eAAO,MAAM,SAAS;;;kBAQrB,CAAA"}
|
|
@@ -1,64 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { error } from '../command-helpers.js';
|
|
2
2
|
export const ADDON_VALIDATION = {
|
|
3
3
|
EXISTS: 'EXISTS',
|
|
4
4
|
NOT_EXISTS: 'NOT_EXISTS',
|
|
5
5
|
};
|
|
6
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'addon' implicitly has an 'any' ty... Remove this comment to see the full error message
|
|
7
|
-
const validateExists = ({ addon, addonName, siteData }) => {
|
|
8
|
-
if (!addon || !addon.id) {
|
|
9
|
-
log(`Add-on ${addonName} doesn't exist for ${siteData.name}`);
|
|
10
|
-
log(`> Run \`netlify addons:create ${addonName}\` to create an instance for this site`);
|
|
11
|
-
exit(1);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'addon' implicitly has an 'any' ty... Remove this comment to see the full error message
|
|
15
|
-
const validateNotExists = ({ addon, addonName, siteData }) => {
|
|
16
|
-
if (addon && addon.id) {
|
|
17
|
-
log(`The "${addonName} add-on" already exists for ${siteData.name}`);
|
|
18
|
-
log();
|
|
19
|
-
const cmd = chalk.cyan(`\`netlify addons:config ${addonName}\``);
|
|
20
|
-
log(`- To update this add-on run: ${cmd}`);
|
|
21
|
-
const deleteCmd = chalk.cyan(`\`netlify addons:delete ${addonName}\``);
|
|
22
|
-
log(`- To remove this add-on run: ${deleteCmd}`);
|
|
23
|
-
log();
|
|
24
|
-
exit(1);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
6
|
// @ts-expect-error TS(7031) FIXME: Binding element 'addonName' implicitly has an 'any... Remove this comment to see the full error message
|
|
28
7
|
export const getCurrentAddon = ({ addonName, addons }) => addons.find((addon) => addon.service_slug === addonName);
|
|
29
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'addon' implicitly has an 'any' ty... Remove this comment to see the full error message
|
|
30
|
-
const validateCurrentAddon = ({ addon, addonName, siteData, validation }) => {
|
|
31
|
-
switch (validation) {
|
|
32
|
-
case ADDON_VALIDATION.EXISTS: {
|
|
33
|
-
validateExists({ addon, addonName, siteData });
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
36
|
-
case ADDON_VALIDATION.NOT_EXISTS: {
|
|
37
|
-
validateNotExists({ addon, addonName, siteData });
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
default: {
|
|
41
|
-
warn(`Unknown addons validation: ${validation}`);
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'addonName' implicitly has an 'any... Remove this comment to see the full error message
|
|
47
|
-
export const getAddonManifest = async ({ addonName, api }) => {
|
|
48
|
-
let manifest;
|
|
49
|
-
try {
|
|
50
|
-
manifest = await api.showServiceManifest({ addonName });
|
|
51
|
-
}
|
|
52
|
-
catch (error_) {
|
|
53
|
-
if (error_.message.includes('Not Found')) {
|
|
54
|
-
error(`No add-on "${addonName}" found. Please double check your add-on name and try again`);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
error(error_.message);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return manifest;
|
|
61
|
-
};
|
|
62
8
|
// @ts-expect-error TS(7031) FIXME: Binding element 'api' implicitly has an 'any' type... Remove this comment to see the full error message
|
|
63
9
|
export const getSiteData = async ({ api, siteId }) => {
|
|
64
10
|
let siteData;
|
|
@@ -81,33 +27,3 @@ export const getAddons = async ({ api, siteId }) => {
|
|
|
81
27
|
}
|
|
82
28
|
return addons;
|
|
83
29
|
};
|
|
84
|
-
/**
|
|
85
|
-
*
|
|
86
|
-
* @param {object} config
|
|
87
|
-
* @param {import('../../commands/base-command.js').default} config.command
|
|
88
|
-
* @param {string} [config.addonName]
|
|
89
|
-
* @param {keyof ADDON_VALIDATION} [config.validation]
|
|
90
|
-
*/
|
|
91
|
-
// @ts-expect-error TS(7031) FIXME: Binding element 'addonName' implicitly has an 'any... Remove this comment to see the full error message
|
|
92
|
-
export const prepareAddonCommand = async ({ addonName, command, validation }) => {
|
|
93
|
-
const { netlify } = command;
|
|
94
|
-
const { api, site } = netlify;
|
|
95
|
-
const siteId = site.id;
|
|
96
|
-
if (!siteId) {
|
|
97
|
-
error('No site id found, please run inside a site folder or `netlify link`');
|
|
98
|
-
}
|
|
99
|
-
await command.authenticate();
|
|
100
|
-
const [manifest, siteData, addons] = await Promise.all([
|
|
101
|
-
// TODO: check as `getAddonManifest` did not accept a parameter error
|
|
102
|
-
// @ts-expect-error TS(2345) FIXME: Argument of type '{ api: any; addonName: any; erro... Remove this comment to see the full error message
|
|
103
|
-
addonName ? getAddonManifest({ api, addonName, error }) : Promise.resolve(),
|
|
104
|
-
getSiteData({ api, siteId }),
|
|
105
|
-
getAddons({ api, siteId }),
|
|
106
|
-
]);
|
|
107
|
-
let addon;
|
|
108
|
-
if (addonName) {
|
|
109
|
-
addon = getCurrentAddon({ addons, addonName });
|
|
110
|
-
validateCurrentAddon({ addon, validation, addonName, siteData });
|
|
111
|
-
}
|
|
112
|
-
return { manifest, addons, addon, siteData };
|
|
113
|
-
};
|
|
@@ -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,
|
|
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({
|
|
@@ -28,7 +28,7 @@ export const startFrameworkServer = async function ({ cwd, settings, }) {
|
|
|
28
28
|
let port;
|
|
29
29
|
try {
|
|
30
30
|
if (settings.skipWaitPort) {
|
|
31
|
-
port = { open: true
|
|
31
|
+
port = { open: true };
|
|
32
32
|
}
|
|
33
33
|
else {
|
|
34
34
|
port = await waitPort({
|
package/dist/utils/gh-auth.js
CHANGED
|
@@ -71,7 +71,7 @@ export const authWithNetlify = async () => {
|
|
|
71
71
|
const getPersonalAccessToken = async () => {
|
|
72
72
|
const { token } = await inquirer.prompt([
|
|
73
73
|
{
|
|
74
|
-
type: '
|
|
74
|
+
type: 'password',
|
|
75
75
|
name: 'token',
|
|
76
76
|
message: 'Your GitHub personal access token:',
|
|
77
77
|
filter: (input) => input.trim(),
|
package/dist/utils/headers.js
CHANGED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
+
};
|
package/dist/utils/redirects.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { parseAllRedirects } from 'netlify
|
|
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":"
|
|
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;;;;;;;;;;EA0G1B,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"}
|
package/dist/utils/run-build.js
CHANGED
|
@@ -71,7 +71,12 @@ export const runNetlifyBuild = async ({ command, env = {}, options, settings, ti
|
|
|
71
71
|
},
|
|
72
72
|
cwd,
|
|
73
73
|
});
|
|
74
|
-
|
|
74
|
+
if (ipVersion) {
|
|
75
|
+
settings.frameworkHost = ipVersion === 6 ? '::1' : '127.0.0.1';
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
settings.frameworkHost = 'localhost';
|
|
79
|
+
}
|
|
75
80
|
};
|
|
76
81
|
if (timeline === 'build') {
|
|
77
82
|
// Start by cleaning the internal directory, as it may have artifacts left
|
|
@@ -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 @@
|
|
|
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}`;
|