2020-02-20 00:41:06 +03:00
|
|
|
import * as asar from '..';
|
|
|
|
import * as fs from 'fs';
|
2024-09-10 04:21:22 +03:00
|
|
|
import * as crypto from 'crypto';
|
2020-02-20 00:41:06 +03:00
|
|
|
import { expectType } from 'tsd';
|
|
|
|
|
|
|
|
await asar.createPackage('bin', 'tmp/foo.asar');
|
|
|
|
await asar.createPackageWithOptions('bin', 'tmp/foo.asar', {
|
|
|
|
dot: true,
|
|
|
|
globOptions: {
|
|
|
|
debug: true,
|
|
|
|
},
|
2020-03-31 03:58:01 +03:00
|
|
|
transform: (filePath: string) => {
|
|
|
|
if (process.env.TRANSFORM_ASAR) {
|
2024-09-10 04:21:22 +03:00
|
|
|
return crypto
|
|
|
|
.createCipheriv('aes-256-cbc', crypto.randomBytes(32), crypto.randomBytes(16))
|
|
|
|
.setAutoPadding(true)
|
|
|
|
.setEncoding('base64');
|
2020-03-31 03:58:01 +03:00
|
|
|
}
|
2024-09-10 04:21:22 +03:00
|
|
|
},
|
2020-02-20 00:41:06 +03:00
|
|
|
});
|
|
|
|
await asar.createPackageFromFiles('bin', 'tmp/foo.asar', ['bin/asar.js']);
|
|
|
|
const stat = fs.statSync('bin/asar.js');
|
|
|
|
await asar.createPackageFromFiles('bin', 'tmp/foo.asar', ['bin/asar.js'], {
|
|
|
|
'bin/asar.js': {
|
|
|
|
type: 'file',
|
|
|
|
stat,
|
|
|
|
},
|
|
|
|
});
|
|
|
|
|
|
|
|
expectType<asar.Metadata>(asar.statFile('tmp/foo.asar', 'bin/asar.js'));
|
|
|
|
expectType<asar.Metadata>(asar.statFile('tmp/foo.asar', 'bin/asar.js', false));
|
|
|
|
|
|
|
|
expectType<string[]>(asar.listPackage('tmp/foo.asar'));
|
|
|
|
expectType<string[]>(asar.listPackage('tmp/foo.asar', { isPack: true }));
|
|
|
|
|
|
|
|
expectType<Buffer>(asar.extractFile('tmp/foo.asar', 'bin/asar.js'));
|
|
|
|
|
|
|
|
asar.extractAll('tmp/foo.asar', 'tmp');
|
|
|
|
|
|
|
|
expectType<boolean>(asar.uncache('tmp/foo.asar'));
|
|
|
|
|
|
|
|
asar.uncacheAll();
|