Skip to content

Commit

Permalink
#27416 Fixing NPM package version generation. +4.
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel Colina committed Feb 5, 2024
1 parent 5c3a95d commit 5f6f803
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/cli-release-process.yml
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ jobs:
cp ${{ github.workspace }}/tools/dotcms-cli/README.md .
echo "Adding package.json file"
jinja2 package.j2 -D packageNameWithVersion=${MVN_PACKAGE_NAME}-${MVN_PACKAGE_VERSION} -D packageName=${MVN_PACKAGE_NAME} -D npmPackageName=${NPM_PACKAGE_NAME} -D npmPackageVersion=${NPM_PACKAGE_VERSION} -D packageVersion=${MVN_PACKAGE_VERSION} --format json -o package.json
jinja2 package.j2 -D packageName=${MVN_PACKAGE_NAME} -D npmPackageName=${NPM_PACKAGE_NAME} -D npmPackageVersion=${NPM_PACKAGE_VERSION} -D packageVersion=${MVN_PACKAGE_VERSION} --format json -o package.json
rm -f package.j2
cat package.json
Expand Down
7 changes: 3 additions & 4 deletions tools/dotcms-cli/npm/package.j2
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,12 @@
"postuninstall": "node src/postinstall.js uninstall && npm prune"
},
"bin": {
"{{ packageName }}-{{ packageVersion }}-darwin-arm64": "bin/{{ packageName }}-{{ packageVersion }}-osx-aarch_64",
"{{ packageName }}-{{ packageVersion }}-darwin-x64": "bin/{{ packageName }}-{{ packageVersion }}-osx-x86_64",
"{{ packageName }}-{{ packageVersion }}-linux-x64": "bin/{{ packageName }}-{{ packageVersion }}-linux-x86_64"
"{{ packageName }}-darwin-arm64": "bin/{{ packageName }}-{{ packageVersion }}-osx-aarch_64",
"{{ packageName }}-darwin-x64": "bin/{{ packageName }}-{{ packageVersion }}-osx-x86_64",
"{{ packageName }}-linux-x64": "bin/{{ packageName }}-{{ packageVersion }}-linux-x86_64"
},
"alias": "{{ npmPackageName }}",
"packageName": "{{ packageName }}",
"packageNameWithVersion": "{{ packageName }}-{{ packageVersion }}",
"files": [
"bin",
"src"
Expand Down
14 changes: 4 additions & 10 deletions tools/dotcms-cli/npm/src/postinstall.js.seed
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ function getGlobalBinPath() {
}

function validatePackageConfig(packageJson) {
if (!packageJson.version || !packageJson.packageName || !packageJson.packageNameWithVersion || !packageJson.alias || !packageJson.bin || typeof packageJson.bin !== "object") {
throw new Error("Invalid package.json. 'version', 'packageName', 'packageNameWithVersion', 'alias' and 'bin' must be specified.");
if (!packageJson.version || !packageJson.packageName || !packageJson.alias || !packageJson.bin || typeof packageJson.bin !== "object") {
throw new Error("Invalid package.json. 'version', 'packageName', 'alias' and 'bin' must be specified.");
}
}

Expand All @@ -45,13 +45,11 @@ async function parsePackageJson() {
const packageJson = JSON.parse(packageJsonContent.toString());
validatePackageConfig(packageJson);

const packageNameWithVersion = packageJson.packageNameWithVersion;
const packageName = packageJson.packageName;
const alias = packageJson.alias;
const binaries = packageJson.bin;
const packageVersion = packageJson.version.replace(/^v/, "");
const extension = platform === "win32" ? ".exe" : "";
const binaryKey = `${packageNameWithVersion}-${platform}-${architecture}`;
const binaryKey = `${packageName}-${platform}-${architecture}`;
const binaryPath = binaries[binaryKey];

if (binaryPath) {
Expand All @@ -61,12 +59,8 @@ async function parsePackageJson() {
}

return {
packageNameWithVersion,
packageName,
alias,
binaryKey,
binaryPath,
packageVersion,
extension
};
} catch (error) {
Expand Down Expand Up @@ -156,4 +150,4 @@ if (cmd && actions[cmd]) {
} else {
console.log("Invalid command. `install` and `uninstall` are the only supported commands");
process.exit(1);
}
}

0 comments on commit 5f6f803

Please sign in to comment.