• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript license-checker.init函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: function

export default function (_options: {}, logger: logging.Logger) {
  checker.init({ start: path.join(__dirname, '..') }, (err: Error, json: JsonObject) => {
    if (err) {
      logger.fatal(`Something happened:\n${err.message}`);
    } else {
      logger.info(`Testing ${Object.keys(json).length} packages.\n`);

      // Packages with bad licenses are those that neither pass SPDX nor are ignored.
      const badLicensePackages = Object.keys(json)
      .map(key => ({
          id: key,
          licenses: ([] as string[])
            // tslint:disable-next-line:non-null-operator
            .concat((json[key] ! as JsonObject).licenses as string[])
            // `*` is used when the license is guessed.
            .map(x => x.replace(/\*$/, ''))
            .map(x => x in licenseReplacements ? licenseReplacements[x] : x),
      }))
      .filter(pkg => !passesSpdx(pkg.licenses, licensesWhitelist))
      .filter(pkg => !ignoredPackages.find(ignored => ignored === pkg.id));

      // Report packages with bad licenses
      if (badLicensePackages.length > 0) {
        logger.error('Invalid package licences found:');
        badLicensePackages.forEach(pkg => {
          logger.error(`${pkg.id}: ${JSON.stringify(pkg.licenses)}`);
        });
        logger.fatal(`\n${badLicensePackages.length} total packages with invalid licenses.`);
      } else {
        logger.info('All package licenses are valid.');
      }
    }
  });

// Check if a license is accepted by an array of accepted licenses
  function passesSpdx(licenses: string[], accepted: string[]) {
    return accepted.some(l => {
      try {
        return spdxSatisfies(licenses.join(' AND '), l);
      } catch (_) {
        return false;
      }
    });
  }
}
开发者ID:iwe7,项目名称:devkit,代码行数:45,代码来源:validate-licenses.ts


示例2: Promise

  return new Promise(resolve => {
    checker.init({ start: path.join(__dirname, '..') }, (err: Error, json: JsonObject) => {
      if (err) {
        logger.fatal(`Something happened:\n${err.message}`);
        resolve(1);
      } else {
        logger.info(`Testing ${Object.keys(json).length} packages.\n`);

        // Packages with bad licenses are those that neither pass SPDX nor are ignored.
        const badLicensePackages = Object.keys(json)
          .map(key => ({
            id: key,
            licenses: ([] as string[])
              // tslint:disable-next-line:non-null-operator
              .concat((json[key] ! as JsonObject).licenses as string[])
              // `*` is used when the license is guessed.
              .map(x => x.replace(/\*$/, ''))
              .map(x => x in licenseReplacements ? licenseReplacements[x] : x),
          }))
          .filter(pkg => !_passesSpdx(pkg.licenses, licensesWhitelist))
          .filter(pkg => !ignoredPackages.find(ignored => ignored === pkg.id));

        // Report packages with bad licenses
        if (badLicensePackages.length > 0) {
          logger.error('Invalid package licences found:');
          badLicensePackages.forEach(pkg => {
            logger.error(`${pkg.id}: ${JSON.stringify(pkg.licenses)}`);
          });
          logger.fatal(`\n${badLicensePackages.length} total packages with invalid licenses.`);
          resolve(2);
        } else {
          logger.info('All package licenses are valid.');
          resolve(0);
        }
      }
    });
  });
开发者ID:fmalcher,项目名称:angular-cli,代码行数:37,代码来源:validate-licenses.ts


示例3:

import * as checker from "license-checker";

checker.init(
    {
        start: "/path/to/start/looking",
        production: true,
        customPath: {
            licenseText: ""
        }
    },
    (err: Error, json: checker.ModuleInfos): void => {
        if (err) {
            throw err;
        } else {
            const licenses = Object.keys(json).reduce(
                (memo, key) => {
                    const license = json[key];
                    const { name, version, repository, licenseText } = license;
                    if (licenseText == null) {
                        return memo;
                    }
                    memo.push(license);
                    return memo;
                },
                [] as checker.ModuleInfo[]
            );
        }
    }
);
开发者ID:AlexGalays,项目名称:DefinitelyTyped,代码行数:29,代码来源:license-checker-tests.ts


示例4:

checker.init(
    {
        start: "/path/to/start/looking",
        production: true,
        customPath: {
            licenseText: ""
        },
        json: false,
        csv: false,
        csvComponentPrefix: "prefixColumn",
        out: "/write/to/specific/file",
        failOn: "impermissible;licenses",
        onlyAllow: "permissible;licenses",
        packages: "packages;to;check",
        excludePackages: "packages;to;exclude",
        excludePrivatePackages: false,
        direct: false
    },
    (err: Error, json: checker.ModuleInfos): void => {
        if (err) {
            throw err;
        } else {
            const licenses = Object.keys(json).reduce(
                (memo, key) => {
                    const license = json[key];
                    const { name, version, repository, licenseText } = license;
                    if (licenseText == null) {
                        return memo;
                    }
                    memo.push(license);
                    return memo;
                },
                [] as checker.ModuleInfo[]
            );
        }
    }
);
开发者ID:CNBoland,项目名称:DefinitelyTyped,代码行数:37,代码来源:license-checker-tests.ts


示例5:

// From README.md:

import * as checker from 'license-checker';

checker.init({
    start: '/path/to/start/looking'
}, (err: Error, json: checker.ModuleInfos): void => {
    if (err) {
        // Handle error
    } else {
        // The sorted json data
    }
});
开发者ID:AbraaoAlves,项目名称:DefinitelyTyped,代码行数:13,代码来源:license-checker-tests.ts



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript lighthouse-logger.setLevel函数代码示例发布时间:2022-05-25
下一篇:
TypeScript libxmljs.SaxPushParser类代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap