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


TypeScript tar-fs.pack函数代码示例

本文整理汇总了TypeScript中tar-fs.pack函数的典型用法代码示例。如果您正苦于以下问题:TypeScript pack函数的具体用法?TypeScript pack怎么用?TypeScript pack使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了pack函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: buildDocker

async function buildDocker(dir: string, tag: string): Promise<{}> {
  const tarStream = tar.pack(dir);
  const stream = await DOCKER.buildImage(tarStream, {t: tag});

  let resolve: (output: {}) => void;
  let reject: (err: Error) => void;
  const promise = new Promise((res, rej) => {
    resolve = res;
    reject = rej;
  });

  function onFinished(err: Error, output: {}) {
    if (err) {
      return reject(err);
    }

    resolve(output);
  }

  function onProgress(
      event: {stream?: string; status?: string; progress?: string;}) {
    log(event.stream);
    log(event.status);
    log(event.progress);
  }

  DOCKER.modem.followProgress(stream, onFinished, onProgress);
  return promise;
}
开发者ID:GoogleCloudPlatform,项目名称:nodejs-docker,代码行数:29,代码来源:test.ts

示例2: addContent

 async addContent(workspaceId: string,
   definition: WorkspaceDefinition,
   container: dockerode.Container,
   progress: (string) => void)
   : Promise<void> {
     let sourcePath = path.resolve(this.params.path);
     if (!fs.existsSync(sourcePath)) {
       logger.error("[ %s ] source path do not exists: %s", workspaceId, sourcePath);
       throw ("source path do not exists: " + sourcePath);
     }
     if (path.extname(sourcePath) != "tar") {
       logger.debug("[ %s ] making a tar file with the provided content: %s", workspaceId, sourcePath);
       const parentDir = path.join(os.tmpdir(), "docker-workspace");
       if(!fs.existsSync(parentDir)) {
         fs.mkdirSync(parentDir);
       }
       let tempDir = fs.mkdtempSync(path.join(parentDir, "fsCopy-"));
       let tarPath = path.join(tempDir, workspaceId+"-code.tar");
       logger.debug("[ %s ] creating tar file : %s", workspaceId, tarPath);
       tar.pack(sourcePath).pipe(fs.createWriteStream(tarPath))
           .on("finish", async () => {
             await putArchive(workspaceId, container, tarPath, definition.development.code.path);
             return;
       });
     } else {
       await putArchive(workspaceId, container, sourcePath, definition.development.code.path);
       return;
     }
 }
开发者ID:zojeda,项目名称:docker-workspace,代码行数:29,代码来源:FSCopyProvisioner.ts

示例3: loggerFactory

 let promise = new Promise<string>((resolve, reject) => {
     const logger = loggerFactory(referenceInfo, output)
     const tarFileName = referenceInfo.replace(/[\/\\]/, "_");
     const tempDir = fs.mkdtempSync(path.join(parentDir, tarFileName));
     const tarPath = path.join(tempDir, tarFileName + ".tar");
     const sourcePath = path.resolve(imagePath);
     logger.debug("creating tar file : %s from %s", tarPath, sourcePath);
     tar.pack(sourcePath).pipe(fs.createWriteStream(tarPath))
         .on("finish", () => {
             resolve(tarPath);
         })
         .on("error", reject);
 })
开发者ID:zojeda,项目名称:docker-workspace,代码行数:13,代码来源:utils.ts

示例4: GenerateTarGz

export function GenerateTarGz(src, dest, cb) {
  debug("GenerateTarGz");

  // A list of file extensions that should be packaged into the .tar.gz.
  // Files with all other file extenstions will be excluded to minimize the size
  // of the deployment transaction payload.
  var keep = [
    ".go",
    ".yaml",
    ".json",
    ".c",
    ".h",
    ".pem"
  ];

  // Create the pack stream specifying the ignore/filtering function
  var pack = tar.pack(src, {
    ignore: function(name) {
      // Check whether the entry is a file or a directory
      if (fs.statSync(name).isDirectory()) {
        // If the entry is a directory, keep it in order to examine it further
        return false
      } else {
        // If the entry is a file, check to see if it's the Dockerfile
        if (name.indexOf("Dockerfile") > -1) {
          return false
        }

        // If it is not the Dockerfile, check its extension
        var ext = path.extname(name);

        // Ignore any file who's extension is not in the keep list
        if (keep.indexOf(ext) === -1) {
          return true
        } else {
          return false
        }
      }
    }
  })
  .pipe(zlib.Gzip())
  .pipe(fs.createWriteStream(dest));

  pack.on("close", function() {
    return cb(null);
  });
  pack.on("error", function() {
    return cb(Error("Error on fs.createWriteStream"));
  });
}
开发者ID:Druson,项目名称:fabric,代码行数:50,代码来源:sdk_util.ts


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