Skip to content

Commit 58430af

Browse files
authored
Merge pull request #20 from Lazyt3ch/master
Code refactoring and two broken links fixing
2 parents 3aac6cd + 288e89e commit 58430af

File tree

4 files changed

+133
-241
lines changed

4 files changed

+133
-241
lines changed

installer.mjs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,19 @@ const windowsPlatform = {
4141
};
4242

4343
const windowsOtherPlatform = {
44-
source: join(cwd, '7z1701.exe'),
44+
source: join(cwd, '7z1604.exe'),
4545
destination: join(cwd, 'other32'),
46-
url: 'https://d.7-zip.org/a/',
47-
filename: '7z1701.exe',
48-
extraName: '7z1701-extra.7z',
46+
url: 'https://www.7-zip.org/a/',
47+
filename: '7z1604.exe',
48+
extraName: '7z1604-extra.7z',
4949
extractFolder: '',
5050
appLocation: '',
5151
binaryFiles: ['7z.exe', '7z.dll', '7z.sfx', '7zCon.sfx'],
5252
binaryDestinationDir: join(__dirname, 'binaries', 'win32', 'other32'),
5353
sfxModules: ['7za.dll', '7za.exe', '7zxa.dll'],
5454
platform: 'win32',
5555
binary: '7z.exe',
56-
extraSourceFile: join(cwd, 'other32', '7z1701-extra.7z'),
56+
extraSourceFile: join(cwd, 'other32', '7z1604-extra.7z'),
5757
};
5858

5959
const linuxPlatform = {

src/createSfx.ts

Lines changed: 37 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,18 @@ export function createSfx(
133133
reject: (err: string) => void,
134134
progress: (data: any) => any
135135
) {
136-
let directory =
137-
destination != '' && fs.existsSync(destination)
138-
? destination
139-
: getPath('when');
136+
let directory = undefined;
137+
if (destination && fs.existsSync(destination))
138+
directory = destination;
139+
else {
140+
const whenPath = getPath('when');
141+
if (!whenPath) return reject('Path not found!');
142+
directory = whenPath;
143+
}
144+
140145
let SfxDirectory = join(directory, 'SfxPackages');
141146
fs.ensureDirSync(SfxDirectory);
142-
let override =
143-
isWindows() && (platform == 'linux' || platform == 'darwin');
147+
const override = isWindows() && ['linux', 'darwin'].includes(platform);
144148
let binaryDirectory = Binary(override);
145149
let configFile = join(binaryDirectory.path, 'config.txt');
146150
//let configFile = join(SfxDirectory, 'config.txt');
@@ -166,24 +170,29 @@ export function createSfx(
166170
if (text) config.write('ExecuteParameters=' + text + '\n');
167171
config.write(';!@InstallEnd@!' + '\n');
168172
config.close();
169-
delete options.title;
170-
delete options.prompt;
171-
delete options.beginPrompt;
172-
delete options.progress;
173-
delete options.run;
174-
delete options.runProgram;
175-
delete options.directory;
176-
delete options.execute;
177-
delete options.executeFile;
178-
delete options.parameters;
179-
delete options.executeParameters;
180-
let sfxModule =
181-
type == 'gui' ? '7zwin32.sfx' : '7zCon' + platform + '.sfx';
182-
let sfx = name.includes(extension) ? name : name + extension;
183-
let list = Array.isArray(files)
184-
? [configFile].concat(files)
185-
: configFile + ' ' + files;
186-
sfx = join(SfxDirectory, sfx);
173+
[
174+
'title',
175+
'prompt',
176+
'beginPrompt',
177+
'progress',
178+
'run',
179+
'runProgram',
180+
'directory',
181+
'execute',
182+
'executeFile',
183+
'parameters',
184+
'executeParameters'
185+
].forEach((name) => delete options[name]);
186+
const sfxModule = type === 'gui'
187+
? '7zwin32.sfx'
188+
: `7zCon${platform}.sfx`;
189+
const sfxFilename = name.includes(extension)
190+
? name
191+
: name + extension;
192+
const sfx = join(SfxDirectory, sfxFilename);
193+
let list = Array.isArray(files)
194+
? [configFile, ...files]
195+
: `${configFile} ${files}`;
187196
let params = Object.assign(options, {
188197
sfx: sfxModule,
189198
});
@@ -198,12 +207,10 @@ export function createSfx(
198207
if (fs.existsSync(sfx)) {
199208
return resolve(sfx);
200209
/* c8 ignore next 4 */
201-
} else {
202-
console.error(data);
203-
return reject(
204-
'Failed! The Sfx application could not be created!'
205-
);
206-
}
210+
}
211+
212+
console.error(data);
213+
return reject('Failed! The Sfx application could not be created!');
207214
});
208215
})
209216
.catch((err: string) => {

0 commit comments

Comments
 (0)