Skip to content

Commit 178dd38

Browse files
committed
Fix undefined variable references in dev-branch conversion
Addresses review feedback from @rhoerr on PR #218. Fixed three scope issues where variables were referenced incorrectly: 1. chooseNameAndVersion (line 118): Changed `ref` to `instruction.ref` since `ref` is not a parameter 2. createComposerJsonOnlyPackage (line 396): Changed `release` and `ref` to `release.version` and `release.ref` 3. createMetaPackageFromRepoDir (line 694): Changed `release`, `dependencyVersions[name]`, and `ref` to proper release object properties These fixes ensure the dev-branch format conversion logic accesses the correct variables in scope.
1 parent 7216cce commit 178dd38

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

src/package-modules.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,12 @@ function chooseNameAndVersion(instruction, package, magentoName, composerJson, d
113113
let composerConfig = JSON.parse(composerJson);
114114
let {version, name} = composerConfig;
115115
version = definedVersion || version || fallbackVersion;
116-
117-
// If no version is found and ref looks like a branch name, convert to dev-branch format
118-
if (!version && ref && !ref.match(/^v?\d+\.\d+/)) {
119-
version = `dev-${ref}`;
116+
117+
// If no version is found and instruction.ref looks like a branch name, convert to dev-branch format
118+
if (!version && instruction.ref && !instruction.ref.match(/^v?\d+\.\d+/)) {
119+
version = `dev-${instruction.ref}`;
120120
}
121-
121+
122122
// ALWAYS convert invalid version strings that are branch names to dev-branch format
123123
// This catches cases where composer.json itself contains "develop" as version
124124
if (version && !version.match(/^v?\d+\.\d+/) && !version.startsWith('dev-') && version.match(/^[a-zA-Z][a-zA-Z0-9_-]*$/)) {
@@ -393,11 +393,11 @@ async function createComposerJsonOnlyPackage(instruction, release, name, version
393393
}];
394394

395395
// Convert branch names to proper dev-branch format for Composer
396-
let versionForFilename = release || ref;
397-
if (!release && ref && !ref.match(/^v?\d+\.\d+/)) {
398-
versionForFilename = `dev-${ref}`;
396+
let versionForFilename = release.version || release.ref;
397+
if (!release.version && release.ref && !release.ref.match(/^v?\d+\.\d+/)) {
398+
versionForFilename = `dev-${release.ref}`;
399399
}
400-
400+
401401
// Also check if versionForFilename looks like a branch name and convert it
402402
if (versionForFilename && !versionForFilename.match(/^v?\d+\.\d+/) && !versionForFilename.startsWith('dev-')) {
403403
versionForFilename = `dev-${versionForFilename}`;
@@ -689,10 +689,10 @@ async function createMetaPackageFromRepoDir(instruction, package, release) {
689689
throw {message: `Unable find package name and in composer.json for metapackage ${release.ref} in ${package.dir}`}
690690
}
691691
version = release.version || release.dependencyVersions[name] || version || release.ref;
692-
692+
693693
// If no version is found and ref looks like a branch name, convert to dev-branch format
694-
if (!release && !dependencyVersions[name] && !composerConfig.version && ref && !ref.match(/^v?\d+\.\d+/)) {
695-
version = `dev-${ref}`;
694+
if (!release.version && !release.dependencyVersions[name] && !composerConfig.version && release.ref && !release.ref.match(/^v?\d+\.\d+/)) {
695+
version = `dev-${release.ref}`;
696696
}
697697

698698
// Ensure version is set on composer config because not all repos provide the version in composer.json (e.g.

0 commit comments

Comments
 (0)