Skip to content

Commit 51f1677

Browse files
BACKLOG-22972: Adapt scripts to support snapshot artifacts
1 parent 2179eb3 commit 51f1677

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

packages/scripts/deploy.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
#!/usr/bin/env node
22
require('dotenv').config();
33
const {execSync} = require('child_process');
4-
const pack = require('./pack-project');
4+
const {pack, getPackageFilename} = require('./pack-project');
55
const fs = require('fs');
6+
const path = require("path");
67

78
const args = process.argv.slice(2);
89
const deployMethod = process.env.JAHIA_DEPLOY_METHOD;
9-
const cleanPackageName = process.env.npm_package_name.replace(/@/g, '').replace(/\//g, '-');
10-
const packageFileName = `${cleanPackageName}-v${process.env.npm_package_version}.tgz`;
10+
const packageFileName = getPackageFilename(path.join(process.cwd(), 'package.json'), process.env.npm_package_name, process.env.npm_package_version);
1111

1212
if (!fs.existsSync(packageFileName)) {
1313
console.log('Package hasn\'t been built previously, packing now using jahia-pack...');

packages/scripts/pack-project.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,30 @@
11
const {execSync} = require('child_process');
22
const semver = require('semver');
3+
const fs = require('fs');
4+
const path = require('path');
5+
6+
7+
function getPackageFilename(packageJsonPath, packageName, packageVersion) {
8+
const packageJsonContent = fs.readFileSync(packageJsonPath, { encoding: 'utf8' });
9+
const packageJson = JSON.parse(packageJsonContent);
10+
const cleanPackageName = packageName.replace(/@/g, '').replace(/\//g, '-');
11+
const snapshotUsed = packageJson?.jahia?.snapshot?.toString().toLowerCase() === 'true';
12+
return `${cleanPackageName}-v${packageVersion}${snapshotUsed ? '-SNAPSHOT' : ''}.tgz`;
13+
}
314

415
function pack() {
516
console.log('Node version detected:', process.versions.node);
617
const yarnVersion = execSync('yarn --version', {encoding: 'utf8'});
718
console.log('Yarn version:', yarnVersion);
8-
const cleanPackageName = process.env.npm_package_name.replace(/@/g, '').replace(/\//g, '-');
919

1020
if (semver.satisfies(yarnVersion, '1.x')) {
1121
console.log('Yarn Classic detected');
1222
console.log(execSync('yarn pack', {encoding: 'utf8'}));
1323
} else if (semver.gte(yarnVersion, '2.0.0')) {
1424
console.log('Yarn Berry detected');
15-
console.log(execSync(`yarn pack --out ${cleanPackageName}-v${process.env.npm_package_version}.tgz`, {encoding: 'utf8'}));
25+
const outputFileName = getPackageFilename(path.join(process.cwd(), 'package.json'),process.env.npm_package_name,process.env.npm_package_version);
26+
console.log(execSync(`yarn pack --out ${outputFileName}`, {encoding: 'utf8'}));
1627
}
1728
}
1829

19-
module.exports = pack;
30+
module.exports = { pack, getPackageFilename };

0 commit comments

Comments
 (0)