@webiny/cli-core 6.1.0-beta.1 → 6.1.0-beta.3
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/features/UpgradeCommand/UpgradeCommand.d.ts +1 -0
- package/features/UpgradeCommand/UpgradeCommand.js +1 -1
- package/features/UpgradeCommand/UpgradeCommand.js.map +1 -1
- package/features/UpgradeCommand/UpgradeCommandHandler.js +2 -0
- package/features/UpgradeCommand/UpgradeCommandHandler.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CliCommandFactory","UiService","UpgradeCommandHandler","semver","UpgradeCommandImpl","constructor","ui","upgradeCommandHandler","execute","name","description","examples","params","type","default","required","options","handler","version","getVersion","handle","logLevel","showLogs","showStackTrace","skipChecks","debug","packageManager","undefined","registry","skipDependencyGuard","_","disableSemver","parsed","parse","Error","format","ex","message","UpgradeCommand","createImplementation","implementation","dependencies"],"sources":["UpgradeCommand.ts"],"sourcesContent":["import { CliCommandFactory, UiService } from \"~/abstractions/index.js\";\nimport { UpgradeCommandHandler } from \"./abstraction.js\";\nimport semver from \"semver\";\n\ninterface UpgradeCommandParams {\n skipChecks?: boolean;\n disableSemver?: boolean;\n debug?: boolean;\n _: string[];\n logLevel?: string;\n showLogs?: boolean;\n showStackTrace?: boolean;\n version?: string;\n registry?: string;\n packageManager?: string;\n skipDependencyGuard?: boolean;\n}\n\nclass UpgradeCommandImpl implements CliCommandFactory.Interface<UpgradeCommandParams> {\n public constructor(\n private ui: UiService.Interface,\n private upgradeCommandHandler: UpgradeCommandHandler.Interface\n ) {}\n\n public async execute(): Promise<CliCommandFactory.CommandDefinition<UpgradeCommandParams>> {\n return {\n name: \"upgrade\",\n description:\n \"Upgrade Webiny packages and dependencies to the latest or selected version.\",\n examples: [\"upgrade\", \"upgrade 6.2.0\", \"upgrade 0.0.0-unstable.abc --disable-semver\"],\n params: [\n {\n name: \"target\",\n description:\n \"Target version to upgrade to. Can be a specific version (e.g. 6.2.0) or 'latest' to upgrade to the latest version.\",\n type: \"string\",\n default: \"latest\",\n required: false\n }\n ],\n options: [\n {\n name: \"skip-checks\",\n description: \"Do not perform CLI version and Git tree checks.\",\n type: \"boolean\",\n default: false\n },\n {\n name: \"log-level\",\n default: \"info\",\n description: `Set log level for the upgrade process executed by npx. Possible values are \"debug\", \"info\", \"warning\", and \"error\".`,\n type: \"string\"\n },\n {\n name: \"show-logs\",\n default: false,\n description: `Show logs from the upgrade process executed by npx.`,\n type: \"boolean\"\n },\n {\n name: \"show-stack-trace\",\n default: false,\n description: `Show stack trace if the upgrade process executed by npx fails.`,\n type: \"boolean\"\n },\n {\n name: \"registry\",\n type: \"string\",\n default: \"\",\n description: \"registry URL\"\n },\n {\n name: \"package-manager\",\n type: \"string\",\n default: \"\",\n description:\n \"Package manager to use: yarn, pnpm, or npm (auto-detected from lock file if omitted)\"\n },\n {\n name: \"skip-dependency-guard\",\n default: false,\n description: `Skip the dependency guard that checks for incompatible dependencies before performing the upgrade.`,\n type: \"boolean\"\n }\n ],\n handler: async params => {\n /**\n * We assign only what we want so that we don't accidentally pass some parameters that are not relevant to the handler.\n */\n const version = this.getVersion(params);\n return this.upgradeCommandHandler.handle({\n logLevel: params.logLevel || \"info\",\n showLogs: params.showLogs || false,\n showStackTrace: params.showStackTrace || false,\n skipChecks: params.skipChecks || false,\n debug: params.debug || false,\n packageManager: params.packageManager || undefined,\n registry: params.registry || undefined,\n skipDependencyGuard: params.skipDependencyGuard || false,\n version\n });\n }\n };\n }\n\n private getVersion(params: UpgradeCommandParams): UpgradeCommandHandler.Version {\n const version = params._[1];\n if (!version || version === \"latest\") {\n return \"latest\";\n }\n if (params.disableSemver) {\n return version as UpgradeCommandHandler.Version;\n }\n\n try {\n const parsed = semver.parse(version);\n if (!parsed) {\n throw new Error();\n }\n return parsed.format() as UpgradeCommandHandler.Version;\n } catch (ex) {\n throw new Error(\n `Invalid version provided: \"${version}\". Use --disable-semver to allow non-semver versions: ${ex.message}`\n );\n }\n }\n}\n\nexport const UpgradeCommand = CliCommandFactory.createImplementation({\n implementation: UpgradeCommandImpl,\n dependencies: [UiService, UpgradeCommandHandler]\n});\n"],"mappings":"AAAA,SAASA,iBAAiB,EAAEC,SAAS;AACrC,SAASC,qBAAqB;AAC9B,OAAOC,MAAM,MAAM,QAAQ;
|
|
1
|
+
{"version":3,"names":["CliCommandFactory","UiService","UpgradeCommandHandler","semver","UpgradeCommandImpl","constructor","ui","upgradeCommandHandler","execute","name","description","examples","params","type","default","required","options","handler","version","getVersion","handle","logLevel","showLogs","showStackTrace","skipChecks","debug","packageManager","undefined","registry","skipDependencyGuard","valid","_","target","disableSemver","parsed","parse","Error","format","ex","message","UpgradeCommand","createImplementation","implementation","dependencies"],"sources":["UpgradeCommand.ts"],"sourcesContent":["import { CliCommandFactory, UiService } from \"~/abstractions/index.js\";\nimport { UpgradeCommandHandler } from \"./abstraction.js\";\nimport semver from \"semver\";\n\ninterface UpgradeCommandParams {\n skipChecks?: boolean;\n disableSemver?: boolean;\n debug?: boolean;\n _: string[];\n target?: string;\n logLevel?: string;\n showLogs?: boolean;\n showStackTrace?: boolean;\n version?: string;\n registry?: string;\n packageManager?: string;\n skipDependencyGuard?: boolean;\n}\n\nclass UpgradeCommandImpl implements CliCommandFactory.Interface<UpgradeCommandParams> {\n public constructor(\n private ui: UiService.Interface,\n private upgradeCommandHandler: UpgradeCommandHandler.Interface\n ) {}\n\n public async execute(): Promise<CliCommandFactory.CommandDefinition<UpgradeCommandParams>> {\n return {\n name: \"upgrade\",\n description:\n \"Upgrade Webiny packages and dependencies to the latest or selected version.\",\n examples: [\"upgrade\", \"upgrade 6.2.0\", \"upgrade 0.0.0-unstable.abc --disable-semver\"],\n params: [\n {\n name: \"target\",\n description:\n \"Target version to upgrade to. Can be a specific version (e.g. 6.2.0) or 'latest' to upgrade to the latest version.\",\n type: \"string\",\n default: \"latest\",\n required: false\n }\n ],\n options: [\n {\n name: \"skip-checks\",\n description: \"Do not perform CLI version and Git tree checks.\",\n type: \"boolean\",\n default: false\n },\n {\n name: \"log-level\",\n default: \"info\",\n description: `Set log level for the upgrade process executed by npx. Possible values are \"debug\", \"info\", \"warning\", and \"error\".`,\n type: \"string\"\n },\n {\n name: \"show-logs\",\n default: false,\n description: `Show logs from the upgrade process executed by npx.`,\n type: \"boolean\"\n },\n {\n name: \"show-stack-trace\",\n default: false,\n description: `Show stack trace if the upgrade process executed by npx fails.`,\n type: \"boolean\"\n },\n {\n name: \"registry\",\n type: \"string\",\n default: \"\",\n description: \"registry URL\"\n },\n {\n name: \"package-manager\",\n type: \"string\",\n default: \"\",\n description:\n \"Package manager to use: yarn, pnpm, or npm (auto-detected from lock file if omitted)\"\n },\n {\n name: \"skip-dependency-guard\",\n default: false,\n description: `Skip the dependency guard that checks for incompatible dependencies before performing the upgrade.`,\n type: \"boolean\"\n }\n ],\n handler: async params => {\n /**\n * We assign only what we want so that we don't accidentally pass some parameters that are not relevant to the handler.\n */\n const version = this.getVersion(params);\n return this.upgradeCommandHandler.handle({\n logLevel: params.logLevel || \"info\",\n showLogs: params.showLogs || false,\n showStackTrace: params.showStackTrace || false,\n skipChecks: params.skipChecks || false,\n debug: params.debug || false,\n packageManager: params.packageManager || undefined,\n registry: params.registry || undefined,\n skipDependencyGuard: params.skipDependencyGuard || false,\n version\n });\n }\n };\n }\n\n private getVersion(params: UpgradeCommandParams): UpgradeCommandHandler.Version {\n const version = semver.valid(params._[1]) ? params._[1] : params.target;\n if (!version || version === \"latest\") {\n return \"latest\";\n }\n if (params.disableSemver) {\n return version as UpgradeCommandHandler.Version;\n }\n\n try {\n const parsed = semver.parse(version);\n if (!parsed) {\n throw new Error();\n }\n return parsed.format() as UpgradeCommandHandler.Version;\n } catch (ex) {\n throw new Error(\n `Invalid version provided: \"${version}\". Use --disable-semver to allow non-semver versions: ${ex.message}`\n );\n }\n }\n}\n\nexport const UpgradeCommand = CliCommandFactory.createImplementation({\n implementation: UpgradeCommandImpl,\n dependencies: [UiService, UpgradeCommandHandler]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -94,9 +94,11 @@ export class UpgradeCommandHandlerImpl {
|
|
|
94
94
|
this.ui.success(json.message);
|
|
95
95
|
break;
|
|
96
96
|
case "warning":
|
|
97
|
+
case "warn":
|
|
97
98
|
this.ui.warning(json.message);
|
|
98
99
|
break;
|
|
99
100
|
case "error":
|
|
101
|
+
case "fatal":
|
|
100
102
|
this.ui.error(json.message);
|
|
101
103
|
if (!json.data?.stack) {
|
|
102
104
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UpgradeCommandHandler","UpgradeCommandHandlerAbstraction","chalk","execa","UiService","GITHUB_REPOSITORY_URL","UpgradeCommandHandlerImpl","constructor","ui","handle","params","version","skipChecks","debug","logLevel","showLogs","showStackTrace","gitStatus","stdout","sync","trim","error","red","split","map","line","matched","match","join","process","exit","command","undefined","filter","Boolean","npx","env","FORCE_COLOR","stdin","on","data","lines","toString","replace","output","stderr","ex","message","options","json","JSON","parse","type","stack","info","success","warning","console","log","createImplementation","implementation","dependencies"],"sources":["UpgradeCommandHandler.ts"],"sourcesContent":["import { UpgradeCommandHandler as UpgradeCommandHandlerAbstraction } from \"./abstraction.js\";\nimport chalk from \"chalk\";\nimport execa from \"execa\";\nimport { UiService } from \"~/abstractions/index.js\";\n\nconst GITHUB_REPOSITORY_URL = \"https://github.com/webiny/webiny-upgrades-v6\";\n\ntype LogType = \"debug\" | \"success\" | \"warning\" | \"error\" | \"done\" | \"info\";\n\ninterface IUpgradeLine {\n type: LogType;\n message: string;\n data?: {\n stack?: string;\n [key: string]: any;\n };\n}\n\ninterface IOutputOptions {\n debug: boolean;\n logLevel: string;\n}\n\nexport class UpgradeCommandHandlerImpl implements UpgradeCommandHandlerAbstraction.Interface {\n public constructor(private ui: UiService.Interface) {}\n\n public async handle(params: UpgradeCommandHandlerAbstraction.Params): Promise<void> {\n const { version, skipChecks, debug, logLevel, showLogs, showStackTrace } = params;\n\n if (!skipChecks) {\n /**\n * Before doing any upgrading, there must not be any active changes in the current branch.\n */\n let gitStatus = \"\";\n try {\n const { stdout } = execa.sync(\"git\", [\"status\", \"--porcelain\"]);\n gitStatus = stdout.trim();\n } catch {}\n\n if (gitStatus) {\n this.ui.error(\n chalk.red(\"This git repository has untracked files or uncommitted changes:\") +\n \"\\n\\n\" +\n gitStatus\n .split(\"\\n\")\n .map(line => {\n const matched = line.match(/ .*/g);\n if (!matched || !matched[0]) {\n return \"\";\n }\n return matched[0].trim();\n })\n .join(\"\\n\") +\n \"\\n\\n\" +\n chalk.red(\n \"Remove untracked files, stash or commit any changes, and try again.\"\n )\n );\n process.exit(1);\n }\n }\n\n const command = [\n GITHUB_REPOSITORY_URL,\n version || undefined,\n debug ? \"--debug\" : \"\",\n showLogs ? `--showLogs=${showLogs}` : \"\",\n showStackTrace ? `--showStackTrace=${showStackTrace}` : \"\",\n logLevel ? `--logLevel=${logLevel}` : \"\",\n \"--json\"\n ].filter(Boolean);\n\n const npx = execa(\"npx\", command, {\n env: {\n // TODO determine if this actually works\n // @ts-expect-error\n FORCE_COLOR: true\n },\n stdin: process.stdin\n });\n\n npx.stdout!.on(\"data\", data => {\n const lines = data.toString().replace(/\\n$/, \"\").split(\"\\n\") as string[];\n for (const line of lines) {\n if (!line || !line.trim()) {\n continue;\n }\n this.output(line, {\n debug,\n logLevel\n });\n }\n });\n\n npx.stderr!.on(\"data\", data => {\n this.ui.error(data.toString());\n });\n\n try {\n await npx;\n } catch (ex) {\n this.ui.error(`Upgrade process failed: ${ex.message}`);\n }\n }\n\n private output(line: string, options: IOutputOptions): void {\n const { debug, logLevel } = options;\n try {\n const json = JSON.parse(line) as IUpgradeLine;\n switch (json.type) {\n case \"debug\":\n if (!debug && logLevel !== \"debug\") {\n return;\n }\n this.ui.debug(json.message);\n if (!json.data?.stack) {\n return;\n }\n this.ui.debug(json.data?.stack);\n break;\n case \"info\":\n this.ui.info(json.message);\n break;\n case \"success\":\n case \"done\":\n this.ui.success(json.message);\n break;\n case \"warning\":\n this.ui.warning(json.message);\n break;\n case \"error\":\n this.ui.error(json.message);\n if (!json.data?.stack) {\n return;\n }\n this.ui.debug(json.data?.stack);\n break;\n default:\n console.log(json);\n }\n } catch {\n // Not JSON, let's just print the line then, if its debug mode on.\n if (!debug && logLevel !== \"debug\") {\n return;\n }\n console.log(line);\n }\n }\n}\n\nexport const UpgradeCommandHandler = UpgradeCommandHandlerAbstraction.createImplementation({\n implementation: UpgradeCommandHandlerImpl,\n dependencies: [UiService]\n});\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["UpgradeCommandHandler","UpgradeCommandHandlerAbstraction","chalk","execa","UiService","GITHUB_REPOSITORY_URL","UpgradeCommandHandlerImpl","constructor","ui","handle","params","version","skipChecks","debug","logLevel","showLogs","showStackTrace","gitStatus","stdout","sync","trim","error","red","split","map","line","matched","match","join","process","exit","command","undefined","filter","Boolean","npx","env","FORCE_COLOR","stdin","on","data","lines","toString","replace","output","stderr","ex","message","options","json","JSON","parse","type","stack","info","success","warning","console","log","createImplementation","implementation","dependencies"],"sources":["UpgradeCommandHandler.ts"],"sourcesContent":["import { UpgradeCommandHandler as UpgradeCommandHandlerAbstraction } from \"./abstraction.js\";\nimport chalk from \"chalk\";\nimport execa from \"execa\";\nimport { UiService } from \"~/abstractions/index.js\";\n\nconst GITHUB_REPOSITORY_URL = \"https://github.com/webiny/webiny-upgrades-v6\";\n\ntype LogType = \"debug\" | \"success\" | \"warning\" | \"warn\" | \"error\" | \"fatal\" | \"done\" | \"info\";\n\ninterface IUpgradeLine {\n type: LogType;\n message: string;\n data?: {\n stack?: string;\n [key: string]: any;\n };\n}\n\ninterface IOutputOptions {\n debug: boolean;\n logLevel: string;\n}\n\nexport class UpgradeCommandHandlerImpl implements UpgradeCommandHandlerAbstraction.Interface {\n public constructor(private ui: UiService.Interface) {}\n\n public async handle(params: UpgradeCommandHandlerAbstraction.Params): Promise<void> {\n const { version, skipChecks, debug, logLevel, showLogs, showStackTrace } = params;\n\n if (!skipChecks) {\n /**\n * Before doing any upgrading, there must not be any active changes in the current branch.\n */\n let gitStatus = \"\";\n try {\n const { stdout } = execa.sync(\"git\", [\"status\", \"--porcelain\"]);\n gitStatus = stdout.trim();\n } catch {}\n\n if (gitStatus) {\n this.ui.error(\n chalk.red(\"This git repository has untracked files or uncommitted changes:\") +\n \"\\n\\n\" +\n gitStatus\n .split(\"\\n\")\n .map(line => {\n const matched = line.match(/ .*/g);\n if (!matched || !matched[0]) {\n return \"\";\n }\n return matched[0].trim();\n })\n .join(\"\\n\") +\n \"\\n\\n\" +\n chalk.red(\n \"Remove untracked files, stash or commit any changes, and try again.\"\n )\n );\n process.exit(1);\n }\n }\n\n const command = [\n GITHUB_REPOSITORY_URL,\n version || undefined,\n debug ? \"--debug\" : \"\",\n showLogs ? `--showLogs=${showLogs}` : \"\",\n showStackTrace ? `--showStackTrace=${showStackTrace}` : \"\",\n logLevel ? `--logLevel=${logLevel}` : \"\",\n \"--json\"\n ].filter(Boolean);\n\n const npx = execa(\"npx\", command, {\n env: {\n // TODO determine if this actually works\n // @ts-expect-error\n FORCE_COLOR: true\n },\n stdin: process.stdin\n });\n\n npx.stdout!.on(\"data\", data => {\n const lines = data.toString().replace(/\\n$/, \"\").split(\"\\n\") as string[];\n for (const line of lines) {\n if (!line || !line.trim()) {\n continue;\n }\n this.output(line, {\n debug,\n logLevel\n });\n }\n });\n\n npx.stderr!.on(\"data\", data => {\n this.ui.error(data.toString());\n });\n\n try {\n await npx;\n } catch (ex) {\n this.ui.error(`Upgrade process failed: ${ex.message}`);\n }\n }\n\n private output(line: string, options: IOutputOptions): void {\n const { debug, logLevel } = options;\n try {\n const json = JSON.parse(line) as IUpgradeLine;\n switch (json.type) {\n case \"debug\":\n if (!debug && logLevel !== \"debug\") {\n return;\n }\n this.ui.debug(json.message);\n if (!json.data?.stack) {\n return;\n }\n this.ui.debug(json.data?.stack);\n break;\n case \"info\":\n this.ui.info(json.message);\n break;\n case \"success\":\n case \"done\":\n this.ui.success(json.message);\n break;\n case \"warning\":\n case \"warn\":\n this.ui.warning(json.message);\n break;\n case \"error\":\n case \"fatal\":\n this.ui.error(json.message);\n if (!json.data?.stack) {\n return;\n }\n this.ui.debug(json.data?.stack);\n break;\n default:\n console.log(json);\n }\n } catch {\n // Not JSON, let's just print the line then, if its debug mode on.\n if (!debug && logLevel !== \"debug\") {\n return;\n }\n console.log(line);\n }\n }\n}\n\nexport const UpgradeCommandHandler = UpgradeCommandHandlerAbstraction.createImplementation({\n implementation: UpgradeCommandHandlerImpl,\n dependencies: [UiService]\n});\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/cli-core",
|
|
3
|
-
"version": "6.1.0-beta.
|
|
3
|
+
"version": "6.1.0-beta.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@webiny/di": "0.2.3",
|
|
14
|
-
"@webiny/feature": "6.1.0-beta.
|
|
15
|
-
"@webiny/project": "6.1.0-beta.
|
|
16
|
-
"@webiny/pulumi-sdk": "6.1.0-beta.
|
|
17
|
-
"@webiny/telemetry": "6.1.0-beta.
|
|
14
|
+
"@webiny/feature": "6.1.0-beta.3",
|
|
15
|
+
"@webiny/project": "6.1.0-beta.3",
|
|
16
|
+
"@webiny/pulumi-sdk": "6.1.0-beta.3",
|
|
17
|
+
"@webiny/telemetry": "6.1.0-beta.3",
|
|
18
18
|
"chalk": "5.6.2",
|
|
19
19
|
"ci-info": "4.4.0",
|
|
20
20
|
"execa": "5.1.1",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/listr": "0.14.10",
|
|
39
39
|
"@types/lodash": "4.17.24",
|
|
40
|
-
"@webiny/build-tools": "6.1.0-beta.
|
|
40
|
+
"@webiny/build-tools": "6.1.0-beta.3",
|
|
41
41
|
"rimraf": "6.1.3",
|
|
42
42
|
"typescript": "5.9.3"
|
|
43
43
|
},
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"access": "public",
|
|
46
46
|
"directory": "dist"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "65e0ac1889b3392c99b8cac6cde508e1e831c715"
|
|
49
49
|
}
|