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.
- package/bin/run.js +4 -2
- package/dist/commands/addons/addons.d.ts.map +1 -1
- package/dist/commands/addons/addons.js +0 -1
- package/dist/commands/base-command.d.ts.map +1 -1
- package/dist/commands/base-command.js +2 -1
- 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/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 +34 -0
- package/dist/commands/main.d.ts.map +1 -1
- package/dist/commands/main.js +36 -6
- 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 +113 -92
- package/dist/commands/sites/sites-create.d.ts.map +1 -1
- package/dist/commands/sites/sites.d.ts.map +1 -1
- package/dist/commands/sites/sites.js +0 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- 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 +2 -2
- 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-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 +14 -1
- 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/{{name}}.mjs +11 -0
- package/functions-templates/rust/hello-world/Cargo.toml +1 -1
- package/functions-templates/typescript/hello-world/package-lock.json +15 -15
- package/functions-templates/typescript/hello-world/package.json +1 -1
- package/functions-templates/typescript/hello-world/{{name}}.mts +14 -0
- package/functions-templates/typescript/scheduled-function/package.json +1 -1
- package/functions-templates/typescript/scheduled-function/{{name}}.mts +11 -0
- package/npm-shrinkwrap.json +849 -626
- package/package.json +14 -14
- 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
|
@@ -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({
|
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;;;;;;;;;;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 @@
|
|
|
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}`;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
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:
|
|
5
|
-
templateName:
|
|
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:
|
|
12
|
+
isTemplate: boolean | undefined;
|
|
12
13
|
}>;
|
|
13
|
-
export declare const createRepo: (templateName: string, ghToken: string, siteName: string) => Promise<
|
|
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":"
|
|
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
|
|
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
|
+
};
|
|
@@ -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
|
|
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
|
};
|
package/dist/utils/types.d.ts
CHANGED
|
@@ -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
|
|
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":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"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"}
|