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


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

本文整理汇总了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;未经允许,请勿转载。