@wix/cli-app 1.1.87 → 1.1.88
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-5W2NXRON.js → AddPermissionCommand-WVJJW333.js} +2 -2
- package/build/{CreateVersionCommand-AJKCDDMU.js → CreateVersionCommand-RNDE35EA.js} +3 -3
- package/build/{DevCommand-SMPSYVXL.js → DevCommand-GZJZ3U25.js} +11 -12
- package/build/{DevCommand-SMPSYVXL.js.map → DevCommand-GZJZ3U25.js.map} +1 -1
- package/build/{GenerateCommand-FEFWJU7C.js → GenerateCommand-G6VYXLFO.js} +7 -7
- package/build/{LogsCommand-H6B7P3CF.js → LogsCommand-F2JDL6TK.js} +4 -4
- package/build/PreviewCommand-E6QYUXBH.js +19 -0
- package/build/ReleaseCommand-HO7UVUKO.js +28 -0
- package/build/{ServeCommand-S7Z22MYJ.js → ServeCommand-T6RTCKWP.js} +3 -3
- package/build/{build-JSYVRCXZ.js → build-LEBRLX2P.js} +6 -6
- package/build/{chunk-IBU2AWOE.js → chunk-3G4PYNJS.js} +2 -2
- package/build/{chunk-6XP45W4V.js → chunk-4NK5BDKP.js} +16 -3
- package/build/{chunk-6XP45W4V.js.map → chunk-4NK5BDKP.js.map} +1 -1
- package/build/{chunk-WBRNFKDB.js → chunk-6UJZO5OI.js} +2 -2
- package/build/{chunk-YFSPJZJK.js → chunk-A4MGEEM2.js} +27958 -29657
- package/build/{chunk-YFSPJZJK.js.map → chunk-A4MGEEM2.js.map} +1 -1
- package/build/{chunk-IFPNLMTX.js → chunk-DOUK3ZAF.js} +2 -2
- package/build/{chunk-M7PQNNMR.js → chunk-EABE7JPU.js} +7 -7
- package/build/{chunk-BRJOVJEF.js → chunk-FTVLHZFG.js} +2 -2
- package/build/{chunk-2DXDV5VJ.js → chunk-IAE7KO3J.js} +2 -2
- package/build/{chunk-2ZXLHTPQ.js → chunk-JKV3RLEN.js} +4 -4
- package/build/{chunk-QBXGT24B.js → chunk-KWPXRUJD.js} +2 -2
- package/build/{chunk-S2STPG55.js → chunk-Q22BBPPS.js} +2 -2
- package/build/{chunk-VACFFNYN.js → chunk-TMYRNVQ4.js} +14 -2
- package/build/{chunk-VACFFNYN.js.map → chunk-TMYRNVQ4.js.map} +1 -1
- package/build/{chunk-VETSOB6L.js → chunk-VYBQ6YPB.js} +2 -2
- package/build/{chunk-4P6UKSMR.js → chunk-WYHZYIAR.js} +4 -4
- package/build/{chunk-N4NN67BN.js → chunk-YOPB2QVW.js} +6 -6
- package/build/{chunk-YOAHNPAF.js → chunk-ZHCXET6M.js} +8 -8
- package/build/{chunk-3FBTCUBV.js → chunk-ZSOQ5MNN.js} +3 -3
- package/build/cloudflare-runtime/entry.js +1 -1
- package/build/cloudflare-runtime/getRegisteredExtensions.js +1 -1
- package/build/index.js +25 -25
- package/build/platform-sdk/{chunk-MM2KVUBI.js → chunk-3WHQP2RD.js} +2 -2
- package/build/platform-sdk/chunk-42XIZ4MH.js +2 -0
- package/build/platform-sdk/chunk-42XIZ4MH.js.map +1 -0
- package/build/platform-sdk/chunk-TN3B5RTB.js +2 -0
- package/build/platform-sdk/chunk-TN3B5RTB.js.map +1 -0
- package/build/platform-sdk/dashboard.js +1 -1
- package/build/platform-sdk/editor.js +1 -1
- package/build/platform-sdk/sdk-context.js +1 -1
- package/build/platform-sdk/sdk-context.js.map +1 -1
- package/build/platform-sdk/site.js +1 -1
- package/build/{preview-XGUQZAFR.js → preview-3MVXQOGF.js} +12 -12
- package/build/{release-FNA63ZAG.js → release-MOKBPGKU.js} +14 -14
- package/build/{render-command-3BWQUJIU.js → render-command-DAU6QG3R.js} +5 -5
- package/package.json +3 -3
- package/build/PreviewCommand-V6YW32Q2.js +0 -19
- package/build/ReleaseCommand-JVWRPNNM.js +0 -28
- package/build/platform-sdk/chunk-BGTZ3RNN.js +0 -2
- package/build/platform-sdk/chunk-BGTZ3RNN.js.map +0 -1
- package/build/platform-sdk/chunk-UGJIYUX3.js +0 -2
- package/build/platform-sdk/chunk-UGJIYUX3.js.map +0 -1
- /package/build/{AddPermissionCommand-5W2NXRON.js.map → AddPermissionCommand-WVJJW333.js.map} +0 -0
- /package/build/{CreateVersionCommand-AJKCDDMU.js.map → CreateVersionCommand-RNDE35EA.js.map} +0 -0
- /package/build/{GenerateCommand-FEFWJU7C.js.map → GenerateCommand-G6VYXLFO.js.map} +0 -0
- /package/build/{LogsCommand-H6B7P3CF.js.map → LogsCommand-F2JDL6TK.js.map} +0 -0
- /package/build/{PreviewCommand-V6YW32Q2.js.map → PreviewCommand-E6QYUXBH.js.map} +0 -0
- /package/build/{ReleaseCommand-JVWRPNNM.js.map → ReleaseCommand-HO7UVUKO.js.map} +0 -0
- /package/build/{ServeCommand-S7Z22MYJ.js.map → ServeCommand-T6RTCKWP.js.map} +0 -0
- /package/build/{build-JSYVRCXZ.js.map → build-LEBRLX2P.js.map} +0 -0
- /package/build/{chunk-IBU2AWOE.js.map → chunk-3G4PYNJS.js.map} +0 -0
- /package/build/{chunk-WBRNFKDB.js.map → chunk-6UJZO5OI.js.map} +0 -0
- /package/build/{chunk-IFPNLMTX.js.map → chunk-DOUK3ZAF.js.map} +0 -0
- /package/build/{chunk-M7PQNNMR.js.map → chunk-EABE7JPU.js.map} +0 -0
- /package/build/{chunk-BRJOVJEF.js.map → chunk-FTVLHZFG.js.map} +0 -0
- /package/build/{chunk-2DXDV5VJ.js.map → chunk-IAE7KO3J.js.map} +0 -0
- /package/build/{chunk-2ZXLHTPQ.js.map → chunk-JKV3RLEN.js.map} +0 -0
- /package/build/{chunk-QBXGT24B.js.map → chunk-KWPXRUJD.js.map} +0 -0
- /package/build/{chunk-S2STPG55.js.map → chunk-Q22BBPPS.js.map} +0 -0
- /package/build/{chunk-VETSOB6L.js.map → chunk-VYBQ6YPB.js.map} +0 -0
- /package/build/{chunk-4P6UKSMR.js.map → chunk-WYHZYIAR.js.map} +0 -0
- /package/build/{chunk-N4NN67BN.js.map → chunk-YOPB2QVW.js.map} +0 -0
- /package/build/{chunk-YOAHNPAF.js.map → chunk-ZHCXET6M.js.map} +0 -0
- /package/build/{chunk-3FBTCUBV.js.map → chunk-ZSOQ5MNN.js.map} +0 -0
- /package/build/platform-sdk/{chunk-MM2KVUBI.js.map → chunk-3WHQP2RD.js.map} +0 -0
- /package/build/{preview-XGUQZAFR.js.map → preview-3MVXQOGF.js.map} +0 -0
- /package/build/{release-FNA63ZAG.js.map → release-MOKBPGKU.js.map} +0 -0
- /package/build/{render-command-3BWQUJIU.js.map → render-command-DAU6QG3R.js.map} +0 -0
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
require_index_node,
|
|
5
5
|
require_react,
|
|
6
6
|
require_verror
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-A4MGEEM2.js";
|
|
8
8
|
import {
|
|
9
9
|
__toESM,
|
|
10
10
|
init_esm_shims
|
|
@@ -99,4 +99,4 @@ export {
|
|
|
99
99
|
DebugLogProvider,
|
|
100
100
|
useDebugLog
|
|
101
101
|
};
|
|
102
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-DOUK3ZAF.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-ZSOQ5MNN.js";
|
|
6
6
|
import {
|
|
7
7
|
ArmTagProvider,
|
|
8
8
|
ExtensionDataProvider,
|
|
@@ -16,22 +16,22 @@ import {
|
|
|
16
16
|
useResolvePlatformUrl,
|
|
17
17
|
useSite,
|
|
18
18
|
useSiteOverrideClient
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZHCXET6M.js";
|
|
20
20
|
import {
|
|
21
21
|
useBackendComponents
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-3G4PYNJS.js";
|
|
23
23
|
import {
|
|
24
24
|
updateAppManifestComponents,
|
|
25
25
|
updateMonitoring,
|
|
26
26
|
updateTopology
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-4NK5BDKP.js";
|
|
28
28
|
import {
|
|
29
29
|
Alert,
|
|
30
30
|
BROWSER_STATICS_FOLDER,
|
|
31
31
|
Box_default,
|
|
32
32
|
CliError,
|
|
33
33
|
CliErrorCode,
|
|
34
|
-
|
|
34
|
+
ComponentType,
|
|
35
35
|
Link,
|
|
36
36
|
MonitoringType,
|
|
37
37
|
PlatformType,
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
useHttpClient,
|
|
57
57
|
useProjectModel,
|
|
58
58
|
useTranslation
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-A4MGEEM2.js";
|
|
60
60
|
import {
|
|
61
61
|
__toESM,
|
|
62
62
|
init_esm_shims
|
|
@@ -298,4 +298,4 @@ export {
|
|
|
298
298
|
assertBuildOutputExists,
|
|
299
299
|
PreviewCommand
|
|
300
300
|
};
|
|
301
|
-
//# sourceMappingURL=chunk-
|
|
301
|
+
//# sourceMappingURL=chunk-EABE7JPU.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-2XM6MT5L.js";
|
|
6
6
|
import {
|
|
7
7
|
createI18n
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-A4MGEEM2.js";
|
|
9
9
|
import {
|
|
10
10
|
init_esm_shims
|
|
11
11
|
} from "./chunk-PYIAC2GK.js";
|
|
@@ -20,4 +20,4 @@ function createI18nT() {
|
|
|
20
20
|
export {
|
|
21
21
|
createI18nT
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-FTVLHZFG.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
require_is_ci,
|
|
7
7
|
wixCliCliCommand,
|
|
8
8
|
wixCliCliCommandStatus
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-A4MGEEM2.js";
|
|
10
10
|
import {
|
|
11
11
|
__toESM,
|
|
12
12
|
init_esm_shims
|
|
@@ -146,4 +146,4 @@ export {
|
|
|
146
146
|
addUserFields,
|
|
147
147
|
reportCommandStartEvent
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=chunk-
|
|
149
|
+
//# sourceMappingURL=chunk-IAE7KO3J.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-IAE7KO3J.js";
|
|
7
7
|
import {
|
|
8
8
|
messages_default
|
|
9
9
|
} from "./chunk-2XM6MT5L.js";
|
|
10
10
|
import {
|
|
11
11
|
DebugLogProvider
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DOUK3ZAF.js";
|
|
13
13
|
import {
|
|
14
14
|
AccountAuthProvider,
|
|
15
15
|
BiProvider,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
package_default,
|
|
24
24
|
render,
|
|
25
25
|
require_react
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-A4MGEEM2.js";
|
|
27
27
|
import {
|
|
28
28
|
__toESM,
|
|
29
29
|
init_esm_shims
|
|
@@ -113,4 +113,4 @@ export {
|
|
|
113
113
|
renderCommand,
|
|
114
114
|
runCommand
|
|
115
115
|
};
|
|
116
|
-
//# sourceMappingURL=chunk-
|
|
116
|
+
//# sourceMappingURL=chunk-JKV3RLEN.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
require_react,
|
|
5
5
|
useBiLogger,
|
|
6
6
|
wixCliAppBiEvents
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-A4MGEEM2.js";
|
|
8
8
|
import {
|
|
9
9
|
__toESM,
|
|
10
10
|
init_esm_shims
|
|
@@ -24,4 +24,4 @@ init_esm_shims();
|
|
|
24
24
|
export {
|
|
25
25
|
useWixCliAppBi
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-KWPXRUJD.js.map
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
toURLSearchParams,
|
|
15
15
|
useHttpClient,
|
|
16
16
|
z
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-A4MGEEM2.js";
|
|
18
18
|
import {
|
|
19
19
|
__commonJS,
|
|
20
20
|
__toESM,
|
|
@@ -3371,4 +3371,4 @@ export {
|
|
|
3371
3371
|
getBackendEventSlug,
|
|
3372
3372
|
useExtensionDataClient
|
|
3373
3373
|
};
|
|
3374
|
-
//# sourceMappingURL=chunk-
|
|
3374
|
+
//# sourceMappingURL=chunk-Q22BBPPS.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
require_lib,
|
|
12
12
|
writeJson,
|
|
13
13
|
z
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-A4MGEEM2.js";
|
|
15
15
|
import {
|
|
16
16
|
__toESM,
|
|
17
17
|
init_esm_shims
|
|
@@ -103,6 +103,12 @@ var NPM = class {
|
|
|
103
103
|
getRunCmd() {
|
|
104
104
|
return "npm run";
|
|
105
105
|
}
|
|
106
|
+
getRunBinaryCmd(args) {
|
|
107
|
+
return {
|
|
108
|
+
file: "npx",
|
|
109
|
+
args: ["--no-install"].concat(args)
|
|
110
|
+
};
|
|
111
|
+
}
|
|
106
112
|
async setup(_cwd) {
|
|
107
113
|
if ((0, import_variant2.isType)(this.repoType, RepoType.Monorepo)) {
|
|
108
114
|
throw new CliError({
|
|
@@ -172,6 +178,12 @@ var Yarn = class {
|
|
|
172
178
|
getRunCmd() {
|
|
173
179
|
return "yarn";
|
|
174
180
|
}
|
|
181
|
+
getRunBinaryCmd(args) {
|
|
182
|
+
return {
|
|
183
|
+
file: "yarn",
|
|
184
|
+
args: ["run"].concat(args)
|
|
185
|
+
};
|
|
186
|
+
}
|
|
175
187
|
async setup(packageFolder) {
|
|
176
188
|
return (0, import_variant3.matcher)(this.repoType).when(["None", "Polyrepo"], async () => {
|
|
177
189
|
if (this.name === "yarn-berry") {
|
|
@@ -339,4 +351,4 @@ export {
|
|
|
339
351
|
getRepoType,
|
|
340
352
|
createPackageManager
|
|
341
353
|
};
|
|
342
|
-
//# sourceMappingURL=chunk-
|
|
354
|
+
//# sourceMappingURL=chunk-TMYRNVQ4.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 gitInit(cwd: string) {\n await runCommand('git init', { 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) {\n await runCommand(`git clone --depth 1 ${url} ${path}`, {\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","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 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 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 { gitClone, gitCommit, gitInit } 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 gitInit(cwd: string) {\n await runCommand('git init', { 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) {\n await runCommand(`git clone --depth 1 ${url} ${path}`, {\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","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 { gitClone, gitCommit, gitInit } from './git-service.js';\n"],"mappings":"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","names":["join","import_variant","import_variant","import_variant","join","join","packages","parsedPackages","join"]}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
createRendererToString,
|
|
6
6
|
isCliError,
|
|
7
7
|
require_react
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-A4MGEEM2.js";
|
|
9
9
|
import {
|
|
10
10
|
__toESM,
|
|
11
11
|
init_esm_shims
|
|
@@ -58,4 +58,4 @@ function createLogger({
|
|
|
58
58
|
export {
|
|
59
59
|
createLogger
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-VYBQ6YPB.js.map
|
|
@@ -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-IAE7KO3J.js";
|
|
6
6
|
import {
|
|
7
7
|
messages_default
|
|
8
8
|
} from "./chunk-2XM6MT5L.js";
|
|
9
9
|
import {
|
|
10
10
|
DebugLogProvider
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-DOUK3ZAF.js";
|
|
12
12
|
import {
|
|
13
13
|
AccountAuthProvider,
|
|
14
14
|
BiProvider,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
getDebugLogFilePath,
|
|
22
22
|
isLoggedInToAccount,
|
|
23
23
|
require_react
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-A4MGEEM2.js";
|
|
25
25
|
import {
|
|
26
26
|
__toESM,
|
|
27
27
|
init_esm_shims
|
|
@@ -63,4 +63,4 @@ export {
|
|
|
63
63
|
log,
|
|
64
64
|
executeCommand
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-WYHZYIAR.js.map
|
|
@@ -3,16 +3,16 @@ const require = _createRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
PreviewCommand,
|
|
5
5
|
assertBuildOutputExists
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EABE7JPU.js";
|
|
7
7
|
import {
|
|
8
8
|
useARMClient
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZHCXET6M.js";
|
|
10
10
|
import {
|
|
11
11
|
useWixCliAppBi
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-KWPXRUJD.js";
|
|
13
13
|
import {
|
|
14
14
|
useBackendComponents
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-3G4PYNJS.js";
|
|
16
16
|
import {
|
|
17
17
|
Alert,
|
|
18
18
|
Box_default,
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
useDevCenterClient,
|
|
39
39
|
useProjectModel,
|
|
40
40
|
useTranslation
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-A4MGEEM2.js";
|
|
42
42
|
import {
|
|
43
43
|
__toESM,
|
|
44
44
|
init_esm_shims
|
|
@@ -418,4 +418,4 @@ export {
|
|
|
418
418
|
ReleaseVersionType,
|
|
419
419
|
ReleaseCommand
|
|
420
420
|
};
|
|
421
|
-
//# sourceMappingURL=chunk-
|
|
421
|
+
//# sourceMappingURL=chunk-YOPB2QVW.js.map
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
componentGenerator,
|
|
5
5
|
require_lodash,
|
|
6
6
|
useBackendComponents
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-3G4PYNJS.js";
|
|
8
8
|
import {
|
|
9
9
|
useTunnel
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6UJZO5OI.js";
|
|
11
11
|
import {
|
|
12
12
|
useDebugLog
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-DOUK3ZAF.js";
|
|
14
14
|
import {
|
|
15
15
|
createAppManifest,
|
|
16
16
|
getComponentDevSourceBuilder,
|
|
@@ -18,10 +18,10 @@ import {
|
|
|
18
18
|
getViteConfig2,
|
|
19
19
|
getViteServerUrl,
|
|
20
20
|
updateAppManifestComponents
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-4NK5BDKP.js";
|
|
22
22
|
import {
|
|
23
23
|
useExtensionDataClient
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-Q22BBPPS.js";
|
|
25
25
|
import {
|
|
26
26
|
APP_CONFIG_PATH,
|
|
27
27
|
Alert,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
BiProvider,
|
|
31
31
|
CliError,
|
|
32
32
|
CliErrorCode,
|
|
33
|
-
|
|
33
|
+
ComponentType,
|
|
34
34
|
DevCenterComponent,
|
|
35
35
|
ErrorViewer,
|
|
36
36
|
I18nProvider,
|
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
wixCliAction,
|
|
81
81
|
wixCliAppFlowStepsAnswers,
|
|
82
82
|
z
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-A4MGEEM2.js";
|
|
84
84
|
import {
|
|
85
85
|
__commonJS,
|
|
86
86
|
__dirname,
|
|
@@ -28865,4 +28865,4 @@ xmlhttprequest-ssl/lib/XMLHttpRequest.js:
|
|
|
28865
28865
|
* @license MIT
|
|
28866
28866
|
*)
|
|
28867
28867
|
*/
|
|
28868
|
-
//# sourceMappingURL=chunk-
|
|
28868
|
+
//# sourceMappingURL=chunk-ZHCXET6M.js.map
|
|
@@ -2,11 +2,11 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
readAppManifest
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4NK5BDKP.js";
|
|
6
6
|
import {
|
|
7
7
|
getAppManifestPath,
|
|
8
8
|
writeJson
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-A4MGEEM2.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esm_shims
|
|
12
12
|
} from "./chunk-PYIAC2GK.js";
|
|
@@ -29,4 +29,4 @@ export {
|
|
|
29
29
|
writeAppManifestFile,
|
|
30
30
|
readAppManifestFile
|
|
31
31
|
};
|
|
32
|
-
//# sourceMappingURL=chunk-
|
|
32
|
+
//# sourceMappingURL=chunk-ZSOQ5MNN.js.map
|
|
@@ -4594,7 +4594,7 @@ function objectToKeyValue(input) {
|
|
|
4594
4594
|
return Object.entries(input).filter(([_, value]) => Boolean(value)).map(([key, value]) => `${key}=${value}`).join(",");
|
|
4595
4595
|
}
|
|
4596
4596
|
|
|
4597
|
-
// ../../node_modules/@wix/sdk
|
|
4597
|
+
// ../../node_modules/@wix/sdk-runtime/build/context.js
|
|
4598
4598
|
function runWithoutContext(fn) {
|
|
4599
4599
|
const globalContext = globalThis.__wix_context__;
|
|
4600
4600
|
const moduleContext = {
|
|
@@ -4437,7 +4437,7 @@ function objectToKeyValue(input) {
|
|
|
4437
4437
|
return Object.entries(input).filter(([_, value]) => Boolean(value)).map(([key, value]) => `${key}=${value}`).join(",");
|
|
4438
4438
|
}
|
|
4439
4439
|
|
|
4440
|
-
// ../../node_modules/@wix/sdk
|
|
4440
|
+
// ../../node_modules/@wix/sdk-runtime/build/context.js
|
|
4441
4441
|
function runWithoutContext(fn) {
|
|
4442
4442
|
const globalContext = globalThis.__wix_context__;
|
|
4443
4443
|
const moduleContext = {
|
package/build/index.js
CHANGED
|
@@ -2,18 +2,18 @@ import { createRequire as _createRequire } from 'node:module';
|
|
|
2
2
|
const require = _createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
createI18nT
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FTVLHZFG.js";
|
|
6
6
|
import {
|
|
7
7
|
runCommand
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-JKV3RLEN.js";
|
|
9
|
+
import "./chunk-IAE7KO3J.js";
|
|
10
10
|
import "./chunk-2XM6MT5L.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-DOUK3ZAF.js";
|
|
12
12
|
import {
|
|
13
13
|
package_default,
|
|
14
14
|
require_react,
|
|
15
15
|
z
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-A4MGEEM2.js";
|
|
17
17
|
import {
|
|
18
18
|
__commonJS,
|
|
19
19
|
__require,
|
|
@@ -3376,8 +3376,8 @@ var {
|
|
|
3376
3376
|
// src/commands/build.ts
|
|
3377
3377
|
init_esm_shims();
|
|
3378
3378
|
var buildCommand = (services) => createCommand("build").action(async (_, command) => {
|
|
3379
|
-
const { runCommand: runCommand2 } = await import("./render-command-
|
|
3380
|
-
const { build } = await import("./build-
|
|
3379
|
+
const { runCommand: runCommand2 } = await import("./render-command-DAU6QG3R.js");
|
|
3380
|
+
const { build } = await import("./build-LEBRLX2P.js");
|
|
3381
3381
|
await runCommand2(command, services, build);
|
|
3382
3382
|
});
|
|
3383
3383
|
|
|
@@ -3387,8 +3387,8 @@ var import_react = __toESM(require_react(), 1);
|
|
|
3387
3387
|
var devCommand = (services) => {
|
|
3388
3388
|
const t = createI18nT();
|
|
3389
3389
|
return createCommand("dev").option("-s, --https", t("dev_command_def.option.https")).action(async (options, command) => {
|
|
3390
|
-
const { DevCommand } = await import("./DevCommand-
|
|
3391
|
-
const { renderCommand } = await import("./render-command-
|
|
3390
|
+
const { DevCommand } = await import("./DevCommand-GZJZ3U25.js");
|
|
3391
|
+
const { renderCommand } = await import("./render-command-DAU6QG3R.js");
|
|
3392
3392
|
const { https = false } = options;
|
|
3393
3393
|
await renderCommand(command, services, /* @__PURE__ */ import_react.default.createElement(DevCommand, { https }), {
|
|
3394
3394
|
watchForModelChanges: true
|
|
@@ -3457,17 +3457,17 @@ var previewCommand = (services) => {
|
|
|
3457
3457
|
).hideHelp()
|
|
3458
3458
|
).action(async (options, command) => {
|
|
3459
3459
|
const { site, baseUrl, json } = options;
|
|
3460
|
-
const { renderCommand, runCommand: runCommand2 } = await import("./render-command-
|
|
3460
|
+
const { renderCommand, runCommand: runCommand2 } = await import("./render-command-DAU6QG3R.js");
|
|
3461
3461
|
if (json) {
|
|
3462
3462
|
return runCommand2(command, services, async (model) => {
|
|
3463
|
-
const { nonInteractivePreview } = await import("./preview-
|
|
3463
|
+
const { nonInteractivePreview } = await import("./preview-3MVXQOGF.js");
|
|
3464
3464
|
return nonInteractivePreview(services, model, {
|
|
3465
3465
|
baseUrl,
|
|
3466
3466
|
siteId: site
|
|
3467
3467
|
});
|
|
3468
3468
|
});
|
|
3469
3469
|
}
|
|
3470
|
-
const { PreviewCommand } = await import("./PreviewCommand-
|
|
3470
|
+
const { PreviewCommand } = await import("./PreviewCommand-E6QYUXBH.js");
|
|
3471
3471
|
await renderCommand(
|
|
3472
3472
|
command,
|
|
3473
3473
|
services,
|
|
@@ -3498,8 +3498,8 @@ var createVersionCommand = (services) => {
|
|
|
3498
3498
|
t("create_version_command_def.option.base_url"),
|
|
3499
3499
|
validateBase
|
|
3500
3500
|
).action(async (options, command) => {
|
|
3501
|
-
const { renderCommand } = await import("./render-command-
|
|
3502
|
-
const { CreateVersionCommandDeprecated } = await import("./CreateVersionCommand-
|
|
3501
|
+
const { renderCommand } = await import("./render-command-DAU6QG3R.js");
|
|
3502
|
+
const { CreateVersionCommandDeprecated } = await import("./CreateVersionCommand-RNDE35EA.js");
|
|
3503
3503
|
await renderCommand(
|
|
3504
3504
|
command,
|
|
3505
3505
|
services,
|
|
@@ -3516,8 +3516,8 @@ var addPermissionCommand = (services) => {
|
|
|
3516
3516
|
return createCommand("add-permission").description("adding a permission to the app").addOption(
|
|
3517
3517
|
new Option("-p, --permission-id <id>", t("the permission id to add"))
|
|
3518
3518
|
).action(async (options, command) => {
|
|
3519
|
-
const { renderCommand } = await import("./render-command-
|
|
3520
|
-
const { AddPermissionCommand } = await import("./AddPermissionCommand-
|
|
3519
|
+
const { renderCommand } = await import("./render-command-DAU6QG3R.js");
|
|
3520
|
+
const { AddPermissionCommand } = await import("./AddPermissionCommand-WVJJW333.js");
|
|
3521
3521
|
const { permissionId = "" } = options;
|
|
3522
3522
|
await renderCommand(
|
|
3523
3523
|
command,
|
|
@@ -3533,8 +3533,8 @@ var import_react5 = __toESM(require_react(), 1);
|
|
|
3533
3533
|
var serveCommand = (services) => {
|
|
3534
3534
|
const t = createI18nT();
|
|
3535
3535
|
return createCommand("serve").description(t("serve_command_def.description")).action(async (_, command) => {
|
|
3536
|
-
const { renderCommand } = await import("./render-command-
|
|
3537
|
-
const { ServeCommandDeprecated } = await import("./ServeCommand-
|
|
3536
|
+
const { renderCommand } = await import("./render-command-DAU6QG3R.js");
|
|
3537
|
+
const { ServeCommandDeprecated } = await import("./ServeCommand-T6RTCKWP.js");
|
|
3538
3538
|
await renderCommand(command, services, /* @__PURE__ */ import_react5.default.createElement(ServeCommandDeprecated, null));
|
|
3539
3539
|
});
|
|
3540
3540
|
};
|
|
@@ -3545,8 +3545,8 @@ var import_react6 = __toESM(require_react(), 1);
|
|
|
3545
3545
|
var generateCommand = (services) => {
|
|
3546
3546
|
const t = createI18nT();
|
|
3547
3547
|
return createCommand("generate").description(t("generate_command.description")).action(async (options, command) => {
|
|
3548
|
-
const { GenerateCommand } = await import("./GenerateCommand-
|
|
3549
|
-
const { renderCommand } = await import("./render-command-
|
|
3548
|
+
const { GenerateCommand } = await import("./GenerateCommand-G6VYXLFO.js");
|
|
3549
|
+
const { renderCommand } = await import("./render-command-DAU6QG3R.js");
|
|
3550
3550
|
await renderCommand(command, services, /* @__PURE__ */ import_react6.default.createElement(GenerateCommand, null), {
|
|
3551
3551
|
skipProjectValidation: true
|
|
3552
3552
|
});
|
|
@@ -3564,8 +3564,8 @@ var logsCommand = (services) => {
|
|
|
3564
3564
|
validateVersion
|
|
3565
3565
|
).action(async (options, command) => {
|
|
3566
3566
|
const { version } = options;
|
|
3567
|
-
const { renderCommand } = await import("./render-command-
|
|
3568
|
-
const { LogsCommand } = await import("./LogsCommand-
|
|
3567
|
+
const { renderCommand } = await import("./render-command-DAU6QG3R.js");
|
|
3568
|
+
const { LogsCommand } = await import("./LogsCommand-F2JDL6TK.js");
|
|
3569
3569
|
await renderCommand(command, services, /* @__PURE__ */ import_react7.default.createElement(LogsCommand, { version }));
|
|
3570
3570
|
});
|
|
3571
3571
|
};
|
|
@@ -3598,8 +3598,8 @@ var releaseCommand = (services) => {
|
|
|
3598
3598
|
t("app_preview_command_def.option.json")
|
|
3599
3599
|
).hideHelp()
|
|
3600
3600
|
).action(async (options, command) => {
|
|
3601
|
-
const { renderCommand } = await import("./render-command-
|
|
3602
|
-
const { ReleaseCommand, ReleaseVersionType } = await import("./ReleaseCommand-
|
|
3601
|
+
const { renderCommand } = await import("./render-command-DAU6QG3R.js");
|
|
3602
|
+
const { ReleaseCommand, ReleaseVersionType } = await import("./ReleaseCommand-HO7UVUKO.js");
|
|
3603
3603
|
const { baseUrl, site, comment, json } = options;
|
|
3604
3604
|
const versionType = options.versionType ? {
|
|
3605
3605
|
major: ReleaseVersionType.MAJOR,
|
|
@@ -3613,7 +3613,7 @@ var releaseCommand = (services) => {
|
|
|
3613
3613
|
};
|
|
3614
3614
|
if (json) {
|
|
3615
3615
|
return runCommand(command, services, async (model) => {
|
|
3616
|
-
const { nonInteractiveRelease } = await import("./release-
|
|
3616
|
+
const { nonInteractiveRelease } = await import("./release-MOKBPGKU.js");
|
|
3617
3617
|
return nonInteractiveRelease(services, model, props);
|
|
3618
3618
|
});
|
|
3619
3619
|
}
|