netlify-cli 19.1.7 → 20.0.0-pre.bb36158

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/commands/base-command.js +1 -1
  2. package/dist/commands/base-command.js.map +1 -1
  3. package/dist/commands/database/constants.d.ts +4 -0
  4. package/dist/commands/database/constants.d.ts.map +1 -0
  5. package/dist/commands/database/constants.js +4 -0
  6. package/dist/commands/database/constants.js.map +1 -0
  7. package/dist/commands/database/database.d.ts +17 -0
  8. package/dist/commands/database/database.d.ts.map +1 -0
  9. package/dist/commands/database/database.js +22 -0
  10. package/dist/commands/database/database.js.map +1 -0
  11. package/dist/commands/database/dev-branch.d.ts +27 -0
  12. package/dist/commands/database/dev-branch.d.ts.map +1 -0
  13. package/dist/commands/database/dev-branch.js +145 -0
  14. package/dist/commands/database/dev-branch.js.map +1 -0
  15. package/dist/commands/database/drizzle.d.ts +6 -0
  16. package/dist/commands/database/drizzle.d.ts.map +1 -0
  17. package/dist/commands/database/drizzle.js +160 -0
  18. package/dist/commands/database/drizzle.js.map +1 -0
  19. package/dist/commands/database/index.d.ts +2 -0
  20. package/dist/commands/database/index.d.ts.map +1 -0
  21. package/dist/commands/database/index.js +2 -0
  22. package/dist/commands/database/index.js.map +1 -0
  23. package/dist/commands/database/init.d.ts +4 -0
  24. package/dist/commands/database/init.d.ts.map +1 -0
  25. package/dist/commands/database/init.js +131 -0
  26. package/dist/commands/database/init.js.map +1 -0
  27. package/dist/commands/database/status.d.ts +4 -0
  28. package/dist/commands/database/status.d.ts.map +1 -0
  29. package/dist/commands/database/status.js +71 -0
  30. package/dist/commands/database/status.js.map +1 -0
  31. package/dist/commands/database/utils.d.ts +47 -0
  32. package/dist/commands/database/utils.d.ts.map +1 -0
  33. package/dist/commands/database/utils.js +83 -0
  34. package/dist/commands/database/utils.js.map +1 -0
  35. package/dist/commands/dev/dev.d.ts +0 -1
  36. package/dist/commands/dev/dev.d.ts.map +1 -1
  37. package/dist/commands/dev/dev.js +2 -64
  38. package/dist/commands/dev/dev.js.map +1 -1
  39. package/dist/commands/dev/index.d.ts +2 -1
  40. package/dist/commands/dev/index.d.ts.map +1 -1
  41. package/dist/commands/dev/index.js +65 -1
  42. package/dist/commands/dev/index.js.map +1 -1
  43. package/dist/commands/{dev → dev-exec}/dev-exec.d.ts +0 -1
  44. package/dist/commands/dev-exec/dev-exec.d.ts.map +1 -0
  45. package/dist/commands/dev-exec/dev-exec.js +15 -0
  46. package/dist/commands/dev-exec/dev-exec.js.map +1 -0
  47. package/dist/commands/dev-exec/index.d.ts +3 -0
  48. package/dist/commands/dev-exec/index.d.ts.map +1 -0
  49. package/dist/commands/dev-exec/index.js +13 -0
  50. package/dist/commands/dev-exec/index.js.map +1 -0
  51. package/dist/commands/main.d.ts.map +1 -1
  52. package/dist/commands/main.js +4 -0
  53. package/dist/commands/main.js.map +1 -1
  54. package/dist/commands/sites/sites-create-template.d.ts.map +1 -1
  55. package/dist/commands/sites/sites-create-template.js.map +1 -1
  56. package/dist/commands/status/status.d.ts.map +1 -1
  57. package/dist/commands/status/status.js +1 -7
  58. package/dist/commands/status/status.js.map +1 -1
  59. package/dist/lib/build.d.ts +2 -2
  60. package/dist/lib/build.d.ts.map +1 -1
  61. package/dist/tsconfig.build.tsbuildinfo +1 -1
  62. package/dist/utils/detect-server-settings.d.ts.map +1 -1
  63. package/dist/utils/types.d.ts +8 -17
  64. package/dist/utils/types.d.ts.map +1 -1
  65. package/npm-shrinkwrap.json +79 -14
  66. package/package.json +2 -2
  67. package/dist/commands/dev/dev-exec.d.ts.map +0 -1
  68. package/dist/commands/dev/dev-exec.js +0 -21
  69. package/dist/commands/dev/dev-exec.js.map +0 -1
@@ -0,0 +1,131 @@
1
+ import inquirer from 'inquirer';
2
+ import { getAccount, getExtension, installExtension } from './utils.js';
3
+ import { initDrizzle } from './drizzle.js';
4
+ import { NEON_DATABASE_EXTENSION_SLUG } from './constants.js';
5
+ import prettyjson from 'prettyjson';
6
+ import { log } from '../../utils/command-helpers.js';
7
+ import { createDevBranch } from './dev-branch.js';
8
+ export const init = async (_options, command) => {
9
+ const siteInfo = command.netlify.siteInfo;
10
+ if (!command.siteId) {
11
+ console.error(`The project must be linked with netlify link before initializing a database.`);
12
+ return;
13
+ }
14
+ const initialOpts = command.opts();
15
+ const opts = command.opts();
16
+ if (!command.netlify.api.accessToken || !siteInfo.account_id || !siteInfo.name) {
17
+ throw new Error(`Please login with netlify login before running this command`);
18
+ }
19
+ const account = await getAccount(command, { accountId: siteInfo.account_id });
20
+ const netlifyToken = command.netlify.api.accessToken.replace('Bearer ', '');
21
+ const extension = await getExtension({
22
+ accountId: siteInfo.account_id,
23
+ token: netlifyToken,
24
+ slug: NEON_DATABASE_EXTENSION_SLUG,
25
+ });
26
+ if (!extension?.hostSiteUrl) {
27
+ throw new Error(`Failed to get extension host site url when installing extension`);
28
+ }
29
+ const installNeonExtension = async () => {
30
+ if (!account.name) {
31
+ throw new Error(`Failed to install extension "${extension.name}"`);
32
+ }
33
+ const installed = await installExtension({
34
+ accountId: siteInfo.account_id,
35
+ token: netlifyToken,
36
+ slug: NEON_DATABASE_EXTENSION_SLUG,
37
+ hostSiteUrl: extension.hostSiteUrl,
38
+ });
39
+ if (!installed) {
40
+ throw new Error(`Failed to install extension on team "${account.name}": "${extension.name}"`);
41
+ }
42
+ log(`Extension "${extension.name}" successfully installed on team "${account.name}"`);
43
+ };
44
+ if (!extension.installedOnTeam && !opts.yes) {
45
+ const answers = await inquirer.prompt([
46
+ {
47
+ type: 'confirm',
48
+ name: 'installExtension',
49
+ message: `The required extension "${extension.name}" is not installed on team "${account.name}", would you like to install it now?`,
50
+ },
51
+ ]);
52
+ if (answers.installExtension) {
53
+ await installNeonExtension();
54
+ }
55
+ else {
56
+ return;
57
+ }
58
+ }
59
+ if (!extension.installedOnTeam && opts.yes) {
60
+ await installNeonExtension();
61
+ }
62
+ /**
63
+ * Only prompt for drizzle if the user did not pass in the `--drizzle` or `--no-drizzle` option
64
+ */
65
+ if (initialOpts.drizzle !== false && initialOpts.drizzle !== true && !initialOpts.yes) {
66
+ const answers = await inquirer.prompt([
67
+ {
68
+ type: 'confirm',
69
+ name: 'drizzle',
70
+ message: 'Use Drizzle?',
71
+ },
72
+ ]);
73
+ command.setOptionValue('drizzle', answers.drizzle);
74
+ }
75
+ const answers = await inquirer.prompt([
76
+ {
77
+ type: 'confirm',
78
+ name: 'useDevBranch',
79
+ message: 'Use a development branch?',
80
+ },
81
+ ]);
82
+ command.setOptionValue('useDevBranch', answers.useDevBranch);
83
+ log(`Initializing a new database...`);
84
+ const hostSiteUrl = process.env.NEON_DATABASE_EXTENSION_HOST_SITE_URL ?? extension.hostSiteUrl;
85
+ const initEndpoint = new URL('/api/cli-db-init', hostSiteUrl).toString();
86
+ const currentUser = await command.netlify.api.getCurrentUser();
87
+ const headers = {
88
+ 'Content-Type': 'application/json',
89
+ 'nf-db-token': netlifyToken,
90
+ 'nf-db-account-id': siteInfo.account_id,
91
+ 'nf-db-site-id': command.siteId ?? '',
92
+ 'nf-db-user-id': currentUser.id ?? '',
93
+ };
94
+ const req = await fetch(initEndpoint, {
95
+ method: 'POST',
96
+ headers,
97
+ });
98
+ if (!req.ok) {
99
+ const error = (await req.json());
100
+ throw new Error(`Failed to initialize DB: ${error.message ?? 'Unknown error occurred'}`);
101
+ }
102
+ const res = (await req.json());
103
+ if (res.code !== 'DATABASE_INITIALIZED') {
104
+ throw new Error(`Failed to initialize DB: ${res.message ?? 'Unknown error'}`);
105
+ }
106
+ if (opts.useDevBranch || (opts.yes && opts.useDevBranch !== false)) {
107
+ log(`Setting up local database...`);
108
+ const { uri, name } = await createDevBranch({
109
+ headers,
110
+ command,
111
+ extension,
112
+ });
113
+ command.setOptionValue('devBranchUri', uri);
114
+ log(`Created new development branch: ${name}`);
115
+ }
116
+ log(`Initializing drizzle...`);
117
+ if (opts.drizzle || (opts.yes && opts.drizzle !== false)) {
118
+ await initDrizzle(command);
119
+ }
120
+ log(prettyjson.render({
121
+ 'Current team': account.name,
122
+ 'Current site': siteInfo.name,
123
+ [`${extension.name} extension`]: 'installed on team',
124
+ ['Database status']: 'connected to site',
125
+ ['Environment variables']: '',
126
+ [' NETLIFY_DATABASE_URL']: 'saved',
127
+ [' NETLIFY_DATABASE_URL_UNPOOLED']: 'saved',
128
+ }));
129
+ return;
130
+ };
131
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/database/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { OptionValues } from 'commander';
2
+ import BaseCommand from '../base-command.js';
3
+ export declare const status: (_options: OptionValues, command: BaseCommand) => Promise<void>;
4
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/database/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAM5C,eAAO,MAAM,MAAM,aAAoB,YAAY,WAAW,WAAW,kBAsExE,CAAA"}
@@ -0,0 +1,71 @@
1
+ import { getAccount, getExtension, getSiteConfiguration } from './utils.js';
2
+ import { NEON_DATABASE_EXTENSION_SLUG } from './constants.js';
3
+ import prettyjson from 'prettyjson';
4
+ import { chalk, log } from '../../utils/command-helpers.js';
5
+ export const status = async (_options, command) => {
6
+ const siteInfo = command.netlify.siteInfo;
7
+ if (!command.siteId) {
8
+ throw new Error(`The project must be linked with netlify link before initializing a database.`);
9
+ }
10
+ if (!siteInfo.account_id) {
11
+ throw new Error(`No account id found for site ${command.siteId}`);
12
+ }
13
+ if (!command.netlify.api.accessToken) {
14
+ throw new Error(`You must be logged in with netlify login to check the status of the database`);
15
+ }
16
+ const netlifyToken = command.netlify.api.accessToken.replace('Bearer ', '');
17
+ const account = await getAccount(command, { accountId: siteInfo.account_id });
18
+ let databaseUrlEnv;
19
+ let unpooledDatabaseUrlEnv;
20
+ try {
21
+ databaseUrlEnv = await command.netlify.api.getEnvVar({
22
+ accountId: siteInfo.account_id,
23
+ siteId: command.siteId,
24
+ key: 'NETLIFY_DATABASE_URL',
25
+ });
26
+ }
27
+ catch {
28
+ // no-op, env var does not exist, so we just continue
29
+ }
30
+ try {
31
+ unpooledDatabaseUrlEnv = await command.netlify.api.getEnvVar({
32
+ accountId: siteInfo.account_id,
33
+ siteId: command.siteId,
34
+ key: 'NETLIFY_DATABASE_URL_UNPOOLED',
35
+ });
36
+ }
37
+ catch {
38
+ // no-op, env var does not exist, so we just continue
39
+ }
40
+ const extension = await getExtension({
41
+ accountId: account.id,
42
+ token: netlifyToken,
43
+ slug: NEON_DATABASE_EXTENSION_SLUG,
44
+ });
45
+ let siteConfig;
46
+ try {
47
+ siteConfig = await getSiteConfiguration({
48
+ siteId: command.siteId,
49
+ accountId: siteInfo.account_id,
50
+ slug: NEON_DATABASE_EXTENSION_SLUG,
51
+ token: netlifyToken,
52
+ });
53
+ }
54
+ catch {
55
+ // no-op, site config does not exist or extension not installed
56
+ }
57
+ log(prettyjson.render({
58
+ 'Current team': account.name,
59
+ 'Current site': siteInfo.name,
60
+ [extension?.name ? `${extension.name} extension` : 'Database extension']: extension?.installedOnTeam
61
+ ? 'installed on team'
62
+ : chalk.red('not installed on team'),
63
+ // @ts-expect-error -- siteConfig is not typed
64
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
65
+ ['Database status']: siteConfig?.config?.connectedDatabase ? 'connected to site' : chalk.red('not connected'),
66
+ ['Environment variables']: '',
67
+ [' NETLIFY_DATABASE_URL']: databaseUrlEnv?.key === 'NETLIFY_DATABASE_URL' ? 'saved' : chalk.red('not set'),
68
+ [' NETLIFY_DATABASE_URL_UNPOOLED']: unpooledDatabaseUrlEnv?.key === 'NETLIFY_DATABASE_URL_UNPOOLED' ? 'saved' : chalk.red('not set'),
69
+ }));
70
+ };
71
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/database/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import BaseCommand from '../base-command.js';
2
+ import { Extension } from './database.js';
3
+ export declare const getExtension: ({ accountId, token, slug }: {
4
+ accountId: string;
5
+ token: string;
6
+ slug: string;
7
+ }) => Promise<Extension | undefined>;
8
+ export declare const installExtension: ({ token, accountId, slug, hostSiteUrl, }: {
9
+ token: string;
10
+ accountId: string;
11
+ slug: string;
12
+ hostSiteUrl: string;
13
+ }) => Promise<unknown>;
14
+ export declare const getSiteConfiguration: ({ siteId, accountId, token, slug, }: {
15
+ siteId: string;
16
+ accountId: string;
17
+ token: string;
18
+ slug: string;
19
+ }) => Promise<unknown>;
20
+ export declare const carefullyWriteFile: (filePath: string, data: string, projectRoot: string) => Promise<void>;
21
+ export declare const getAccount: (command: BaseCommand, { accountId, }: {
22
+ accountId: string;
23
+ }) => Promise<{
24
+ id: string;
25
+ name: string;
26
+ } & Omit<{
27
+ id?: string;
28
+ name?: string;
29
+ slug?: string;
30
+ type?: string;
31
+ capabilities?: {
32
+ sites?: import("@netlify/open-api").components["schemas"]["accountUsageCapability"];
33
+ collaborators?: import("@netlify/open-api").components["schemas"]["accountUsageCapability"];
34
+ };
35
+ billing_name?: string;
36
+ billing_email?: string;
37
+ billing_details?: string;
38
+ billing_period?: string;
39
+ payment_method_id?: string;
40
+ type_name?: string;
41
+ type_id?: string;
42
+ owner_ids?: string[];
43
+ roles_allowed?: string[];
44
+ created_at?: string;
45
+ updated_at?: string;
46
+ }, "name" | "id">>;
47
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/commands/database/utils.ts"],"names":[],"mappings":"AAKA,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,eAAO,MAAM,YAAY,+BAAsC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,mCAahH,CAAA;AAED,eAAO,MAAM,gBAAgB,6CAK1B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB,qBAqBA,CAAA;AAED,eAAO,MAAM,oBAAoB,wCAK9B;IACD,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,qBAaA,CAAA;AAED,eAAO,MAAM,kBAAkB,aAAoB,MAAM,QAAQ,MAAM,eAAe,MAAM,kBAkB3F,CAAA;AAED,eAAO,MAAM,UAAU,YACZ,WAAW,kBAGjB;IACD,SAAS,EAAE,MAAM,CAAA;CAClB;QAcuB,MAAM;UAAQ,MAAM;;;;;;;aAKu10C,CAAC,EAAC,iDAAsB;qBAAiD,CAAC,EAAC,iDAAsB;;;;;;;;;;;;;kBADr+0C,CAAA"}
@@ -0,0 +1,83 @@
1
+ import fsPromises from 'fs/promises';
2
+ import fs from 'fs';
3
+ import inquirer from 'inquirer';
4
+ import { JIGSAW_URL, NETLIFY_WEB_UI } from './constants.js';
5
+ export const getExtension = async ({ accountId, token, slug }) => {
6
+ const url = new URL('/.netlify/functions/fetch-extension', NETLIFY_WEB_UI);
7
+ url.searchParams.append('teamId', accountId);
8
+ url.searchParams.append('slug', slug);
9
+ const extensionReq = await fetch(url.toString(), {
10
+ headers: {
11
+ Cookie: `_nf-auth=${token}`,
12
+ },
13
+ });
14
+ const extension = (await extensionReq.json());
15
+ return extension;
16
+ };
17
+ export const installExtension = async ({ token, accountId, slug, hostSiteUrl, }) => {
18
+ const url = new URL('/.netlify/functions/install-extension', NETLIFY_WEB_UI);
19
+ const installExtensionResponse = await fetch(url.toString(), {
20
+ method: 'POST',
21
+ headers: {
22
+ 'Content-Type': 'application/json',
23
+ Cookie: `_nf-auth=${token}`,
24
+ },
25
+ body: JSON.stringify({
26
+ teamId: accountId,
27
+ slug,
28
+ hostSiteUrl,
29
+ }),
30
+ });
31
+ if (!installExtensionResponse.ok) {
32
+ throw new Error(`Failed to install extension: ${slug}`);
33
+ }
34
+ const installExtensionData = await installExtensionResponse.json();
35
+ return installExtensionData;
36
+ };
37
+ export const getSiteConfiguration = async ({ siteId, accountId, token, slug, }) => {
38
+ const url = new URL(`/team/${accountId}/integrations/${slug}/configuration/site/${siteId}`, JIGSAW_URL);
39
+ const siteConfigurationResponse = await fetch(url.toString(), {
40
+ headers: {
41
+ 'netlify-token': token,
42
+ },
43
+ });
44
+ if (!siteConfigurationResponse.ok) {
45
+ throw new Error(`Failed to fetch extension site configuration for ${siteId}. Is the extension installed?`);
46
+ }
47
+ const siteConfiguration = await siteConfigurationResponse.json();
48
+ return siteConfiguration;
49
+ };
50
+ export const carefullyWriteFile = async (filePath, data, projectRoot) => {
51
+ if (fs.existsSync(filePath)) {
52
+ const answers = await inquirer.prompt([
53
+ {
54
+ type: 'confirm',
55
+ name: 'overwrite',
56
+ message: `Overwrite existing file .${filePath.replace(projectRoot, '')}?`,
57
+ },
58
+ ]);
59
+ if (answers.overwrite) {
60
+ await fsPromises.writeFile(filePath, data);
61
+ }
62
+ }
63
+ else {
64
+ await fsPromises.writeFile(filePath, data);
65
+ }
66
+ };
67
+ export const getAccount = async (command, { accountId, }) => {
68
+ let account;
69
+ try {
70
+ // @ts-expect-error -- TODO: fix the getAccount type in the openapi spec. It should not be an array of accounts, just one account.
71
+ account = await command.netlify.api.getAccount({ accountId });
72
+ }
73
+ catch (e) {
74
+ throw new Error(`Error getting account, make sure you are logged in with netlify login`, {
75
+ cause: e,
76
+ });
77
+ }
78
+ if (!account.id || !account.name) {
79
+ throw new Error(`Error getting account, make sure you are logged in with netlify login`);
80
+ }
81
+ return account;
82
+ };
83
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/database/utils.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAI3D,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAsD,EAAE,EAAE;IACnH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,qCAAqC,EAAE,cAAc,CAAC,CAAA;IAC1E,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAErC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC/C,OAAO,EAAE;YACP,MAAM,EAAE,YAAY,KAAK,EAAE;SAC5B;KACF,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAA0B,CAAA;IAEtE,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,KAAK,EACL,SAAS,EACT,IAAI,EACJ,WAAW,GAMZ,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,uCAAuC,EAAE,cAAc,CAAC,CAAA;IAC5E,MAAM,wBAAwB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,YAAY,KAAK,EAAE;SAC5B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,MAAM,EAAE,SAAS;YACjB,IAAI;YACJ,WAAW;SACZ,CAAC;KACH,CAAC,CAAA;IAEF,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,oBAAoB,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,CAAA;IAClE,OAAO,oBAAoB,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,MAAM,EACN,SAAS,EACT,KAAK,EACL,IAAI,GAML,EAAE,EAAE;IACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,SAAS,iBAAiB,IAAI,uBAAuB,MAAM,EAAE,EAAE,UAAU,CAAC,CAAA;IACvG,MAAM,yBAAyB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC5D,OAAO,EAAE;YACP,eAAe,EAAE,KAAK;SACvB;KACF,CAAC,CAAA;IACF,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,oDAAoD,MAAM,+BAA+B,CAAC,CAAA;IAC5G,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,CAAA;IAChE,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,WAAmB,EAAE,EAAE;IAC9F,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAI5B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAU;YAC7C;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,4BAA4B,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG;aAC1E;SACF,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,OAAoB,EACpB,EACE,SAAS,GAGV,EACD,EAAE;IACF,IAAI,OAA2E,CAAA;IAC/E,IAAI,CAAC;QACH,kIAAkI;QAClI,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAC/D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,uEAAuE,EAAE;YACvF,KAAK,EAAE,CAAC;SACT,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IAC1F,CAAC;IACD,OAAO,OAGN,CAAA;AACH,CAAC,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { OptionValues } from 'commander';
2
2
  import type BaseCommand from '../base-command.js';
3
3
  export declare const dev: (options: OptionValues, command: BaseCommand) => Promise<void>;
4
- export declare const createDevCommand: (program: BaseCommand) => BaseCommand;
5
4
  //# sourceMappingURL=dev.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/commands/dev/dev.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,YAAY,EAAE,MAAM,WAAW,CAAA;AA4BhD,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AA8DjD,eAAO,MAAM,GAAG,YAAmB,YAAY,WAAW,WAAW,kBAiKpE,CAAA;AAED,eAAO,MAAM,gBAAgB,YAAa,WAAW,gBAqFpD,CAAA"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/commands/dev/dev.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AA0BxC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AA6CjD,eAAO,MAAM,GAAG,YAAmB,YAAY,WAAW,WAAW,kBAsKpE,CAAA"}
@@ -1,22 +1,19 @@
1
1
  import process from 'process';
2
2
  import { applyMutations } from '@netlify/config';
3
- import { Option } from 'commander';
4
3
  import { BLOBS_CONTEXT_VARIABLE, encodeBlobsContext, getBlobsContextWithEdgeAccess } from '../../lib/blobs/blobs.js';
5
4
  import { promptEditorHelper } from '../../lib/edge-functions/editor-helper.js';
6
5
  import { startFunctionsServer } from '../../lib/functions/server.js';
7
6
  import { printBanner } from '../../utils/banner.js';
8
- import { BANG, NETLIFYDEV, NETLIFYDEVERR, NETLIFYDEVLOG, NETLIFYDEVWARN, chalk, log, normalizeConfig, } from '../../utils/command-helpers.js';
7
+ import { NETLIFYDEV, NETLIFYDEVERR, NETLIFYDEVLOG, NETLIFYDEVWARN, chalk, log, normalizeConfig, } from '../../utils/command-helpers.js';
9
8
  import detectServerSettings, { getConfigWithPlugins } from '../../utils/detect-server-settings.js';
10
9
  import { UNLINKED_SITE_MOCK_ID, getDotEnvVariables, getSiteInformation, injectEnvVariables } from '../../utils/dev.js';
11
- import { getEnvelopeEnv, normalizeContext } from '../../utils/env/index.js';
10
+ import { getEnvelopeEnv } from '../../utils/env/index.js';
12
11
  import { ensureNetlifyIgnore } from '../../utils/gitignore.js';
13
12
  import { getLiveTunnelSlug, startLiveTunnel } from '../../utils/live-tunnel.js';
14
13
  import openBrowser from '../../utils/open-browser.js';
15
14
  import { generateInspectSettings, startProxyServer } from '../../utils/proxy-server.js';
16
15
  import { getProxyUrl } from '../../utils/proxy.js';
17
16
  import { runDevTimeline } from '../../utils/run-build.js';
18
- import { getGeoCountryArgParser } from '../../utils/validation.js';
19
- import { createDevExecCommand } from './dev-exec.js';
20
17
  const handleLiveTunnel = async ({ api, options, settings, site, state, }) => {
21
18
  const { live } = options;
22
19
  if (live) {
@@ -37,19 +34,6 @@ const handleLiveTunnel = async ({ api, options, settings, site, state, }) => {
37
34
  return sessionUrl;
38
35
  }
39
36
  };
40
- const validateShortFlagArgs = (args) => {
41
- if (args.startsWith('=')) {
42
- throw new Error(`Short flag options like -e or -E don't support the '=' sign
43
- ${chalk.red(BANG)} Supported formats:
44
- netlify dev -e
45
- netlify dev -e 127.0.0.1:9229
46
- netlify dev -e127.0.0.1:9229
47
- netlify dev -E
48
- netlify dev -E 127.0.0.1:9229
49
- netlify dev -E127.0.0.1:9229`);
50
- }
51
- return args;
52
- };
53
37
  export const dev = async (options, command) => {
54
38
  log(NETLIFYDEV);
55
39
  const { api, cachedConfig, config, repositoryRoot, site, siteInfo, state } = command.netlify;
@@ -190,50 +174,4 @@ export const dev = async (options, command) => {
190
174
  }
191
175
  printBanner({ url });
192
176
  };
193
- export const createDevCommand = (program) => {
194
- createDevExecCommand(program);
195
- return program
196
- .command('dev')
197
- .alias('develop')
198
- .description(`Local dev server\nThe dev command will run a local dev server with Netlify's proxy and redirect rules`)
199
- .option('-c ,--command <command>', 'command to run')
200
- .option('--context <context>', 'Specify a deploy context or branch for environment variables (contexts: "production", "deploy-preview", "branch-deploy", "dev")', normalizeContext)
201
- .option('-p ,--port <port>', 'port of netlify dev', (value) => Number.parseInt(value))
202
- .addOption(new Option('--skip-wait-port', 'disables waiting for target port to become available').hideHelp(true))
203
- .addOption(new Option('--no-open', 'disables the automatic opening of a browser window'))
204
- .option('--target-port <port>', 'port of target app server', (value) => Number.parseInt(value))
205
- .option('--framework <name>', 'framework to use. Defaults to #auto which automatically detects a framework')
206
- .option('-d ,--dir <path>', 'dir with static files')
207
- .option('-f ,--functions <folder>', 'specify a functions folder to serve')
208
- .option('-o, --offline', 'Disables any features that require network access')
209
- .addOption(new Option('--offline-env', 'disables fetching environment variables from the Netlify API').hideHelp(true))
210
- .addOption(new Option('--internal-disable-edge-functions', "disables edge functions. use this if your environment doesn't support Deno. This option is internal and should not be used by end users.").hideHelp(true))
211
- .option('-l, --live [subdomain]', 'start a public live session; optionally, supply a subdomain to generate a custom URL', false)
212
- .option('--functions-port <port>', 'port of functions server', (value) => Number.parseInt(value))
213
- .addOption(new Option('--geo <mode>', 'force geolocation data to be updated, use cached data from the last 24h if found, or use a mock location')
214
- .choices(['cache', 'mock', 'update'])
215
- .default('cache'))
216
- .addOption(new Option('--country <geoCountry>', 'Two-letter country code (https://ntl.fyi/country-codes) to use as mock geolocation (enables --geo=mock automatically)').argParser(getGeoCountryArgParser('netlify dev --geo=mock --country=FR')))
217
- .addOption(new Option('--staticServerPort <port>', 'port of the static app server used when no framework is detected')
218
- .argParser((value) => Number.parseInt(value))
219
- .hideHelp())
220
- .addOption(new Option('-e, --edge-inspect [address]', 'enable the V8 Inspector Protocol for Edge Functions, with an optional address in the host:port format')
221
- .conflicts('edgeInspectBrk')
222
- .argParser(validateShortFlagArgs))
223
- .addOption(new Option('-E, --edge-inspect-brk [address]', 'enable the V8 Inspector Protocol for Edge Functions and pause execution on the first line of code, with an optional address in the host:port format')
224
- .conflicts('edgeInspect')
225
- .argParser(validateShortFlagArgs))
226
- .addExamples([
227
- 'netlify dev',
228
- 'netlify dev -d public',
229
- 'netlify dev -c "hugo server -w" --target-port 1313',
230
- 'netlify dev --context production',
231
- 'netlify dev --edge-inspect',
232
- 'netlify dev --edge-inspect=127.0.0.1:9229',
233
- 'netlify dev --edge-inspect-brk',
234
- 'netlify dev --edge-inspect-brk=127.0.0.1:9229',
235
- 'BROWSER=none netlify dev # disable browser auto opening',
236
- ])
237
- .action(dev);
238
- };
239
177
  //# sourceMappingURL=dev.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/commands/dev/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/commands/dev/dev.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export { createDevCommand } from './dev.js';
1
+ import type BaseCommand from '../base-command.js';
2
+ export declare const createDevCommand: (program: BaseCommand) => BaseCommand;
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAkBjD,eAAO,MAAM,gBAAgB,YAAa,WAAW,gBAsFpD,CAAA"}
@@ -1,2 +1,66 @@
1
- export { createDevCommand } from './dev.js';
1
+ import { Option } from 'commander';
2
+ import { BANG, chalk } from '../../utils/command-helpers.js';
3
+ import { normalizeContext } from '../../utils/env/index.js';
4
+ import { getGeoCountryArgParser } from '../../utils/validation.js';
5
+ const validateShortFlagArgs = (args) => {
6
+ if (args.startsWith('=')) {
7
+ throw new Error(`Short flag options like -e or -E don't support the '=' sign
8
+ ${chalk.red(BANG)} Supported formats:
9
+ netlify dev -e
10
+ netlify dev -e 127.0.0.1:9229
11
+ netlify dev -e127.0.0.1:9229
12
+ netlify dev -E
13
+ netlify dev -E 127.0.0.1:9229
14
+ netlify dev -E127.0.0.1:9229`);
15
+ }
16
+ return args;
17
+ };
18
+ export const createDevCommand = (program) => {
19
+ return program
20
+ .command('dev')
21
+ .alias('develop')
22
+ .description(`Local dev server\nThe dev command will run a local dev server with Netlify's proxy and redirect rules`)
23
+ .option('-c ,--command <command>', 'command to run')
24
+ .option('--context <context>', 'Specify a deploy context or branch for environment variables (contexts: "production", "deploy-preview", "branch-deploy", "dev")', normalizeContext)
25
+ .option('-p ,--port <port>', 'port of netlify dev', (value) => Number.parseInt(value))
26
+ .addOption(new Option('--skip-wait-port', 'disables waiting for target port to become available').hideHelp(true))
27
+ .addOption(new Option('--no-open', 'disables the automatic opening of a browser window'))
28
+ .option('--target-port <port>', 'port of target app server', (value) => Number.parseInt(value))
29
+ .option('--framework <name>', 'framework to use. Defaults to #auto which automatically detects a framework')
30
+ .option('-d ,--dir <path>', 'dir with static files')
31
+ .option('-f ,--functions <folder>', 'specify a functions folder to serve')
32
+ .option('-o, --offline', 'Disables any features that require network access')
33
+ .addOption(new Option('--offline-env', 'disables fetching environment variables from the Netlify API').hideHelp(true))
34
+ .addOption(new Option('--internal-disable-edge-functions', "disables edge functions. use this if your environment doesn't support Deno. This option is internal and should not be used by end users.").hideHelp(true))
35
+ .option('-l, --live [subdomain]', 'start a public live session; optionally, supply a subdomain to generate a custom URL', false)
36
+ .option('--functions-port <port>', 'port of functions server', (value) => Number.parseInt(value))
37
+ .addOption(new Option('--geo <mode>', 'force geolocation data to be updated, use cached data from the last 24h if found, or use a mock location')
38
+ .choices(['cache', 'mock', 'update'])
39
+ .default('cache'))
40
+ .addOption(new Option('--country <geoCountry>', 'Two-letter country code (https://ntl.fyi/country-codes) to use as mock geolocation (enables --geo=mock automatically)').argParser(getGeoCountryArgParser('netlify dev --geo=mock --country=FR')))
41
+ .addOption(new Option('--staticServerPort <port>', 'port of the static app server used when no framework is detected')
42
+ .argParser((value) => Number.parseInt(value))
43
+ .hideHelp())
44
+ .addOption(new Option('-e, --edge-inspect [address]', 'enable the V8 Inspector Protocol for Edge Functions, with an optional address in the host:port format')
45
+ .conflicts('edgeInspectBrk')
46
+ .argParser(validateShortFlagArgs))
47
+ .addOption(new Option('-E, --edge-inspect-brk [address]', 'enable the V8 Inspector Protocol for Edge Functions and pause execution on the first line of code, with an optional address in the host:port format')
48
+ .conflicts('edgeInspect')
49
+ .argParser(validateShortFlagArgs))
50
+ .addExamples([
51
+ 'netlify dev',
52
+ 'netlify dev -d public',
53
+ 'netlify dev -c "hugo server -w" --target-port 1313',
54
+ 'netlify dev --context production',
55
+ 'netlify dev --edge-inspect',
56
+ 'netlify dev --edge-inspect=127.0.0.1:9229',
57
+ 'netlify dev --edge-inspect-brk',
58
+ 'netlify dev --edge-inspect-brk=127.0.0.1:9229',
59
+ 'BROWSER=none netlify dev # disable browser auto opening',
60
+ ])
61
+ .action(async (options, command) => {
62
+ const { dev } = await import('./dev.js');
63
+ await dev(options, command);
64
+ });
65
+ };
2
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,WAAW,CAAA;AAErD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAGlE,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb;GACH,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;;;;;;mCAMiB,CAC9B,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAoB,EAAE,EAAE;IACvD,OAAO,OAAO;SACX,OAAO,CAAC,KAAK,CAAC;SACd,KAAK,CAAC,SAAS,CAAC;SAChB,WAAW,CACV,uGAAuG,CACxG;SACA,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;SACnD,MAAM,CACL,qBAAqB,EACrB,iIAAiI,EACjI,gBAAgB,CACjB;SACA,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACrF,SAAS,CAAC,IAAI,MAAM,CAAC,kBAAkB,EAAE,sDAAsD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChH,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC,CAAC;SACxF,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC9F,MAAM,CAAC,oBAAoB,EAAE,6EAA6E,CAAC;SAC3G,MAAM,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;SACnD,MAAM,CAAC,0BAA0B,EAAE,qCAAqC,CAAC;SACzE,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,SAAS,CACR,IAAI,MAAM,CAAC,eAAe,EAAE,8DAA8D,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC3G;SACA,SAAS,CACR,IAAI,MAAM,CACR,mCAAmC,EACnC,0IAA0I,CAC3I,CAAC,QAAQ,CAAC,IAAI,CAAC,CACjB;SACA,MAAM,CACL,wBAAwB,EACxB,sFAAsF,EACtF,KAAK,CACN;SACA,MAAM,CAAC,yBAAyB,EAAE,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChG,SAAS,CACR,IAAI,MAAM,CACR,cAAc,EACd,0GAA0G,CAC3G;SACE,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;SACpC,OAAO,CAAC,OAAO,CAAC,CACpB;SACA,SAAS,CACR,IAAI,MAAM,CACR,wBAAwB,EACxB,uHAAuH,CACxH,CAAC,SAAS,CAAC,sBAAsB,CAAC,qCAAqC,CAAC,CAAC,CAC3E;SACA,SAAS,CACR,IAAI,MAAM,CAAC,2BAA2B,EAAE,kEAAkE,CAAC;SACxG,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC5C,QAAQ,EAAE,CACd;SACA,SAAS,CACR,IAAI,MAAM,CACR,8BAA8B,EAC9B,uGAAuG,CACxG;SACE,SAAS,CAAC,gBAAgB,CAAC;SAC3B,SAAS,CAAC,qBAAqB,CAAC,CACpC;SACA,SAAS,CACR,IAAI,MAAM,CACR,kCAAkC,EAClC,qJAAqJ,CACtJ;SACE,SAAS,CAAC,aAAa,CAAC;SACxB,SAAS,CAAC,qBAAqB,CAAC,CACpC;SACA,WAAW,CAAC;QACX,aAAa;QACb,uBAAuB;QACvB,oDAAoD;QACpD,kCAAkC;QAClC,4BAA4B;QAC5B,2CAA2C;QAC3C,gCAAgC;QAChC,+CAA+C;QAC/C,yDAAyD;KAC1D,CAAC;SACD,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,OAAoB,EAAE,EAAE;QAC5D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;QACxC,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { OptionValues } from 'commander';
2
2
  import BaseCommand from '../base-command.js';
3
3
  export declare const devExec: (cmd: string, options: OptionValues, command: BaseCommand) => Promise<void>;
4
- export declare const createDevExecCommand: (program: BaseCommand) => BaseCommand;
5
4
  //# sourceMappingURL=dev-exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-exec.d.ts","sourceRoot":"","sources":["../../../src/commands/dev-exec/dev-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAKxC,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAE5C,eAAO,MAAM,OAAO,QAAe,MAAM,WAAW,YAAY,WAAW,WAAW,kBAarF,CAAA"}