@wix/cli-app 1.1.159 → 1.1.161
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/build/{AddPermissionCommand-6YCO7XZS.js → AddPermissionCommand-6PDJXFTB.js} +2 -2
- package/build/{DevCommand-2DTYZRNT.js → DevCommand-K7N4T5XR.js} +10 -10
- package/build/{GenerateCommand-WP2JJP2I.js → GenerateCommand-WYUXRR46.js} +7 -7
- package/build/{LogsCommand-LVBP6GRC.js → LogsCommand-P7636AQH.js} +3 -3
- package/build/PreviewCommand-46MHZBZ2.js +19 -0
- package/build/ReleaseCommand-64CZB3PT.js +23 -0
- package/build/{ServeCommand-ZDIUGN7C.js → ServeCommand-STRKVTRJ.js} +3 -3
- package/build/{build-R2FRGGZN.js → build-V7BSNJQS.js} +6 -6
- package/build/{chunk-D5U47UVS.js → chunk-4CZNQLMI.js} +3 -3
- package/build/{chunk-NP4A5YC5.js → chunk-DWY3L3SE.js} +2 -2
- package/build/{chunk-E4YGBRAF.js → chunk-ENLCWKEY.js} +2 -2
- package/build/{chunk-D6KHRSVT.js → chunk-HIGMWRKA.js} +7 -7
- package/build/{chunk-NYMN5QX3.js → chunk-J5HW72BB.js} +2 -2
- package/build/{chunk-4BAGIC6U.js → chunk-NOFXAC2V.js} +2 -2
- package/build/{chunk-F4GYD2F4.js → chunk-QEZHRZA3.js} +6 -6
- package/build/{chunk-5URIFLHD.js → chunk-QFQ6DZJK.js} +2 -2
- package/build/{chunk-OSVOU52B.js → chunk-QTYOUUB2.js} +3 -3
- package/build/{chunk-RYPEAWDM.js → chunk-RXKHAGNM.js} +2 -2
- package/build/{chunk-5KJ35HVT.js → chunk-S23YJKDL.js} +19 -3
- package/build/{chunk-5KJ35HVT.js.map → chunk-S23YJKDL.js.map} +1 -1
- package/build/{chunk-DMKD7TJO.js → chunk-TRZBFBPU.js} +2 -2
- package/build/{chunk-MNPZFRG5.js → chunk-VR32XCR3.js} +2 -2
- package/build/{chunk-Z5VDMRDW.js → chunk-VXVGTL7P.js} +6 -6
- package/build/{chunk-UV4UPVAW.js → chunk-WUGAIKXR.js} +4 -4
- package/build/{chunk-EEQSODFY.js → chunk-XOCZHMX5.js} +2 -2
- package/build/{chunk-EEQSODFY.js.map → chunk-XOCZHMX5.js.map} +1 -1
- package/build/{chunk-6SLIZJN6.js → chunk-ZHMVFSD3.js} +4 -4
- package/build/index.js +23 -23
- package/build/{preview-ZX3JZGRP.js → preview-E74TCNAK.js} +12 -12
- package/build/{release-S3XBCEHH.js → release-M3TJ5BDU.js} +14 -14
- package/build/{render-command-G2FTP2RR.js → render-command-F4XUYK7G.js} +5 -5
- package/package.json +2 -2
- package/build/PreviewCommand-GROC7JLD.js +0 -19
- package/build/ReleaseCommand-WDHPIXNE.js +0 -23
- /package/build/{AddPermissionCommand-6YCO7XZS.js.map → AddPermissionCommand-6PDJXFTB.js.map} +0 -0
- /package/build/{DevCommand-2DTYZRNT.js.map → DevCommand-K7N4T5XR.js.map} +0 -0
- /package/build/{GenerateCommand-WP2JJP2I.js.map → GenerateCommand-WYUXRR46.js.map} +0 -0
- /package/build/{LogsCommand-LVBP6GRC.js.map → LogsCommand-P7636AQH.js.map} +0 -0
- /package/build/{PreviewCommand-GROC7JLD.js.map → PreviewCommand-46MHZBZ2.js.map} +0 -0
- /package/build/{ReleaseCommand-WDHPIXNE.js.map → ReleaseCommand-64CZB3PT.js.map} +0 -0
- /package/build/{ServeCommand-ZDIUGN7C.js.map → ServeCommand-STRKVTRJ.js.map} +0 -0
- /package/build/{build-R2FRGGZN.js.map → build-V7BSNJQS.js.map} +0 -0
- /package/build/{chunk-D5U47UVS.js.map → chunk-4CZNQLMI.js.map} +0 -0
- /package/build/{chunk-NP4A5YC5.js.map → chunk-DWY3L3SE.js.map} +0 -0
- /package/build/{chunk-E4YGBRAF.js.map → chunk-ENLCWKEY.js.map} +0 -0
- /package/build/{chunk-D6KHRSVT.js.map → chunk-HIGMWRKA.js.map} +0 -0
- /package/build/{chunk-NYMN5QX3.js.map → chunk-J5HW72BB.js.map} +0 -0
- /package/build/{chunk-4BAGIC6U.js.map → chunk-NOFXAC2V.js.map} +0 -0
- /package/build/{chunk-F4GYD2F4.js.map → chunk-QEZHRZA3.js.map} +0 -0
- /package/build/{chunk-5URIFLHD.js.map → chunk-QFQ6DZJK.js.map} +0 -0
- /package/build/{chunk-OSVOU52B.js.map → chunk-QTYOUUB2.js.map} +0 -0
- /package/build/{chunk-RYPEAWDM.js.map → chunk-RXKHAGNM.js.map} +0 -0
- /package/build/{chunk-DMKD7TJO.js.map → chunk-TRZBFBPU.js.map} +0 -0
- /package/build/{chunk-MNPZFRG5.js.map → chunk-VR32XCR3.js.map} +0 -0
- /package/build/{chunk-Z5VDMRDW.js.map → chunk-VXVGTL7P.js.map} +0 -0
- /package/build/{chunk-UV4UPVAW.js.map → chunk-WUGAIKXR.js.map} +0 -0
- /package/build/{chunk-6SLIZJN6.js.map → chunk-ZHMVFSD3.js.map} +0 -0
- /package/build/{preview-ZX3JZGRP.js.map → preview-E74TCNAK.js.map} +0 -0
- /package/build/{release-S3XBCEHH.js.map → release-M3TJ5BDU.js.map} +0 -0
- /package/build/{render-command-G2FTP2RR.js.map → render-command-F4XUYK7G.js.map} +0 -0
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
require_lib,
|
|
11
11
|
require_react,
|
|
12
12
|
useTranslation
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-S23YJKDL.js";
|
|
14
14
|
import {
|
|
15
15
|
__toESM,
|
|
16
16
|
init_esm_shims
|
|
@@ -179,4 +179,4 @@ export {
|
|
|
179
179
|
docsExtensionTypeSchema,
|
|
180
180
|
getGenerateFlowByDocsExtensionType
|
|
181
181
|
};
|
|
182
|
-
//# sourceMappingURL=chunk-
|
|
182
|
+
//# sourceMappingURL=chunk-TRZBFBPU.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
toURLSearchParams,
|
|
16
16
|
useHttpClient,
|
|
17
17
|
usePanoramaMethodLogger
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-S23YJKDL.js";
|
|
19
19
|
import {
|
|
20
20
|
__commonJS,
|
|
21
21
|
__toESM,
|
|
@@ -4806,4 +4806,4 @@ export {
|
|
|
4806
4806
|
getBackendEventSlug,
|
|
4807
4807
|
useExtensionDataClient
|
|
4808
4808
|
};
|
|
4809
|
-
//# sourceMappingURL=chunk-
|
|
4809
|
+
//# sourceMappingURL=chunk-VR32XCR3.js.map
|
|
@@ -2,7 +2,7 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
readAppManifestFile
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-QTYOUUB2.js";
|
|
6
6
|
import {
|
|
7
7
|
ArmTagProvider,
|
|
8
8
|
ExtensionDataProvider,
|
|
@@ -16,16 +16,16 @@ import {
|
|
|
16
16
|
useResolvePlatformUrl,
|
|
17
17
|
useSite,
|
|
18
18
|
useSiteOverrideClient
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-HIGMWRKA.js";
|
|
20
20
|
import {
|
|
21
21
|
useBackendComponents
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-ENLCWKEY.js";
|
|
23
23
|
import {
|
|
24
24
|
getMonitoringProvider,
|
|
25
25
|
updateAppManifestComponents,
|
|
26
26
|
updateMonitoring,
|
|
27
27
|
updateTopology
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-4CZNQLMI.js";
|
|
29
29
|
import {
|
|
30
30
|
Alert,
|
|
31
31
|
Box_default,
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
useHttpClient,
|
|
55
55
|
useProjectModel,
|
|
56
56
|
useTranslation
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-S23YJKDL.js";
|
|
58
58
|
import {
|
|
59
59
|
__toESM,
|
|
60
60
|
init_esm_shims
|
|
@@ -282,4 +282,4 @@ export {
|
|
|
282
282
|
assertBuildOutputExists,
|
|
283
283
|
PreviewCommand
|
|
284
284
|
};
|
|
285
|
-
//# sourceMappingURL=chunk-
|
|
285
|
+
//# sourceMappingURL=chunk-VXVGTL7P.js.map
|
|
@@ -3,13 +3,13 @@ const require = _createRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
addUserFields,
|
|
5
5
|
reportCommandStartEvent
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QFQ6DZJK.js";
|
|
7
7
|
import {
|
|
8
8
|
messages_default
|
|
9
9
|
} from "./chunk-VJQHGLIW.js";
|
|
10
10
|
import {
|
|
11
11
|
DebugLogProvider
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-J5HW72BB.js";
|
|
13
13
|
import {
|
|
14
14
|
AccountAuthProvider,
|
|
15
15
|
BiProvider,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
package_default,
|
|
27
27
|
render,
|
|
28
28
|
require_react
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-S23YJKDL.js";
|
|
30
30
|
import {
|
|
31
31
|
__toESM,
|
|
32
32
|
init_esm_shims
|
|
@@ -125,4 +125,4 @@ export {
|
|
|
125
125
|
renderCommand,
|
|
126
126
|
runCommand
|
|
127
127
|
};
|
|
128
|
-
//# sourceMappingURL=chunk-
|
|
128
|
+
//# sourceMappingURL=chunk-WUGAIKXR.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
readJson,
|
|
12
12
|
require_lib,
|
|
13
13
|
writeJson
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-S23YJKDL.js";
|
|
15
15
|
import {
|
|
16
16
|
__toESM,
|
|
17
17
|
init_esm_shims
|
|
@@ -351,4 +351,4 @@ export {
|
|
|
351
351
|
getRepoType,
|
|
352
352
|
createPackageManager
|
|
353
353
|
};
|
|
354
|
-
//# sourceMappingURL=chunk-
|
|
354
|
+
//# sourceMappingURL=chunk-XOCZHMX5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../package-manager/src/repo-type.ts","../../package-manager/src/git-service.ts","../../package-manager/src/shell/index.ts","../../package-manager/src/shell/shell-client.ts","../../package-manager/src/package-manager.ts","../../package-manager/src/adapters/npm.ts","../../package-manager/src/adapters/yarn.ts","../../package-manager/src/index.ts"],"sourcesContent":["import { readJson } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { variant, fields } from 'variant';\nimport type { VariantOf } from 'variant';\nimport type { PackageJson } from 'type-fest';\nimport { getGitRoot, isInsideGitRepo } from './git-service.js';\n\nexport const RepoType = variant({\n None: {},\n Polyrepo: fields<{ rootDir: string }>(),\n Monorepo: fields<{ rootDir: string }>(),\n});\n\nexport type RepoType = VariantOf<typeof RepoType>;\n\nexport async function getRepoType(\n targetParentFolder: string\n): Promise<RepoType> {\n if (!(await isInsideGitRepo(targetParentFolder))) {\n return RepoType.None();\n }\n\n const rootDir = await getGitRoot(targetParentFolder);\n\n if (await isUsingWorkspaces(rootDir)) {\n return RepoType.Monorepo({\n rootDir,\n });\n }\n\n return RepoType.Polyrepo({\n rootDir,\n });\n}\n\nasync function isUsingWorkspaces(rootDir: string) {\n return readJson(join(rootDir, 'package.json'))\n .then((pkgJson) => Boolean((pkgJson as PackageJson).workspaces))\n .catch(() => false);\n}\n","import { runCommand } from './shell/index.js';\n\nexport function isInsideGitRepo(cwd: string) {\n return runCommand('git rev-parse --is-inside-work-tree', { cwd })\n .then(() => true)\n .catch(() => false);\n}\n\nexport async function getGitRoot(cwd: string) {\n return runCommand('git rev-parse --show-toplevel', { cwd });\n}\n\nexport async function getGitLatestCommitHash(cwd: string) {\n try {\n return await runCommand('git rev-parse --verify HEAD', { cwd });\n } catch {\n // This command can fail if there are no commits, so we can just return undefined\n }\n}\n\nexport async function gitInit(cwd: string, branch = 'main') {\n await runCommand(`git init -b ${branch.trim()}`, { cwd });\n}\n\nexport async function gitCommit(cwd: string) {\n await runCommand('git add -A', { cwd });\n await runCommand(\n `git commit -m Initial\\\\ commit\\\\ from\\\\ Create\\\\ Wix\\\\ App --no-verify`,\n { cwd }\n );\n}\n\nexport async function gitClone(url: string, path: string, branch?: string) {\n await runCommand(\n `git clone --depth 1 ${branch ? `-b ${branch}` : ''} ${url} ${path}`,\n {\n env: {\n /*\n * This is to prevent git from prompting for credentials.\n * `git clone` uses a subprocess for the authentication, so we can't attach the main process to its stdio.\n * This leads to:\n * - the spinners \"swallow\" its output.\n * - after answering with the username and pressing \"Enter\", the first line of the output is being duplicated.\n * That's why we're disabling the prompt, so user should be pre-authenticated.\n */\n GIT_TERMINAL_PROMPT: '0',\n },\n }\n );\n}\n\nexport async function gitGetCurrentBranch(cwd: string) {\n return runCommand('git rev-parse --abbrev-ref HEAD', { cwd });\n}\n\nasync function gitHasRemote(cwd: string, remoteName: string) {\n try {\n await runCommand(`git remote get-url ${remoteName}`, { cwd });\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function gitSetRemoteUrl(\n cwd: string,\n remoteName = 'origin',\n remoteUrl: string\n) {\n const hasRemote = await gitHasRemote(cwd, remoteName);\n if (hasRemote) {\n await runCommand(`git remote set-url ${remoteName} ${remoteUrl}`, { cwd });\n } else {\n await runCommand(`git remote add ${remoteName} ${remoteUrl}`, { cwd });\n }\n}\n\nexport async function gitPush(\n cwd: string,\n remoteName = 'origin',\n options: { force?: boolean } = {}\n) {\n const branch = await gitGetCurrentBranch(cwd);\n const forceFlag = options.force ? '--force' : '';\n await runCommand(`git push -u ${forceFlag} ${remoteName} ${branch}`, {\n cwd,\n env: {\n // Prevent git from prompting for credentials\n GIT_TERMINAL_PROMPT: '0',\n },\n });\n}\n\nexport async function gitGetUserInfo(cwd: string) {\n const [name, email] = await Promise.all([\n runCommand('git config user.name', { cwd }),\n runCommand('git config user.email', { cwd }),\n ]);\n\n return { name, email };\n}\n","export { runCommand } from './shell-client.js';\n","import { execaCommand } from 'execa';\nimport type { Options } from './types.js';\n\nexport async function runCommand(command: string, opts?: Options) {\n const commandProcess = execaCommand(command, {\n /**\n * DO NOT USE `shell: true`!\n * It's a security risk that leads to injections and should be avoided.\n * ref: https://github.com/sindresorhus/execa/tree/main#shell\n */\n shell: false,\n cwd: opts?.cwd,\n env: opts?.env,\n });\n\n if (opts?.output) {\n commandProcess.stdout?.pipe(opts.output);\n }\n\n const { stdout } = await commandProcess;\n\n return stdout;\n}\n","import { env } from 'node:process';\nimport { pathExists } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { matcher } from 'variant';\nimport { NPM } from './adapters/npm.js';\nimport { Yarn, resolveYarnVersion } from './adapters/yarn.js';\nimport type { IPackageManager, PackageManagerName } from './types.js';\nimport { RepoType } from './repo-type.js';\n\nexport async function createPackageManager(\n repoType: RepoType\n): Promise<IPackageManager> {\n const packageManagerName = await getPackageManagerName(repoType);\n\n switch (packageManagerName) {\n case 'yarn-berry':\n return new Yarn(repoType, 'yarn-berry');\n case 'yarn':\n return new Yarn(repoType, 'yarn');\n case 'npm':\n return new NPM(repoType);\n }\n}\n\nasync function getPackageManagerName(\n repoType: RepoType\n): Promise<PackageManagerName> {\n // In case of an existing repo we first check for relevant package manager files.\n // this is an extra layer of identification that should prevent errors when the\n // user runs create-app using a package manager other than the one used in the project\n\n const getByEnv = (): PackageManagerName => {\n if (env.npm_config_user_agent?.startsWith('yarn/1')) {\n return 'yarn';\n }\n\n // yarn v2+\n if (env.npm_config_user_agent?.startsWith('yarn')) {\n return 'yarn-berry';\n }\n\n if (env.npm_config_user_agent?.startsWith('npm')) {\n return 'npm';\n }\n\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManager({\n packageManagerName: env.npm_config_user_agent,\n }),\n cause: null,\n });\n };\n\n return matcher(repoType)\n .when(RepoType.None, getByEnv)\n .when(\n [RepoType.Polyrepo, RepoType.Monorepo],\n async ({ rootDir }): Promise<PackageManagerName> => {\n const [hasYarnRc, hasYarnLock, hasPackageLock] = await Promise.all([\n pathExists(join(rootDir, '.yarnrc.yml')),\n pathExists(join(rootDir, 'yarn.lock')),\n pathExists(join(rootDir, 'package-lock.json')),\n ]);\n\n if (hasYarnRc || hasYarnLock) {\n const yarnVersion = await resolveYarnVersion(rootDir);\n return yarnVersion.startsWith('1') ? 'yarn' : 'yarn-berry';\n }\n\n if (hasPackageLock) {\n return 'npm';\n }\n\n return getByEnv();\n }\n )\n .complete();\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { isType } from 'variant';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport { RepoType } from '../repo-type.js';\n\nexport class NPM implements IPackageManager {\n readonly name = 'npm';\n\n constructor(private readonly repoType: RepoType) {}\n\n getUsage(name: string): string {\n return `npm init ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'npm install';\n }\n\n getRunCmd(): string {\n return 'npm run';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'npx',\n args: ['--no-install'].concat(args),\n };\n }\n\n async setup(_cwd: string): Promise<void> {\n if (isType(this.repoType, RepoType.Monorepo)) {\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManagerWorkspaces({\n packageManagerName: this.name,\n }),\n cause: null,\n });\n }\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm install ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm uninstall ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { readJson, writeJson } from '@wix/cli-fs';\nimport { join, relative } from 'node:path';\nimport { matcher } from 'variant';\nimport { EOL } from 'node:os';\nimport { z } from 'zod';\nimport { writeFile } from 'node:fs/promises';\nimport type { PackageJson } from 'type-fest';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport type { RepoType } from '../repo-type.js';\n\ntype YarnVersion = 'yarn' | 'yarn-berry';\n\nexport async function resolveYarnVersion(cwd: string) {\n const stdout = await runCommand('yarn --version', { cwd });\n return stdout.trim();\n}\n\nexport class Yarn implements IPackageManager {\n constructor(\n private readonly repoType: RepoType,\n readonly name: YarnVersion\n ) {}\n\n getUsage(name: string): string {\n return `yarn create ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'yarn install';\n }\n\n getRunCmd(): string {\n return 'yarn';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'yarn',\n args: ['run'].concat(args),\n };\n }\n\n async setup(packageFolder: string): Promise<void> {\n return matcher(this.repoType)\n .when(['None', 'Polyrepo'], async () => {\n if (this.name === 'yarn-berry') {\n // if yarn berry encounters a package.json in a parent folder, it\n // complains that our project needs to be part of that parent project.\n // An official way to tell yarn that this is a standalone project is\n // to create an empty lockfile.\n // A similar thing was done in create-astro: https://github.com/withastro/astro/pull/8028\n await writeFile(join(packageFolder, 'yarn.lock'), '');\n }\n })\n .when('Monorepo', async ({ rootDir }) => {\n try {\n await addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion: this.name,\n });\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedAddingPackageToWorkspace(),\n cause: error,\n });\n }\n })\n .complete();\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn add ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn remove ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n\nasync function getPackagesRelativePaths(\n rootDir: string,\n yarnVersion: YarnVersion\n): Promise<string[]> {\n const workspacesSchema = z.array(\n z.object({\n location: z.string(),\n })\n );\n\n if (yarnVersion === 'yarn-berry') {\n const packages = await runCommand('yarn workspaces list --json', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n packages\n .split(EOL)\n .filter(Boolean)\n .map((pkg) => JSON.parse(pkg))\n );\n\n return parsedPackages.map((pkg) => pkg.location);\n }\n\n const packages = await runCommand('yarn --json workspaces info', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n Object.values(JSON.parse(JSON.parse(packages).data))\n );\n return parsedPackages.map((pkg) => pkg.location);\n}\n\nasync function addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion,\n}: {\n rootDir: string;\n packageFolder: string;\n yarnVersion: YarnVersion;\n}) {\n const relativePackagePath = relative(rootDir, packageFolder);\n const packages = await getPackagesRelativePaths(rootDir, yarnVersion);\n\n if (packages.includes(relativePackagePath)) {\n return;\n }\n\n const packageJson = (await readJson(\n join(rootDir, 'package.json')\n )) as PackageJson;\n\n if (Array.isArray(packageJson.workspaces)) {\n packageJson.workspaces.push(relativePackagePath);\n } else if (typeof packageJson.workspaces === 'object') {\n packageJson.workspaces = {\n ...packageJson.workspaces,\n packages: [\n ...(packageJson.workspaces.packages ?? []),\n relativePackagePath,\n ],\n };\n } else {\n throw new Error(\n `Failed to read workspaces structure. Expected an array or object but got ${JSON.stringify(\n packageJson.workspaces\n )}`\n );\n }\n\n await writeJson(join(rootDir, 'package.json'), packageJson, { spaces: 2 });\n}\n","export { createPackageManager } from './package-manager.js';\nexport { NPM } from './adapters/npm.js';\nexport { Yarn } from './adapters/yarn.js';\nexport type { IPackageManager } from './types.js';\nexport { getRepoType, RepoType } from './repo-type.js';\nexport {\n gitClone,\n gitCommit,\n gitInit,\n gitSetRemoteUrl,\n gitPush,\n gitGetCurrentBranch,\n getGitLatestCommitHash,\n isInsideGitRepo,\n gitGetUserInfo,\n} from './git-service.js';\n"],"mappings":"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","names":["join","import_variant","import_variant","import_variant","join","join","packages","parsedPackages","join"]}
|
|
1
|
+
{"version":3,"sources":["../../package-manager/src/repo-type.ts","../../package-manager/src/git-service.ts","../../package-manager/src/shell/index.ts","../../package-manager/src/shell/shell-client.ts","../../package-manager/src/package-manager.ts","../../package-manager/src/adapters/npm.ts","../../package-manager/src/adapters/yarn.ts","../../package-manager/src/index.ts"],"sourcesContent":["import { readJson } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { variant, fields } from 'variant';\nimport type { VariantOf } from 'variant';\nimport type { PackageJson } from 'type-fest';\nimport { getGitRoot, isInsideGitRepo } from './git-service.js';\n\nexport const RepoType = variant({\n None: {},\n Polyrepo: fields<{ rootDir: string }>(),\n Monorepo: fields<{ rootDir: string }>(),\n});\n\nexport type RepoType = VariantOf<typeof RepoType>;\n\nexport async function getRepoType(\n targetParentFolder: string\n): Promise<RepoType> {\n if (!(await isInsideGitRepo(targetParentFolder))) {\n return RepoType.None();\n }\n\n const rootDir = await getGitRoot(targetParentFolder);\n\n if (await isUsingWorkspaces(rootDir)) {\n return RepoType.Monorepo({\n rootDir,\n });\n }\n\n return RepoType.Polyrepo({\n rootDir,\n });\n}\n\nasync function isUsingWorkspaces(rootDir: string) {\n return readJson(join(rootDir, 'package.json'))\n .then((pkgJson) => Boolean((pkgJson as PackageJson).workspaces))\n .catch(() => false);\n}\n","import { runCommand } from './shell/index.js';\n\nexport function isInsideGitRepo(cwd: string) {\n return runCommand('git rev-parse --is-inside-work-tree', { cwd })\n .then(() => true)\n .catch(() => false);\n}\n\nexport async function getGitRoot(cwd: string) {\n return runCommand('git rev-parse --show-toplevel', { cwd });\n}\n\nexport async function getGitLatestCommitHash(cwd: string) {\n try {\n return await runCommand('git rev-parse --verify HEAD', { cwd });\n } catch {\n // This command can fail if there are no commits, so we can just return undefined\n }\n}\n\nexport async function gitInit(cwd: string, branch = 'main') {\n await runCommand(`git init -b ${branch.trim()}`, { cwd });\n}\n\nexport async function gitCommit(cwd: string) {\n await runCommand('git add -A', { cwd });\n await runCommand(\n `git commit -m Initial\\\\ commit\\\\ from\\\\ Create\\\\ Wix\\\\ App --no-verify`,\n { cwd }\n );\n}\n\nexport async function gitClone(url: string, path: string, branch?: string) {\n await runCommand(\n `git clone --depth 1 ${branch ? `-b ${branch}` : ''} ${url} ${path}`,\n {\n env: {\n /*\n * This is to prevent git from prompting for credentials.\n * `git clone` uses a subprocess for the authentication, so we can't attach the main process to its stdio.\n * This leads to:\n * - the spinners \"swallow\" its output.\n * - after answering with the username and pressing \"Enter\", the first line of the output is being duplicated.\n * That's why we're disabling the prompt, so user should be pre-authenticated.\n */\n GIT_TERMINAL_PROMPT: '0',\n },\n }\n );\n}\n\nexport async function gitGetCurrentBranch(cwd: string) {\n return runCommand('git rev-parse --abbrev-ref HEAD', { cwd });\n}\n\nasync function gitHasRemote(cwd: string, remoteName: string) {\n try {\n await runCommand(`git remote get-url ${remoteName}`, { cwd });\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function gitSetRemoteUrl(\n cwd: string,\n remoteName = 'origin',\n remoteUrl: string\n) {\n const hasRemote = await gitHasRemote(cwd, remoteName);\n if (hasRemote) {\n await runCommand(`git remote set-url ${remoteName} ${remoteUrl}`, { cwd });\n } else {\n await runCommand(`git remote add ${remoteName} ${remoteUrl}`, { cwd });\n }\n}\n\nexport async function gitPush(\n cwd: string,\n remoteName = 'origin',\n options: { force?: boolean } = {}\n) {\n const branch = await gitGetCurrentBranch(cwd);\n const forceFlag = options.force ? '--force' : '';\n await runCommand(`git push -u ${forceFlag} ${remoteName} ${branch}`, {\n cwd,\n env: {\n // Prevent git from prompting for credentials\n GIT_TERMINAL_PROMPT: '0',\n },\n });\n}\n\nexport async function gitGetUserInfo(cwd: string) {\n const [name, email] = await Promise.all([\n runCommand('git config user.name', { cwd }),\n runCommand('git config user.email', { cwd }),\n ]);\n\n return { name, email };\n}\n","export { runCommand } from './shell-client.js';\n","import { execaCommand } from 'execa';\nimport type { Options } from './types.js';\n\nexport async function runCommand(command: string, opts?: Options) {\n const commandProcess = execaCommand(command, {\n /**\n * DO NOT USE `shell: true`!\n * It's a security risk that leads to injections and should be avoided.\n * ref: https://github.com/sindresorhus/execa/tree/main#shell\n */\n shell: false,\n cwd: opts?.cwd,\n env: opts?.env,\n });\n\n if (opts?.output) {\n commandProcess.stdout?.pipe(opts.output);\n }\n\n const { stdout } = await commandProcess;\n\n return stdout;\n}\n","import { env } from 'node:process';\nimport { pathExists } from '@wix/cli-fs';\nimport { join } from 'node:path';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\nimport { matcher } from 'variant';\nimport { NPM } from './adapters/npm.js';\nimport { Yarn, resolveYarnVersion } from './adapters/yarn.js';\nimport type { IPackageManager, PackageManagerName } from './types.js';\nimport { RepoType } from './repo-type.js';\n\nexport async function createPackageManager(\n repoType: RepoType\n): Promise<IPackageManager> {\n const packageManagerName = await getPackageManagerName(repoType);\n\n switch (packageManagerName) {\n case 'yarn-berry':\n return new Yarn(repoType, 'yarn-berry');\n case 'yarn':\n return new Yarn(repoType, 'yarn');\n case 'npm':\n return new NPM(repoType);\n }\n}\n\nasync function getPackageManagerName(\n repoType: RepoType\n): Promise<PackageManagerName> {\n // In case of an existing repo we first check for relevant package manager files.\n // this is an extra layer of identification that should prevent errors when the\n // user runs create-app using a package manager other than the one used in the project\n\n const getByEnv = (): PackageManagerName => {\n if (env.npm_config_user_agent?.startsWith('yarn/1')) {\n return 'yarn';\n }\n\n // yarn v2+\n if (env.npm_config_user_agent?.startsWith('yarn')) {\n return 'yarn-berry';\n }\n\n if (env.npm_config_user_agent?.startsWith('npm')) {\n return 'npm';\n }\n\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManager({\n packageManagerName: env.npm_config_user_agent,\n }),\n cause: null,\n });\n };\n\n return matcher(repoType)\n .when(RepoType.None, getByEnv)\n .when(\n [RepoType.Polyrepo, RepoType.Monorepo],\n async ({ rootDir }): Promise<PackageManagerName> => {\n const [hasYarnRc, hasYarnLock, hasPackageLock] = await Promise.all([\n pathExists(join(rootDir, '.yarnrc.yml')),\n pathExists(join(rootDir, 'yarn.lock')),\n pathExists(join(rootDir, 'package-lock.json')),\n ]);\n\n if (hasYarnRc || hasYarnLock) {\n const yarnVersion = await resolveYarnVersion(rootDir);\n return yarnVersion.startsWith('1') ? 'yarn' : 'yarn-berry';\n }\n\n if (hasPackageLock) {\n return 'npm';\n }\n\n return getByEnv();\n }\n )\n .complete();\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { isType } from 'variant';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport { RepoType } from '../repo-type.js';\n\nexport class NPM implements IPackageManager {\n readonly name = 'npm';\n\n constructor(private readonly repoType: RepoType) {}\n\n getUsage(name: string): string {\n return `npm init ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'npm install';\n }\n\n getRunCmd(): string {\n return 'npm run';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'npx',\n args: ['--no-install'].concat(args),\n };\n }\n\n async setup(_cwd: string): Promise<void> {\n if (isType(this.repoType, RepoType.Monorepo)) {\n throw new CliError({\n code: CliErrorCode.UnsupportedPackageManagerWorkspaces({\n packageManagerName: this.name,\n }),\n cause: null,\n });\n }\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm install ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`npm uninstall ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport { readJson, writeJson } from '@wix/cli-fs';\nimport { join, relative } from 'node:path';\nimport { matcher } from 'variant';\nimport { EOL } from 'node:os';\nimport { z } from 'zod';\nimport { writeFile } from 'node:fs/promises';\nimport type { PackageJson } from 'type-fest';\nimport { runCommand } from '../shell/index.js';\nimport type { IPackageManager } from '../types.js';\nimport type { RepoType } from '../repo-type.js';\n\ntype YarnVersion = 'yarn' | 'yarn-berry';\n\nexport async function resolveYarnVersion(cwd: string) {\n const stdout = await runCommand('yarn --version', { cwd });\n return stdout.trim();\n}\n\nexport class Yarn implements IPackageManager {\n constructor(\n private readonly repoType: RepoType,\n readonly name: YarnVersion\n ) {}\n\n getUsage(name: string): string {\n return `yarn create ${name.replace('create-', '')}`;\n }\n\n getInstallCmd(): string {\n return 'yarn install';\n }\n\n getRunCmd(): string {\n return 'yarn';\n }\n\n getRunBinaryCmd(args: string[]): { file: string; args: string[] } {\n return {\n file: 'yarn',\n args: ['run'].concat(args),\n };\n }\n\n async setup(packageFolder: string): Promise<void> {\n return matcher(this.repoType)\n .when(['None', 'Polyrepo'], async () => {\n if (this.name === 'yarn-berry') {\n // if yarn berry encounters a package.json in a parent folder, it\n // complains that our project needs to be part of that parent project.\n // An official way to tell yarn that this is a standalone project is\n // to create an empty lockfile.\n // A similar thing was done in create-astro: https://github.com/withastro/astro/pull/8028\n await writeFile(join(packageFolder, 'yarn.lock'), '');\n }\n })\n .when('Monorepo', async ({ rootDir }) => {\n try {\n await addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion: this.name,\n });\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedAddingPackageToWorkspace(),\n cause: error,\n });\n }\n })\n .complete();\n }\n\n async runInstall(cwd: string): Promise<void> {\n try {\n await runCommand(this.getInstallCmd(), { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackages(),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runInstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn add ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToInstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n\n async runUninstallPackage(cwd: string, packageName: string): Promise<void> {\n try {\n await runCommand(`yarn remove ${packageName}`, { cwd });\n } catch (e) {\n throw new CliError({\n code: CliErrorCode.FailedToUninstallPackage({ packageName }),\n info: { packageManager: this.name },\n cause: e,\n });\n }\n }\n}\n\nasync function getPackagesRelativePaths(\n rootDir: string,\n yarnVersion: YarnVersion\n): Promise<string[]> {\n const workspacesSchema = z.array(\n z.object({\n location: z.string(),\n })\n );\n\n if (yarnVersion === 'yarn-berry') {\n const packages = await runCommand('yarn workspaces list --json', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n packages\n .split(EOL)\n .filter(Boolean)\n .map((pkg) => JSON.parse(pkg))\n );\n\n return parsedPackages.map((pkg) => pkg.location);\n }\n\n const packages = await runCommand('yarn --json workspaces info', {\n cwd: rootDir,\n });\n\n const parsedPackages = workspacesSchema.parse(\n Object.values(JSON.parse(JSON.parse(packages).data))\n );\n return parsedPackages.map((pkg) => pkg.location);\n}\n\nasync function addPackageToWorkspaces({\n rootDir,\n packageFolder,\n yarnVersion,\n}: {\n rootDir: string;\n packageFolder: string;\n yarnVersion: YarnVersion;\n}) {\n const relativePackagePath = relative(rootDir, packageFolder);\n const packages = await getPackagesRelativePaths(rootDir, yarnVersion);\n\n if (packages.includes(relativePackagePath)) {\n return;\n }\n\n const packageJson = (await readJson(\n join(rootDir, 'package.json')\n )) as PackageJson;\n\n if (Array.isArray(packageJson.workspaces)) {\n packageJson.workspaces.push(relativePackagePath);\n } else if (typeof packageJson.workspaces === 'object') {\n packageJson.workspaces = {\n ...packageJson.workspaces,\n packages: [\n ...(packageJson.workspaces.packages ?? []),\n relativePackagePath,\n ],\n };\n } else {\n throw new Error(\n `Failed to read workspaces structure. Expected an array or object but got ${JSON.stringify(\n packageJson.workspaces\n )}`\n );\n }\n\n await writeJson(join(rootDir, 'package.json'), packageJson, { spaces: 2 });\n}\n","export { createPackageManager } from './package-manager.js';\nexport { NPM } from './adapters/npm.js';\nexport { Yarn } from './adapters/yarn.js';\nexport type { IPackageManager } from './types.js';\nexport { getRepoType, RepoType } from './repo-type.js';\nexport { runCommand } from './shell/index.js';\nexport {\n gitClone,\n gitCommit,\n gitInit,\n gitSetRemoteUrl,\n gitPush,\n gitGetCurrentBranch,\n getGitLatestCommitHash,\n isInsideGitRepo,\n gitGetUserInfo,\n} from './git-service.js';\n"],"mappings":"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","names":["join","import_variant","import_variant","import_variant","join","join","packages","parsedPackages","join"]}
|
|
@@ -2,13 +2,13 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
addUserFields
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-QFQ6DZJK.js";
|
|
6
6
|
import {
|
|
7
7
|
messages_default
|
|
8
8
|
} from "./chunk-VJQHGLIW.js";
|
|
9
9
|
import {
|
|
10
10
|
DebugLogProvider
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-J5HW72BB.js";
|
|
12
12
|
import {
|
|
13
13
|
AccountAuthProvider,
|
|
14
14
|
BiProvider,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
getDebugLogFilePath,
|
|
23
23
|
isLoggedInToAccount,
|
|
24
24
|
require_react
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-S23YJKDL.js";
|
|
26
26
|
import {
|
|
27
27
|
__toESM,
|
|
28
28
|
init_esm_shims
|
|
@@ -64,4 +64,4 @@ export {
|
|
|
64
64
|
log,
|
|
65
65
|
executeCommand
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
67
|
+
//# sourceMappingURL=chunk-ZHMVFSD3.js.map
|
package/build/index.js
CHANGED
|
@@ -3,18 +3,18 @@ const require = _createRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
createI18nT,
|
|
5
5
|
docsExtensionTypeSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-TRZBFBPU.js";
|
|
7
7
|
import {
|
|
8
8
|
runCommand
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-WUGAIKXR.js";
|
|
10
|
+
import "./chunk-QFQ6DZJK.js";
|
|
11
11
|
import "./chunk-VJQHGLIW.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-J5HW72BB.js";
|
|
13
13
|
import {
|
|
14
14
|
external_exports,
|
|
15
15
|
package_default,
|
|
16
16
|
require_react
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-S23YJKDL.js";
|
|
18
18
|
import {
|
|
19
19
|
__commonJS,
|
|
20
20
|
__require,
|
|
@@ -3377,8 +3377,8 @@ var {
|
|
|
3377
3377
|
// src/commands/build.ts
|
|
3378
3378
|
init_esm_shims();
|
|
3379
3379
|
var buildCommand = (services) => createCommand("build").action(async (_, command) => {
|
|
3380
|
-
const { runCommand: runCommand2 } = await import("./render-command-
|
|
3381
|
-
const { build } = await import("./build-
|
|
3380
|
+
const { runCommand: runCommand2 } = await import("./render-command-F4XUYK7G.js");
|
|
3381
|
+
const { build } = await import("./build-V7BSNJQS.js");
|
|
3382
3382
|
await runCommand2(command, services, build);
|
|
3383
3383
|
});
|
|
3384
3384
|
|
|
@@ -3443,8 +3443,8 @@ var devCommand = (services) => {
|
|
|
3443
3443
|
return createCommand("dev").option("-s, --https", t("dev_command_def.option.https")).option("--port <port>", t("dev_command_def.option.port"), validatePort).addOption(
|
|
3444
3444
|
new Option("--origin <url>", t("dev_command_def.option.origin")).argParser(validateBase).hideHelp()
|
|
3445
3445
|
).action(async (options, command) => {
|
|
3446
|
-
const { DevCommand } = await import("./DevCommand-
|
|
3447
|
-
const { renderCommand } = await import("./render-command-
|
|
3446
|
+
const { DevCommand } = await import("./DevCommand-K7N4T5XR.js");
|
|
3447
|
+
const { renderCommand } = await import("./render-command-F4XUYK7G.js");
|
|
3448
3448
|
const { https = false, origin, port } = options;
|
|
3449
3449
|
await renderCommand(
|
|
3450
3450
|
command,
|
|
@@ -3483,17 +3483,17 @@ var previewCommand = (services) => {
|
|
|
3483
3483
|
).hideHelp()
|
|
3484
3484
|
).action(async (options, command) => {
|
|
3485
3485
|
const { site, baseUrl, json } = options;
|
|
3486
|
-
const { renderCommand, runCommand: runCommand2 } = await import("./render-command-
|
|
3486
|
+
const { renderCommand, runCommand: runCommand2 } = await import("./render-command-F4XUYK7G.js");
|
|
3487
3487
|
if (json) {
|
|
3488
3488
|
return runCommand2(command, services, async (model) => {
|
|
3489
|
-
const { nonInteractivePreview } = await import("./preview-
|
|
3489
|
+
const { nonInteractivePreview } = await import("./preview-E74TCNAK.js");
|
|
3490
3490
|
return nonInteractivePreview(services, model, {
|
|
3491
3491
|
baseUrl,
|
|
3492
3492
|
siteId: site
|
|
3493
3493
|
});
|
|
3494
3494
|
});
|
|
3495
3495
|
}
|
|
3496
|
-
const { PreviewCommand } = await import("./PreviewCommand-
|
|
3496
|
+
const { PreviewCommand } = await import("./PreviewCommand-46MHZBZ2.js");
|
|
3497
3497
|
await renderCommand(
|
|
3498
3498
|
command,
|
|
3499
3499
|
services,
|
|
@@ -3510,8 +3510,8 @@ var addPermissionCommand = (services) => {
|
|
|
3510
3510
|
return createCommand("add-permission").description("adding a permission to the app").addOption(
|
|
3511
3511
|
new Option("-p, --permission-id <id>", t("the permission id to add"))
|
|
3512
3512
|
).action(async (options, command) => {
|
|
3513
|
-
const { renderCommand } = await import("./render-command-
|
|
3514
|
-
const { AddPermissionCommand } = await import("./AddPermissionCommand-
|
|
3513
|
+
const { renderCommand } = await import("./render-command-F4XUYK7G.js");
|
|
3514
|
+
const { AddPermissionCommand } = await import("./AddPermissionCommand-6PDJXFTB.js");
|
|
3515
3515
|
const { permissionId = "" } = options;
|
|
3516
3516
|
await renderCommand(
|
|
3517
3517
|
command,
|
|
@@ -3527,8 +3527,8 @@ var import_react4 = __toESM(require_react(), 1);
|
|
|
3527
3527
|
var serveCommand = (services) => {
|
|
3528
3528
|
const t = createI18nT();
|
|
3529
3529
|
return createCommand("serve").description(t("serve_command_def.description")).action(async (_, command) => {
|
|
3530
|
-
const { renderCommand } = await import("./render-command-
|
|
3531
|
-
const { ServeCommandDeprecated } = await import("./ServeCommand-
|
|
3530
|
+
const { renderCommand } = await import("./render-command-F4XUYK7G.js");
|
|
3531
|
+
const { ServeCommandDeprecated } = await import("./ServeCommand-STRKVTRJ.js");
|
|
3532
3532
|
await renderCommand(command, services, /* @__PURE__ */ import_react4.default.createElement(ServeCommandDeprecated, null));
|
|
3533
3533
|
});
|
|
3534
3534
|
};
|
|
@@ -3543,8 +3543,8 @@ var generateCommand = (services) => {
|
|
|
3543
3543
|
t("generate_command.type_flag"),
|
|
3544
3544
|
validateDocsExtensionType
|
|
3545
3545
|
).description(t("generate_command.description")).action(async (options, command) => {
|
|
3546
|
-
const { GenerateCommand } = await import("./GenerateCommand-
|
|
3547
|
-
const { renderCommand } = await import("./render-command-
|
|
3546
|
+
const { GenerateCommand } = await import("./GenerateCommand-WYUXRR46.js");
|
|
3547
|
+
const { renderCommand } = await import("./render-command-F4XUYK7G.js");
|
|
3548
3548
|
const { type } = options;
|
|
3549
3549
|
await renderCommand(
|
|
3550
3550
|
command,
|
|
@@ -3568,8 +3568,8 @@ var logsCommand = (services) => {
|
|
|
3568
3568
|
validateVersion
|
|
3569
3569
|
).action(async (options, command) => {
|
|
3570
3570
|
const { version } = options;
|
|
3571
|
-
const { renderCommand } = await import("./render-command-
|
|
3572
|
-
const { LogsCommand } = await import("./LogsCommand-
|
|
3571
|
+
const { renderCommand } = await import("./render-command-F4XUYK7G.js");
|
|
3572
|
+
const { LogsCommand } = await import("./LogsCommand-P7636AQH.js");
|
|
3573
3573
|
await renderCommand(command, services, /* @__PURE__ */ import_react6.default.createElement(LogsCommand, { version }));
|
|
3574
3574
|
});
|
|
3575
3575
|
};
|
|
@@ -3602,8 +3602,8 @@ var releaseCommand = (services) => {
|
|
|
3602
3602
|
t("app_preview_command_def.option.json")
|
|
3603
3603
|
).hideHelp()
|
|
3604
3604
|
).action(async (options, command) => {
|
|
3605
|
-
const { renderCommand } = await import("./render-command-
|
|
3606
|
-
const { ReleaseCommand, ReleaseVersionType } = await import("./ReleaseCommand-
|
|
3605
|
+
const { renderCommand } = await import("./render-command-F4XUYK7G.js");
|
|
3606
|
+
const { ReleaseCommand, ReleaseVersionType } = await import("./ReleaseCommand-64CZB3PT.js");
|
|
3607
3607
|
const { baseUrl, site, comment, json } = options;
|
|
3608
3608
|
const versionType = options.versionType ? {
|
|
3609
3609
|
major: ReleaseVersionType.MAJOR,
|
|
@@ -3617,7 +3617,7 @@ var releaseCommand = (services) => {
|
|
|
3617
3617
|
};
|
|
3618
3618
|
if (json) {
|
|
3619
3619
|
return runCommand(command, services, async (model) => {
|
|
3620
|
-
const { nonInteractiveRelease } = await import("./release-
|
|
3620
|
+
const { nonInteractiveRelease } = await import("./release-M3TJ5BDU.js");
|
|
3621
3621
|
return nonInteractiveRelease(services, model, props);
|
|
3622
3622
|
});
|
|
3623
3623
|
}
|
|
@@ -3,25 +3,25 @@ const require = _createRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
executeCommand,
|
|
5
5
|
log
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZHMVFSD3.js";
|
|
7
7
|
import {
|
|
8
8
|
PreviewCommand
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-VXVGTL7P.js";
|
|
10
|
+
import "./chunk-QFQ6DZJK.js";
|
|
11
11
|
import "./chunk-VJQHGLIW.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-QTYOUUB2.js";
|
|
13
|
+
import "./chunk-HIGMWRKA.js";
|
|
14
|
+
import "./chunk-ENLCWKEY.js";
|
|
15
|
+
import "./chunk-DWY3L3SE.js";
|
|
16
16
|
import "./chunk-P7IRRCF7.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-J5HW72BB.js";
|
|
18
|
+
import "./chunk-4CZNQLMI.js";
|
|
19
|
+
import "./chunk-VR32XCR3.js";
|
|
20
20
|
import {
|
|
21
21
|
CliError,
|
|
22
22
|
CliErrorCode,
|
|
23
23
|
require_react
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-S23YJKDL.js";
|
|
25
25
|
import {
|
|
26
26
|
__toESM,
|
|
27
27
|
init_esm_shims
|
|
@@ -51,4 +51,4 @@ async function nonInteractivePreview(services, model, options) {
|
|
|
51
51
|
export {
|
|
52
52
|
nonInteractivePreview
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=preview-
|
|
54
|
+
//# sourceMappingURL=preview-E74TCNAK.js.map
|
|
@@ -3,28 +3,28 @@ const require = _createRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
executeCommand,
|
|
5
5
|
log
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZHMVFSD3.js";
|
|
7
7
|
import {
|
|
8
8
|
ReleaseCommand
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-QEZHRZA3.js";
|
|
10
|
+
import "./chunk-VXVGTL7P.js";
|
|
11
|
+
import "./chunk-QFQ6DZJK.js";
|
|
12
12
|
import "./chunk-VJQHGLIW.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-QTYOUUB2.js";
|
|
14
|
+
import "./chunk-HIGMWRKA.js";
|
|
15
|
+
import "./chunk-RXKHAGNM.js";
|
|
16
|
+
import "./chunk-ENLCWKEY.js";
|
|
17
|
+
import "./chunk-DWY3L3SE.js";
|
|
18
18
|
import "./chunk-P7IRRCF7.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-J5HW72BB.js";
|
|
20
|
+
import "./chunk-4CZNQLMI.js";
|
|
21
|
+
import "./chunk-VR32XCR3.js";
|
|
22
22
|
import {
|
|
23
23
|
CliError,
|
|
24
24
|
CliErrorCode,
|
|
25
25
|
require_react,
|
|
26
26
|
toJsonString
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-S23YJKDL.js";
|
|
28
28
|
import {
|
|
29
29
|
__toESM,
|
|
30
30
|
init_esm_shims
|
|
@@ -56,4 +56,4 @@ async function nonInteractiveRelease(services, model, releaseProps) {
|
|
|
56
56
|
export {
|
|
57
57
|
nonInteractiveRelease
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=release-
|
|
59
|
+
//# sourceMappingURL=release-M3TJ5BDU.js.map
|
|
@@ -3,14 +3,14 @@ const require = _createRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
renderCommand,
|
|
5
5
|
runCommand
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-WUGAIKXR.js";
|
|
7
|
+
import "./chunk-QFQ6DZJK.js";
|
|
8
8
|
import "./chunk-VJQHGLIW.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-J5HW72BB.js";
|
|
10
|
+
import "./chunk-S23YJKDL.js";
|
|
11
11
|
import "./chunk-4EFJZ3GQ.js";
|
|
12
12
|
export {
|
|
13
13
|
renderCommand,
|
|
14
14
|
runCommand
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=render-command-
|
|
16
|
+
//# sourceMappingURL=render-command-F4XUYK7G.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/cli-app",
|
|
3
3
|
"description": "CLI tool for Wix apps",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.161",
|
|
5
5
|
"author": "Amit Dahan",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"esbuild": "^0.25.0",
|
|
@@ -155,5 +155,5 @@
|
|
|
155
155
|
]
|
|
156
156
|
}
|
|
157
157
|
},
|
|
158
|
-
"falconPackageHash": "
|
|
158
|
+
"falconPackageHash": "8cc1c343bb73f4e2a8f095bed8953f3432cd75c80a8e006631e36dd7"
|
|
159
159
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import {
|
|
4
|
-
PreviewCommand
|
|
5
|
-
} from "./chunk-Z5VDMRDW.js";
|
|
6
|
-
import "./chunk-OSVOU52B.js";
|
|
7
|
-
import "./chunk-D6KHRSVT.js";
|
|
8
|
-
import "./chunk-E4YGBRAF.js";
|
|
9
|
-
import "./chunk-NP4A5YC5.js";
|
|
10
|
-
import "./chunk-P7IRRCF7.js";
|
|
11
|
-
import "./chunk-NYMN5QX3.js";
|
|
12
|
-
import "./chunk-D5U47UVS.js";
|
|
13
|
-
import "./chunk-MNPZFRG5.js";
|
|
14
|
-
import "./chunk-5KJ35HVT.js";
|
|
15
|
-
import "./chunk-4EFJZ3GQ.js";
|
|
16
|
-
export {
|
|
17
|
-
PreviewCommand
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=PreviewCommand-GROC7JLD.js.map
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { createRequire as _createRequire } from 'node:module';
|
|
2
|
-
const require = _createRequire(import.meta.url);
|
|
3
|
-
import {
|
|
4
|
-
ReleaseCommand,
|
|
5
|
-
ReleaseVersionType
|
|
6
|
-
} from "./chunk-F4GYD2F4.js";
|
|
7
|
-
import "./chunk-Z5VDMRDW.js";
|
|
8
|
-
import "./chunk-OSVOU52B.js";
|
|
9
|
-
import "./chunk-D6KHRSVT.js";
|
|
10
|
-
import "./chunk-RYPEAWDM.js";
|
|
11
|
-
import "./chunk-E4YGBRAF.js";
|
|
12
|
-
import "./chunk-NP4A5YC5.js";
|
|
13
|
-
import "./chunk-P7IRRCF7.js";
|
|
14
|
-
import "./chunk-NYMN5QX3.js";
|
|
15
|
-
import "./chunk-D5U47UVS.js";
|
|
16
|
-
import "./chunk-MNPZFRG5.js";
|
|
17
|
-
import "./chunk-5KJ35HVT.js";
|
|
18
|
-
import "./chunk-4EFJZ3GQ.js";
|
|
19
|
-
export {
|
|
20
|
-
ReleaseCommand,
|
|
21
|
-
ReleaseVersionType
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=ReleaseCommand-WDHPIXNE.js.map
|
/package/build/{AddPermissionCommand-6YCO7XZS.js.map → AddPermissionCommand-6PDJXFTB.js.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|