@shopify/cli 3.0.14 → 3.0.15
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/CHANGELOG.md +10 -0
- package/dist/commands/upgrade.js +70 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/services/monorail.js +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @shopify/cli
|
|
2
2
|
|
|
3
|
+
## 3.0.15
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 99378ca0: Push dependency manager detection into cli-kit
|
|
8
|
+
- 99378ca0: Add command to upgrade all project types
|
|
9
|
+
- Updated dependencies [c3b711ec]
|
|
10
|
+
- Updated dependencies [99378ca0]
|
|
11
|
+
- @shopify/cli-kit@3.0.15
|
|
12
|
+
|
|
3
13
|
## 3.0.14
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Flags, Command } from '@oclif/core';
|
|
2
|
+
import { path, error, output, file, dependency } from '@shopify/cli-kit';
|
|
3
|
+
|
|
4
|
+
const _Upgrade = class extends Command {
|
|
5
|
+
async run() {
|
|
6
|
+
const { flags } = await this.parse(_Upgrade);
|
|
7
|
+
const directory = flags.path ? path.resolve(flags.path) : process.cwd();
|
|
8
|
+
const projectDir = await this.getProjectDir(directory);
|
|
9
|
+
if (!projectDir) {
|
|
10
|
+
throw new error.Abort(output.content`Couldn't find the configuration file for ${output.token.path(directory)}, are you in a Shopify project directory?`);
|
|
11
|
+
}
|
|
12
|
+
const packageJson = JSON.parse(await file.read(path.join(projectDir, "package.json")));
|
|
13
|
+
const packageJsonDependencies = packageJson.dependencies || {};
|
|
14
|
+
const packageJsonDevDependencies = packageJson.devDependencies || {};
|
|
15
|
+
const cliDependency = "@shopify/cli";
|
|
16
|
+
let currentVersion = { ...packageJsonDependencies, ...packageJsonDevDependencies }[cliDependency];
|
|
17
|
+
if (currentVersion.slice(0, 1).match(/[\^~]/))
|
|
18
|
+
currentVersion = this.config.version;
|
|
19
|
+
const newestVersion = await dependency.checkForNewVersion(cliDependency, currentVersion);
|
|
20
|
+
if (!newestVersion) {
|
|
21
|
+
output.info(output.content`You're on the latest version, ${output.token.yellow(currentVersion)}, no need to upgrade!`);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
output.info(output.content`Upgrading CLI from ${output.token.yellow(currentVersion)} to ${output.token.yellow(newestVersion)}...`);
|
|
25
|
+
await this.installJsonDependencies("prod", packageJsonDependencies, projectDir);
|
|
26
|
+
await this.installJsonDependencies("dev", packageJsonDevDependencies, projectDir);
|
|
27
|
+
output.success(`Upgraded Shopify CLI to version ${newestVersion}`);
|
|
28
|
+
}
|
|
29
|
+
async getProjectDir(directory) {
|
|
30
|
+
return path.findUp(async (dir) => {
|
|
31
|
+
const configFilesExist = await Promise.all(["shopify.app.toml", "hydrogen.config.js", "hydrogen.config.ts"].map(async (configFile) => {
|
|
32
|
+
return file.exists(path.join(dir, configFile));
|
|
33
|
+
}));
|
|
34
|
+
if (configFilesExist.some((bool) => bool))
|
|
35
|
+
return dir;
|
|
36
|
+
}, {
|
|
37
|
+
cwd: directory,
|
|
38
|
+
type: "directory"
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async installJsonDependencies(depsEnv, deps, directory) {
|
|
42
|
+
const packages = ["@shopify/cli", "@shopify/app", "@shopify/cli-hydrogen"];
|
|
43
|
+
const packagesToUpdate = packages.filter((pkg) => {
|
|
44
|
+
const pkgRequirement = deps[pkg];
|
|
45
|
+
return Boolean(pkgRequirement);
|
|
46
|
+
});
|
|
47
|
+
if (packagesToUpdate.length > 0) {
|
|
48
|
+
await dependency.addLatestNPMDependencies(packagesToUpdate, {
|
|
49
|
+
dependencyManager: await dependency.getDependencyManager(directory),
|
|
50
|
+
type: depsEnv,
|
|
51
|
+
directory,
|
|
52
|
+
stdout: process.stdout,
|
|
53
|
+
stderr: process.stderr
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
let Upgrade = _Upgrade;
|
|
59
|
+
Upgrade.description = "Upgrade the Shopify CLI";
|
|
60
|
+
Upgrade.flags = {
|
|
61
|
+
path: Flags.string({
|
|
62
|
+
hidden: false,
|
|
63
|
+
description: "The path to your project directory.",
|
|
64
|
+
parse: (input, _) => Promise.resolve(path.resolve(input)),
|
|
65
|
+
env: "SHOPIFY_FLAG_PATH"
|
|
66
|
+
})
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export { Upgrade as default };
|
|
70
|
+
//# sourceMappingURL=upgrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.js","sources":["../../src/cli/commands/upgrade.ts"],"sourcesContent":["import {Command, Flags} from '@oclif/core'\nimport {dependency, error, file, output, path} from '@shopify/cli-kit'\n\nexport default class Upgrade extends Command {\n static description = 'Upgrade the Shopify CLI'\n\n static flags = {\n path: Flags.string({\n hidden: false,\n description: 'The path to your project directory.',\n parse: (input, _) => Promise.resolve(path.resolve(input)),\n env: 'SHOPIFY_FLAG_PATH',\n }),\n }\n\n async run(): Promise<void> {\n const {flags} = await this.parse(Upgrade)\n const directory = flags.path ? path.resolve(flags.path) : process.cwd()\n\n const projectDir = await this.getProjectDir(directory)\n if (!projectDir) {\n throw new error.Abort(\n output.content`Couldn't find the configuration file for ${output.token.path(\n directory,\n )}, are you in a Shopify project directory?`,\n )\n }\n const packageJson = JSON.parse(await file.read(path.join(projectDir, 'package.json')))\n const packageJsonDependencies: {[key: string]: string} = packageJson.dependencies || {}\n const packageJsonDevDependencies: {[key: string]: string} = packageJson.devDependencies || {}\n\n const cliDependency = '@shopify/cli'\n let currentVersion: string = {...packageJsonDependencies, ...packageJsonDevDependencies}[cliDependency]\n if (currentVersion.slice(0, 1).match(/[\\^~]/)) currentVersion = this.config.version\n const newestVersion = await dependency.checkForNewVersion(cliDependency, currentVersion)\n\n if (!newestVersion) {\n output.info(\n output.content`You're on the latest version, ${output.token.yellow(currentVersion)}, no need to upgrade!`,\n )\n return\n }\n\n output.info(\n output.content`Upgrading CLI from ${output.token.yellow(currentVersion)} to ${output.token.yellow(\n newestVersion,\n )}...`,\n )\n\n await this.installJsonDependencies('prod', packageJsonDependencies, projectDir)\n await this.installJsonDependencies('dev', packageJsonDevDependencies, projectDir)\n\n output.success(`Upgraded Shopify CLI to version ${newestVersion}`)\n }\n\n async getProjectDir(directory: string) {\n return path.findUp(\n async (dir: string) => {\n const configFilesExist = await Promise.all(\n ['shopify.app.toml', 'hydrogen.config.js', 'hydrogen.config.ts'].map(async (configFile) => {\n return file.exists(path.join(dir, configFile))\n }),\n )\n if (configFilesExist.some((bool) => bool)) return dir\n },\n {\n cwd: directory,\n type: 'directory',\n },\n )\n }\n\n async installJsonDependencies(\n depsEnv: dependency.DependencyType,\n deps: {[key: string]: string},\n directory: string,\n ): Promise<void> {\n const packages = ['@shopify/cli', '@shopify/app', '@shopify/cli-hydrogen']\n const packagesToUpdate = packages.filter((pkg: string): boolean => {\n const pkgRequirement: string | undefined = deps[pkg]\n return Boolean(pkgRequirement)\n })\n\n if (packagesToUpdate.length > 0) {\n await dependency.addLatestNPMDependencies(packagesToUpdate, {\n dependencyManager: await dependency.getDependencyManager(directory),\n type: depsEnv,\n directory,\n stdout: process.stdout,\n stderr: process.stderr,\n })\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shopify/cli",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.15",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A CLI tool to build for the Shopify platform",
|
|
6
6
|
"type": "module",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@oclif/core": "1.9.0",
|
|
52
52
|
"@oclif/plugin-help": "^5.1.12",
|
|
53
53
|
"@oclif/plugin-plugins": "^2.1.0",
|
|
54
|
-
"@shopify/cli-kit": "3.0.
|
|
54
|
+
"@shopify/cli-kit": "3.0.15",
|
|
55
55
|
"@shopify/plugin-ngrok": "^0.2.6"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|