Skip to content

Commit 3f12fc9

Browse files
BACKLOG-23333: Use dist/build folder for generated code (#279)
Update the pack-project.js script (used by yarn build) to pack the content of the dist/build/ folder into a dist/<project>-<version>.tgz file. If the dist/build folder does not exist, fallback to the previous behaviour and pack the root directory directly.
1 parent 7ec4e8a commit 3f12fc9

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

packages/scripts/deploy.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@
22
require('dotenv').config();
33
const {execSync} = require('child_process');
44
const pack = require('./pack-project');
5-
const {getPackageFilename} = require("./pack-utility");
5+
const {getPackageFilename} = require('./pack-utility');
66
const fs = require('fs');
7-
const path = require("path");
7+
const path = require('path');
88

99
const args = process.argv.slice(2);
1010
const deployMethod = process.env.JAHIA_DEPLOY_METHOD;
1111
const packageFileName = getPackageFilename(path.join(process.cwd(), 'package.json'), process.env.npm_package_name, process.env.npm_package_version);
12+
const buildDir = path.resolve('dist/build');
13+
const packDir = fs.existsSync(buildDir) ? path.resolve('dist') : process.cwd();
14+
const packageFilePath = path.join(packDir, packageFileName);
1215

1316
if (!fs.existsSync(packageFileName)) {
1417
console.log('Package hasn\'t been built previously, packing now using jahia-pack...');
@@ -20,8 +23,8 @@ if (!fs.existsSync(packageFileName)) {
2023

2124
if (deployMethod === 'curl') {
2225
console.log('Deploying URL curl to Jahia bundles REST API...');
23-
console.log(execSync(`curl -s --user ${process.env.JAHIA_USER} --form bundle=@./${packageFileName} --form start=true ${process.env.JAHIA_HOST}/modules/api/bundles`, {encoding: 'utf8'}));
26+
console.log(execSync(`curl -s --user ${process.env.JAHIA_USER} --form bundle=@./${packageFilePath} --form start=true ${process.env.JAHIA_HOST}/modules/api/bundles`, {encoding: 'utf8'}));
2427
} else {
2528
console.log('Deploying using Docker copy...');
26-
console.log(execSync(`docker cp ${packageFileName} ${process.env.JAHIA_DOCKER_NAME}:/var/jahia/modules`, {encoding: 'utf8'}));
29+
console.log(execSync(`docker cp ${packageFilePath} ${process.env.JAHIA_DOCKER_NAME}:/var/jahia/modules`, {encoding: 'utf8'}));
2730
}

packages/scripts/pack-project.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
const {execSync} = require('child_process');
22
const semver = require('semver');
33
const path = require('path');
4-
const {getPackageFilename} = require("./pack-utility");
5-
6-
4+
const {getPackageFilename} = require('./pack-utility');
5+
const fs = require('fs');
76

87
function pack() {
98
console.log('Node version detected:', process.versions.node);
109
const yarnVersion = execSync('yarn --version', {encoding: 'utf8'});
1110
console.log('Yarn version:', yarnVersion);
11+
const buildDir = path.resolve('dist/build');
12+
const packDir = fs.existsSync(buildDir) ? buildDir : process.cwd();
13+
console.log(`Packing folder ${packDir}...`);
1214

1315
if (semver.satisfies(yarnVersion, '1.x')) {
1416
console.log('Yarn Classic detected');
1517
console.log(execSync('yarn pack', {encoding: 'utf8'}));
1618
} else if (semver.gte(yarnVersion, '2.0.0')) {
1719
console.log('Yarn Berry detected');
18-
const outputFileName = getPackageFilename(path.join(process.cwd(), 'package.json'),process.env.npm_package_name,process.env.npm_package_version);
19-
console.log(execSync(`yarn pack --out ${outputFileName}`, {encoding: 'utf8'}));
20+
const outputFileName = getPackageFilename(path.join(process.cwd(), 'package.json'), process.env.npm_package_name, process.env.npm_package_version);
21+
console.log(execSync(`cd ${packDir} && yarn pack --out ${outputFileName} && mv ${outputFileName} ..`, {encoding: 'utf8'}));
2022
}
2123
}
2224

0 commit comments

Comments
 (0)