本文整理汇总了TypeScript中asar-electron-builder.extractFile函数的典型用法代码示例。如果您正苦于以下问题:TypeScript extractFile函数的具体用法?TypeScript extractFile怎么用?TypeScript extractFile使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了extractFile函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: assertThat
packed: async context => {
await assertThat(path.join(context.getContent(Platform.LINUX), "new-name")).isFile()
assertThat(JSON.parse(extractFile(path.join(context.getResources(Platform.LINUX), "app.asar"), "package.json").toString())).hasProperties({
foo: {
bar: 12,
existingProp: 22,
}
})
}
示例2: doTest
async function doTest(outDir: string, perUser: boolean) {
if (process.env.DO_WINE !== "true") {
return BluebirdPromise.resolve()
}
const wine = new WineManager()
await wine.prepare()
const driveC = path.join(wine.wineDir, "drive_c")
const driveCWindows = path.join(wine.wineDir, "drive_c", "windows")
const perUserTempDir = path.join(wine.userDir, "Temp")
const walkFilter = (it: string) => {
return it !== driveCWindows && it !== perUserTempDir
}
function listFiles() {
return walk(driveC, null, walkFilter)
}
let fsBefore = await listFiles()
await wine.exec(path.join(outDir, "TestApp Setup 1.1.0.exe"), "/S")
const instDir = perUser ? path.join(wine.userDir, "Local Settings", "Application Data", "Programs") : path.join(driveC, "Program Files")
const appAsar = path.join(instDir, "TestApp", "1.1.0", "resources", "app.asar")
assertThat(JSON.parse(extractFile(appAsar, "package.json").toString())).hasProperties({
name: "TestApp"
})
let fsAfter = await listFiles()
let fsChanges = diff(fsBefore, fsAfter, driveC)
assertThat(fsChanges.added).isEqualTo(nsisPerMachineInstall)
assertThat(fsChanges.deleted).isEqualTo([])
// run installer again to test uninstall
const appDataFile = path.join(wine.userDir, "Application Data", "TestApp", "doNotDeleteMe")
await outputFile(appDataFile, "app data must be not removed")
fsBefore = await listFiles()
await wine.exec(path.join(outDir, "TestApp Setup 1.1.0.exe"), "/S")
fsAfter = await listFiles()
fsChanges = diff(fsBefore, fsAfter, driveC)
assertThat(fsChanges.added).isEqualTo([])
assertThat(fsChanges.deleted).isEqualTo([])
await assertThat(appDataFile).isFile()
await wine.exec(path.join(outDir, "TestApp Setup 1.1.0.exe"), "/S", "--delete-app-data")
await assertThat(appDataFile).doesNotExist()
}
示例3: loadConfig
export async function loadConfig(projectDir: string): Promise<Config | null> {
try {
const configPath = path.join(projectDir, "electron-builder.yml")
const result = safeLoad(await readFile(configPath, "utf8"))
log(`Using ${path.relative(projectDir, configPath)} configuration file`)
return result
}
catch (e) {
if (e.code !== "ENOENT") {
throw e
}
}
try {
return getConfigFromPackageData(await readPackageJson(path.join(projectDir, "package.json")))
}
catch (e) {
if (e.code !== "ENOENT") {
throw e
}
try {
const file = extractFile(path.join(projectDir, "app.asar"), "package.json")
if (file != null) {
return getConfigFromPackageData(JSON.parse(file.toString()))
}
}
catch (e) {
if (e.code !== "ENOENT") {
throw e
}
}
throw new Error(`Cannot find package.json in the ${projectDir}`)
}
}
示例4: assertThat
packed: async context => {
await assertThat(path.join(context.getContent(Platform.LINUX), "new-name")).isFile()
expect(JSON.parse(extractFile(path.join(context.getResources(Platform.LINUX), "app.asar"), "package.json").toString())).toMatchSnapshot()
}
示例5: doTest
async function doTest(outDir: string, perUser: boolean, productFilename = "TestApp Setup", name = "TestApp", menuCategory: string | null = null) {
if (process.env.DO_WINE !== "true") {
return BluebirdPromise.resolve()
}
const wine = new WineManager()
await wine.prepare()
const driveC = path.join(wine.wineDir, "drive_c")
const driveCWindows = path.join(wine.wineDir, "drive_c", "windows")
const perUserTempDir = path.join(wine.userDir, "Temp")
const walkFilter = (it: string) => {
return it !== driveCWindows && it !== perUserTempDir
}
function listFiles() {
return walk(driveC, null, walkFilter)
}
let fsBefore = await listFiles()
await wine.exec(path.join(outDir, `${productFilename} Setup 1.1.0.exe`), "/S")
let instDir = perUser ? path.join(wine.userDir, "Local Settings", "Application Data", "Programs") : path.join(driveC, "Program Files")
if (menuCategory != null) {
instDir = path.join(instDir, menuCategory)
}
const appAsar = path.join(instDir, name, "resources", "app.asar")
expect(JSON.parse(extractFile(appAsar, "package.json").toString())).toMatchObject({
name: name,
})
if (!perUser) {
let startMenuDir = path.join(driveC, "users", "Public", "Start Menu", "Programs")
if (menuCategory != null) {
startMenuDir = path.join(startMenuDir, menuCategory)
}
await assertThat(path.join(startMenuDir, `${productFilename}.lnk`)).isFile()
}
let fsAfter = await listFiles()
let fsChanges = diff(fsBefore, fsAfter, driveC)
expect(fsChanges.added).toMatchSnapshot()
expect(fsChanges.deleted).toEqual([])
// run installer again to test uninstall
const appDataFile = path.join(wine.userDir, "Application Data", name, "doNotDeleteMe")
await outputFile(appDataFile, "app data must be not removed")
fsBefore = await listFiles()
await wine.exec(path.join(outDir, `${productFilename} Setup 1.1.0.exe`), "/S")
fsAfter = await listFiles()
fsChanges = diff(fsBefore, fsAfter, driveC)
expect(fsChanges.added).toEqual([])
expect(fsChanges.deleted).toEqual([])
await assertThat(appDataFile).isFile()
await wine.exec(path.join(outDir, `${productFilename} Setup 1.1.0.exe`), "/S", "--delete-app-data")
await assertThat(appDataFile).doesNotExist()
}