fix(core): update
This commit is contained in:
		
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -15,8 +15,6 @@ node_modules/
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# builds
 | 
					# builds
 | 
				
			||||||
dist/
 | 
					dist/
 | 
				
			||||||
dist_web/
 | 
					dist_*/
 | 
				
			||||||
dist_serve/
 | 
					 | 
				
			||||||
dist_ts_web/
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# custom
 | 
					# custom
 | 
				
			||||||
@@ -19,22 +19,35 @@ mirror:
 | 
				
			|||||||
  stage: security
 | 
					  stage: security
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - npmci git mirror
 | 
					    - npmci git mirror
 | 
				
			||||||
 | 
					  only:
 | 
				
			||||||
 | 
					    - tags
 | 
				
			||||||
  tags:
 | 
					  tags:
 | 
				
			||||||
    - lossless
 | 
					    - lossless
 | 
				
			||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
    - notpriv
 | 
					    - notpriv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snyk:
 | 
					auditProductionDependencies:
 | 
				
			||||||
  image: registry.gitlab.com/hosttoday/ht-docker-node:snyk
 | 
					  image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
 | 
				
			||||||
 | 
					  stage: security
 | 
				
			||||||
 | 
					  script:
 | 
				
			||||||
 | 
					    - npmci npm prepare
 | 
				
			||||||
 | 
					    - npmci command npm install --production --ignore-scripts
 | 
				
			||||||
 | 
					    - npmci command npm config set registry https://registry.npmjs.org
 | 
				
			||||||
 | 
					    - npmci command npm audit --audit-level=high --only=prod --production
 | 
				
			||||||
 | 
					  tags:
 | 
				
			||||||
 | 
					    - docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					auditDevDependencies:
 | 
				
			||||||
 | 
					  image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
 | 
				
			||||||
  stage: security
 | 
					  stage: security
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - npmci npm prepare
 | 
					    - npmci npm prepare
 | 
				
			||||||
    - npmci command npm install --ignore-scripts
 | 
					    - npmci command npm install --ignore-scripts
 | 
				
			||||||
    - npmci command snyk test
 | 
					    - npmci command npm config set registry https://registry.npmjs.org
 | 
				
			||||||
 | 
					    - npmci command npm audit --audit-level=high --only=dev
 | 
				
			||||||
  tags:
 | 
					  tags:
 | 
				
			||||||
    - lossless
 | 
					 | 
				
			||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
    - notpriv
 | 
					  allow_failure: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ====================
 | 
					# ====================
 | 
				
			||||||
# test stage
 | 
					# test stage
 | 
				
			||||||
@@ -49,9 +62,7 @@ testStable:
 | 
				
			|||||||
    - npmci npm test
 | 
					    - npmci npm test
 | 
				
			||||||
  coverage: /\d+.?\d+?\%\s*coverage/
 | 
					  coverage: /\d+.?\d+?\%\s*coverage/
 | 
				
			||||||
  tags:
 | 
					  tags:
 | 
				
			||||||
    - lossless
 | 
					 | 
				
			||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
    - priv
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
testBuild:
 | 
					testBuild:
 | 
				
			||||||
  stage: test
 | 
					  stage: test
 | 
				
			||||||
@@ -62,9 +73,7 @@ testBuild:
 | 
				
			|||||||
    - npmci command npm run build
 | 
					    - npmci command npm run build
 | 
				
			||||||
  coverage: /\d+.?\d+?\%\s*coverage/
 | 
					  coverage: /\d+.?\d+?\%\s*coverage/
 | 
				
			||||||
  tags:
 | 
					  tags:
 | 
				
			||||||
    - lossless
 | 
					 | 
				
			||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
    - notpriv
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
release:
 | 
					release:
 | 
				
			||||||
  stage: release
 | 
					  stage: release
 | 
				
			||||||
@@ -84,6 +93,8 @@ release:
 | 
				
			|||||||
codequality:
 | 
					codequality:
 | 
				
			||||||
  stage: metadata
 | 
					  stage: metadata
 | 
				
			||||||
  allow_failure: true
 | 
					  allow_failure: true
 | 
				
			||||||
 | 
					  only:
 | 
				
			||||||
 | 
					    - tags
 | 
				
			||||||
  script:
 | 
					  script:
 | 
				
			||||||
    - npmci command npm install -g tslint typescript
 | 
					    - npmci command npm install -g tslint typescript
 | 
				
			||||||
    - npmci npm prepare
 | 
					    - npmci npm prepare
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										29
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "version": "0.2.0",
 | 
				
			||||||
 | 
					  "configurations": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "current file",
 | 
				
			||||||
 | 
					      "type": "node",
 | 
				
			||||||
 | 
					      "request": "launch",
 | 
				
			||||||
 | 
					      "args": [
 | 
				
			||||||
 | 
					        "${relativeFile}"
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "runtimeArgs": ["-r", "@gitzone/tsrun"],
 | 
				
			||||||
 | 
					      "cwd": "${workspaceRoot}",
 | 
				
			||||||
 | 
					      "protocol": "inspector",
 | 
				
			||||||
 | 
					      "internalConsoleOptions": "openOnSessionStart"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "name": "test.ts",
 | 
				
			||||||
 | 
					      "type": "node",
 | 
				
			||||||
 | 
					      "request": "launch",
 | 
				
			||||||
 | 
					      "args": [
 | 
				
			||||||
 | 
					        "test/test.ts"
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "runtimeArgs": ["-r", "@gitzone/tsrun"],
 | 
				
			||||||
 | 
					      "cwd": "${workspaceRoot}",
 | 
				
			||||||
 | 
					      "protocol": "inspector",
 | 
				
			||||||
 | 
					      "internalConsoleOptions": "openOnSessionStart"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										26
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "json.schemas": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "fileMatch": ["/npmextra.json"],
 | 
				
			||||||
 | 
					      "schema": {
 | 
				
			||||||
 | 
					        "type": "object",
 | 
				
			||||||
 | 
					        "properties": {
 | 
				
			||||||
 | 
					          "npmci": {
 | 
				
			||||||
 | 
					            "type": "object",
 | 
				
			||||||
 | 
					            "description": "settings for npmci"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "gitzone": {
 | 
				
			||||||
 | 
					            "type": "object",
 | 
				
			||||||
 | 
					            "description": "settings for gitzone",
 | 
				
			||||||
 | 
					            "properties": {
 | 
				
			||||||
 | 
					              "projectType": {
 | 
				
			||||||
 | 
					                "type": "string",
 | 
				
			||||||
 | 
					                "enum": ["website", "element", "service", "npm", "wcc"]
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -4,6 +4,7 @@
 | 
				
			|||||||
    "npmAccessLevel": "public"
 | 
					    "npmAccessLevel": "public"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "gitzone": {
 | 
					  "gitzone": {
 | 
				
			||||||
 | 
					    "projectType": "npm",
 | 
				
			||||||
    "module": {
 | 
					    "module": {
 | 
				
			||||||
      "githost": "gitlab.com",
 | 
					      "githost": "gitlab.com",
 | 
				
			||||||
      "gitscope": "pushrocks",
 | 
					      "gitscope": "pushrocks",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										16
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								package.json
									
									
									
									
									
								
							@@ -3,11 +3,11 @@
 | 
				
			|||||||
  "version": "1.0.22",
 | 
					  "version": "1.0.22",
 | 
				
			||||||
  "private": false,
 | 
					  "private": false,
 | 
				
			||||||
  "description": "go legal programmatically",
 | 
					  "description": "go legal programmatically",
 | 
				
			||||||
  "main": "dist/index.js",
 | 
					  "main": "dist_ts/index.js",
 | 
				
			||||||
  "typings": "dist/index.d.ts",
 | 
					  "typings": "dist_ts/index.d.ts",
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "test": "tstest test/",
 | 
					    "test": "(tstest test/ --web)",
 | 
				
			||||||
    "build": "tsbuild"
 | 
					    "build": "(tsbuild --web)"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "repository": {
 | 
					  "repository": {
 | 
				
			||||||
    "type": "git",
 | 
					    "type": "git",
 | 
				
			||||||
@@ -47,11 +47,15 @@
 | 
				
			|||||||
    "ts/**/*",
 | 
					    "ts/**/*",
 | 
				
			||||||
    "ts_web/**/*",
 | 
					    "ts_web/**/*",
 | 
				
			||||||
    "dist/**/*",
 | 
					    "dist/**/*",
 | 
				
			||||||
    "dist_web/**/*",
 | 
					    "dist_*/**/*",
 | 
				
			||||||
 | 
					    "dist_ts/**/*",
 | 
				
			||||||
    "dist_ts_web/**/*",
 | 
					    "dist_ts_web/**/*",
 | 
				
			||||||
    "assets/**/*",
 | 
					    "assets/**/*",
 | 
				
			||||||
    "cli.js",
 | 
					    "cli.js",
 | 
				
			||||||
    "npmextra.json",
 | 
					    "npmextra.json",
 | 
				
			||||||
    "readme.md"
 | 
					    "readme.md"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "browserslist": [
 | 
				
			||||||
 | 
					    "last 1 chrome versions"
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										23
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								readme.md
									
									
									
									
									
								
							@@ -8,13 +8,20 @@ go legal programmatically
 | 
				
			|||||||
* [docs (typedoc)](https://pushrocks.gitlab.io/smartlegal/)
 | 
					* [docs (typedoc)](https://pushrocks.gitlab.io/smartlegal/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Status for master
 | 
					## Status for master
 | 
				
			||||||
[](https://gitlab.com/pushrocks/smartlegal/commits/master)
 | 
					
 | 
				
			||||||
[](https://gitlab.com/pushrocks/smartlegal/commits/master)
 | 
					Status Category | Status Badge
 | 
				
			||||||
[](https://www.npmjs.com/package/@pushrocks/smartlegal)
 | 
					-- | --
 | 
				
			||||||
[](https://snyk.io/test/npm/@pushrocks/smartlegal)
 | 
					GitLab Pipelines | [](https://lossless.cloud)
 | 
				
			||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
 | 
					GitLab Pipline Test Coverage | [](https://lossless.cloud)
 | 
				
			||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
 | 
					npm | [](https://lossless.cloud)
 | 
				
			||||||
[](https://prettier.io/)
 | 
					Snyk | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					TypeScript Support | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					node Support | [](https://nodejs.org/dist/latest-v10.x/docs/api/)
 | 
				
			||||||
 | 
					Code Style | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					PackagePhobia (total standalone install weight) | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					PackagePhobia (package size on registry) | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					BundlePhobia (total size when bundled) | [](https://lossless.cloud)
 | 
				
			||||||
 | 
					Platform support | [](https://lossless.cloud) [](https://lossless.cloud)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Usage
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -22,7 +29,7 @@ Use TypeScript for best in class instellisense.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
smartlegal implements
 | 
					smartlegal implements
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* a license checker for checking dependency trees against a set of licenses
 | 
					- a license checker for checking dependency trees against a set of licenses
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Contribution
 | 
					## Contribution
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,9 @@
 | 
				
			|||||||
import { IModuleLicenseResult } from "./interfaces";
 | 
					import { IModuleLicenseResult } from './interfaces';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class CheckResult {
 | 
					export class CheckResult {
 | 
				
			||||||
  passingModules: IModuleLicenseResult[] = [];
 | 
					  passingModules: IModuleLicenseResult[] = [];
 | 
				
			||||||
  failingModules: IModuleLicenseResult[] = [];
 | 
					  failingModules: IModuleLicenseResult[] = [];
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
  public addPassing(moduleResultArg: IModuleLicenseResult) {
 | 
					  public addPassing(moduleResultArg: IModuleLicenseResult) {
 | 
				
			||||||
    this.passingModules.push(moduleResultArg);
 | 
					    this.passingModules.push(moduleResultArg);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@@ -11,4 +11,4 @@ export class CheckResult {
 | 
				
			|||||||
  public addFailing(moduleResultArg: IModuleLicenseResult) {
 | 
					  public addFailing(moduleResultArg: IModuleLicenseResult) {
 | 
				
			||||||
    this.failingModules.push(moduleResultArg);
 | 
					    this.failingModules.push(moduleResultArg);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@ export class LicenseChecker {
 | 
				
			|||||||
  async excludeLicenseWithinPath(pathArg: string, licenseArrayArg: string[]) {
 | 
					  async excludeLicenseWithinPath(pathArg: string, licenseArrayArg: string[]) {
 | 
				
			||||||
    const checkResult = new CheckResult();
 | 
					    const checkResult = new CheckResult();
 | 
				
			||||||
    const plainResultArray = await this.createPlainResultArray(pathArg);
 | 
					    const plainResultArray = await this.createPlainResultArray(pathArg);
 | 
				
			||||||
    plainResultArray.forEach(licenseResult => {
 | 
					    plainResultArray.forEach((licenseResult) => {
 | 
				
			||||||
      if (licenseArrayArg.indexOf(licenseResult.license) === -1) {
 | 
					      if (licenseArrayArg.indexOf(licenseResult.license) === -1) {
 | 
				
			||||||
        checkResult.addPassing(licenseResult);
 | 
					        checkResult.addPassing(licenseResult);
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
@@ -20,7 +20,7 @@ export class LicenseChecker {
 | 
				
			|||||||
  async includeLicencesWithinPath(pathArg: string, licenseArrayArg: string[]) {
 | 
					  async includeLicencesWithinPath(pathArg: string, licenseArrayArg: string[]) {
 | 
				
			||||||
    const checkResult = new CheckResult();
 | 
					    const checkResult = new CheckResult();
 | 
				
			||||||
    const plainResultArray = await this.createPlainResultArray(pathArg);
 | 
					    const plainResultArray = await this.createPlainResultArray(pathArg);
 | 
				
			||||||
    plainResultArray.forEach(licenseResult => {
 | 
					    plainResultArray.forEach((licenseResult) => {
 | 
				
			||||||
      if (licenseArrayArg.indexOf(licenseResult.license) !== -1) {
 | 
					      if (licenseArrayArg.indexOf(licenseResult.license) !== -1) {
 | 
				
			||||||
        checkResult.addPassing(licenseResult);
 | 
					        checkResult.addPassing(licenseResult);
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
@@ -42,7 +42,7 @@ export class LicenseChecker {
 | 
				
			|||||||
        license: refObject.licenses,
 | 
					        license: refObject.licenses,
 | 
				
			||||||
        path: refObject.path,
 | 
					        path: refObject.path,
 | 
				
			||||||
        publisher: refObject.publisher,
 | 
					        publisher: refObject.publisher,
 | 
				
			||||||
        repository: refObject.repository
 | 
					        repository: refObject.repository,
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return resultArray;
 | 
					    return resultArray;
 | 
				
			||||||
@@ -52,7 +52,7 @@ export class LicenseChecker {
 | 
				
			|||||||
    const done = plugins.smartpromise.defer<any>();
 | 
					    const done = plugins.smartpromise.defer<any>();
 | 
				
			||||||
    licenseChecker.init(
 | 
					    licenseChecker.init(
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        start: checkPathArg
 | 
					        start: checkPathArg,
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      (err, licenseJson) => {
 | 
					      (err, licenseJson) => {
 | 
				
			||||||
        if (err) {
 | 
					        if (err) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,4 +6,4 @@ export interface IModuleLicenseResult {
 | 
				
			|||||||
  email: string;
 | 
					  email: string;
 | 
				
			||||||
  path: string;
 | 
					  path: string;
 | 
				
			||||||
  licenseFile: string;
 | 
					  licenseFile: string;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user