当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript asar-electron-builder.extractFile函数代码示例

本文整理汇总了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,
     }
   })
 }
开发者ID:heinzbeinz,项目名称:electron-builder,代码行数:9,代码来源:extraMetadataTest.ts

示例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()
}
开发者ID:Icenium,项目名称:electron-builder,代码行数:50,代码来源:nsisTest.ts

示例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}`)
  }
}
开发者ID:mbrainiac,项目名称:electron-builder,代码行数:36,代码来源:readPackageJson.ts

示例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()
 }
开发者ID:mbrainiac,项目名称:electron-builder,代码行数:4,代码来源:extraMetadataTest.ts

示例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()
}
开发者ID:mbrainiac,项目名称:electron-builder,代码行数:62,代码来源:nsisTest.ts


注:本文中的asar-electron-builder.extractFile函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。