@shopify/oxygen-cli 4.3.6-unstable.202403221436.0 → 4.3.6
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +9 -0
- package/dist/deploy/metadata.js +19 -3
- package/dist/deploy/metadata.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# @shopify/oxygen-cli
|
2
2
|
|
3
|
+
## 4.3.6
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- 0d7cc10: Update oclif from 4.6.3 to 4.7.0
|
8
|
+
- 440897c: Use correct Git branch when used inside GitHub Actions
|
9
|
+
|
3
10
|
## 4.3.5
|
4
11
|
|
5
12
|
### Patch Changes
|
@@ -10,6 +17,8 @@
|
|
10
17
|
- 9097360: Update typescript from 5.4.2 to 5.4.3
|
11
18
|
- d9d8b03: Update oclif from 4.6.0 to 4.6.1
|
12
19
|
- 30b5d91: Update vite from 5.2.2 to 5.2.3
|
20
|
+
- 9167cbd: Update vite from 5.2.3 to 5.2.6
|
21
|
+
- 112304a: Update oclif from 4.6.1 to 4.6.3
|
13
22
|
|
14
23
|
## 4.3.4
|
15
24
|
|
package/dist/deploy/metadata.js
CHANGED
@@ -7,11 +7,10 @@ async function getMetadata(config, logger) {
|
|
7
7
|
const ciInfo = ciPlatform();
|
8
8
|
let metadata = {};
|
9
9
|
try {
|
10
|
-
const gitCommit = await
|
11
|
-
const branch = (/HEAD -> ([^,]*)/.exec(gitCommit.refs) || [])[1];
|
10
|
+
const gitCommit = await latestCommit(config.rootPath);
|
12
11
|
metadata = {
|
13
12
|
actor: gitCommit.author_name,
|
14
|
-
branch,
|
13
|
+
branch: gitCommit.branch,
|
15
14
|
commitDate: gitCommit.date,
|
16
15
|
commitSha: gitCommit.hash,
|
17
16
|
commitMessage: createCommitTitle(gitCommit.message)
|
@@ -37,6 +36,23 @@ async function getMetadata(config, logger) {
|
|
37
36
|
url: config.metadata.url ?? metadata.url
|
38
37
|
};
|
39
38
|
}
|
39
|
+
async function latestCommit(path) {
|
40
|
+
const gitCommit = await getLatestGitCommit(path);
|
41
|
+
const branch = (/HEAD -> ([^,]*)/.exec(gitCommit.refs) || [])[1];
|
42
|
+
const headRef = process.env.GITHUB_HEAD_REF;
|
43
|
+
if (!headRef) {
|
44
|
+
return {
|
45
|
+
...gitCommit,
|
46
|
+
branch
|
47
|
+
};
|
48
|
+
}
|
49
|
+
const match = /Merge ([\w\d]+) into [\w\d]+/.exec(gitCommit.message);
|
50
|
+
return {
|
51
|
+
...gitCommit,
|
52
|
+
branch: headRef,
|
53
|
+
hash: match ? match[1] : gitCommit.hash
|
54
|
+
};
|
55
|
+
}
|
40
56
|
function createCommitTitle(commitMessage) {
|
41
57
|
let title = commitMessage.split(/\r?\n/)[0]?.trim() || "";
|
42
58
|
let jsonTitle = JSON.stringify(title);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/deploy/metadata.ts"],"names":["keyMapping"],"mappings":"AAAA,SAAQ,kBAA6B;AACrC,SAAQ,0BAAyB;AACjC,SAAgB,kBAAiB;AAEjC,SAAQ,sBAAqB;AAS7B,eAAsB,YACpB,QACA,QACmB;AACnB,QAAM,SAAS,WAAW;AAC1B,MAAI,WAAqB,CAAC;AAE1B,MAAI;AACF,UAAM,YAAY,MAAM,
|
1
|
+
{"version":3,"sources":["../../src/deploy/metadata.ts"],"names":["keyMapping"],"mappings":"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","sourcesContent":["import {ciPlatform, CIMetadata} from '@shopify/cli-kit/node/context/local';\nimport {getLatestGitCommit} from '@shopify/cli-kit/node/git';\nimport {Logger, outputWarn} from '@shopify/cli-kit/node/output';\n\nimport {maxLabelLength} from '../utils/utils.js';\n\nimport {DeploymentConfig, EnvironmentInput} from './types.js';\n\ntype Metadata = CIMetadata & {\n commitDate?: string;\n name?: string;\n};\n\nexport async function getMetadata(\n config: DeploymentConfig,\n logger: Logger,\n): Promise<Metadata> {\n const ciInfo = ciPlatform();\n let metadata: Metadata = {};\n\n try {\n const gitCommit = await latestCommit(config.rootPath);\n\n metadata = {\n actor: gitCommit.author_name,\n branch: gitCommit.branch,\n commitDate: gitCommit.date,\n commitSha: gitCommit.hash,\n commitMessage: createCommitTitle(gitCommit.message),\n };\n } catch (error) {\n outputWarn(\n 'Could not retrieve Git history, commit message will be unavailable.',\n logger,\n );\n }\n\n if (ciInfo.isCI && ciInfo.name !== 'unknown') {\n metadata = {\n ...metadata,\n ...ciInfo.metadata,\n };\n }\n\n return {\n name: ciInfo.isCI ? ciInfo.name : 'none',\n ...metadata,\n actor: config.metadata.user ?? metadata.actor,\n commitMessage: config.metadata.description ?? metadata.commitMessage,\n commitSha: config.metadata.version ?? metadata.commitSha,\n url: config.metadata.url ?? metadata.url,\n };\n}\n\nasync function latestCommit(path?: string) {\n const gitCommit = await getLatestGitCommit(path);\n const branch = (/HEAD -> ([^,]*)/.exec(gitCommit.refs) || [])[1];\n\n // If this variable is set it means we are in a GitHub action using the\n // pull_request trigger which creates a merge commit and we'll need to\n // manually extract the commit details.\n // eslint-disable-next-line no-process-env\n const headRef = process.env.GITHUB_HEAD_REF;\n\n if (!headRef) {\n return {\n ...gitCommit,\n branch,\n };\n }\n\n const match = /Merge ([\\w\\d]+) into [\\w\\d]+/.exec(gitCommit.message);\n\n return {\n ...gitCommit,\n branch: headRef,\n hash: match ? match[1] : gitCommit.hash,\n };\n}\n\nfunction createCommitTitle(commitMessage: string): string {\n let title = commitMessage.split(/\\r?\\n/)[0]?.trim() || '';\n let jsonTitle = JSON.stringify(title);\n let isTruncated = false;\n\n while (jsonTitle.length > maxLabelLength) {\n const lastSpaceIndex = title.lastIndexOf(' ', maxLabelLength - 3);\n title = `${title.substring(\n 0,\n lastSpaceIndex > -1 ? lastSpaceIndex : maxLabelLength - 3,\n )}`.trimEnd();\n isTruncated = true;\n jsonTitle = JSON.stringify(title);\n }\n\n return isTruncated ? `${title}...` : title;\n}\n\nexport function getEnvironmentInput(\n config: DeploymentConfig,\n metadata: CIMetadata,\n): EnvironmentInput | undefined {\n if (config.defaultEnvironment) {\n return undefined;\n }\n\n const tag = config.environmentTag || metadata.branch;\n return tag ? {tag} : undefined;\n}\n\nexport function createLabels(metadata: Metadata): string[] {\n const labels: string[] = [];\n\n const checkLabel = (labelKey: string, labelValue: string) => {\n const jsonString = JSON.stringify(labelValue);\n if (jsonString.length > maxLabelLength) {\n throw new Error(\n `Provided ${labelKey} metadata exceeds maximum length (max ${maxLabelLength} characters).`,\n );\n }\n const label = `${labelKey}=${jsonString}`;\n labels.push(label);\n };\n\n if (metadata.name !== 'none') {\n labels.push(`ci-platform=${JSON.stringify(metadata.name)}`);\n }\n\n if (metadata.name !== 'unknown') {\n const keyMapping = {\n attempt: 'attempt',\n run: 'runId',\n };\n\n for (const [key, value] of Object.entries(keyMapping)) {\n const metadataKey = key as keyof Metadata;\n if (metadata[metadataKey]) {\n labels.push(\n `${metadata.name}-${value}=${JSON.stringify(metadata[metadataKey])}`,\n );\n }\n }\n }\n\n const keyMapping = {\n actor: 'user',\n branch: 'branch',\n commitDate: 'commit-date',\n commitMessage: 'description',\n commitSha: 'version',\n url: 'url',\n };\n\n for (const [key, value] of Object.entries(keyMapping)) {\n const metadataKey = key as keyof Metadata;\n if (metadata[metadataKey]) {\n checkLabel(value, metadata[metadataKey]!);\n }\n }\n\n return labels;\n}\n"]}
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
"@shopify:registry": "https://registry.npmjs.org"
|
6
6
|
},
|
7
7
|
"license": "MIT",
|
8
|
-
"version": "4.3.6
|
8
|
+
"version": "4.3.6",
|
9
9
|
"type": "module",
|
10
10
|
"scripts": {
|
11
11
|
"build": "tsup --sourcemap --clean --config ./tsup.config.ts && oclif manifest",
|
@@ -60,7 +60,7 @@
|
|
60
60
|
"oclif": "^4",
|
61
61
|
"tsup": "^8.0.2",
|
62
62
|
"typescript": "^5.4.3",
|
63
|
-
"vite": "^5.2.
|
63
|
+
"vite": "^5.2.6",
|
64
64
|
"vitest": "^1.4.0"
|
65
65
|
},
|
66
66
|
"prettier": "@shopify/prettier-config",
|