@shopify/oxygen-cli 4.3.6-unstable.202403221436.0 → 4.3.6
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 +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",
|