GithubHelp home page GithubHelp logo

atomist / sdm-pack-aspect Goto Github PK

View Code? Open in Web Editor NEW
15.0 3.0 4.0 6.18 MB

Uses Atomist Project API to visualize important data about your organization

License: Apache License 2.0

TypeScript 98.34% JavaScript 0.04% CSS 1.47% Dockerfile 0.14% Shell 0.01%
node atomist software-delivery-machine drift typescript

sdm-pack-aspect's Introduction

@atomist/sdm-pack-aspect

This pack turns your SDM into a tool for visualizing technology usage and drift across an organization.

The cloud native era has led to an explosion of repositories, which we lack tools to understand and manage at scale. See Rod Johnson's blog This Will Surprise You for further discussion.

When you create an SDM with this pack, you can run it two ways:

  • locally, on your laptop. Trigger it to analyze code on your laptop or from GitHub, and then see the results in a simple web app at localhost.
  • connected to the Atomist service, triggering automatically, hooking into the Atomist web hook to make results available to your whole team, plus automation that helps you change the results.

An Atomist aspect captures a concern in your project, in anything available from git: repository content (code and configuration) and git data such as branch counts and committer activity. Aspects support the following use cases:

  1. Visualization (all aspects): See usage and drift across your organization.
  2. Convergence (some aspects): Help drive code changes to achieve consistency on an "ideal" state of an aspect, such as a particularly version of a library.
  3. Reaction to change (some aspects): React to changes in aspect usage within a project: for example, to a library upgrade, removing the Spring Boot Security starter or exposing an additional port in a Docker container.

This project focuses on the visualization use case. Visualizations are exposed via sunburst charts and via a REST API returning JSON documents.

There is out of the box support for investigating the following aspects of your project:

  • TypeScript version
  • Spring Boot version and starters (with Maven)
  • Docker base images, Dockerfile path and exposed ports
  • Java build tool (Maven, Gradle)
  • Library versions (npm, Maven, Python)
  • Inclusion of a code of conduct
  • Common CI tools
  • git activity and branch count

Analysis is extensible. Implementing and registering additional aspects will result in additional visualization links after re-analysis and restarting the application.

An example visualization, showing Docker images used across two GitHub organizations:

Docker image visualization

Try it

To try this out, we recommend grabbing the org-visualizer project. It uses this library, and gives you a place to add your own aspects.

Use this in your SDM

If you already have an Atomist SDM, add analysis & visualization of projects by bringing in this pack.

For an example, check how org-visualizer does it:

 sdm.addExtensionPacks(
            aspectSupport({
                aspects: aspects(),
                scorers: scorers(),
                taggers: taggers({}),
                combinationTaggers: combinationTaggers({}),
                undesirableUsageChecker: demoUndesirableUsageChecker,
            }),
        );

You can include any number of aspects, scorers, taggers, etc. Many are defined in this pack. For descriptions of these concepts, try developer.md

Database setup

In local mode, Atomist aspects are stored in a database. You can either configure your SDM with a preProcessor: startEmbeddedPostgres or run Postgres on your laptop.

Creating the Database

Data about each repository is stored locally in a PostgreSQL database.

Start Postgres, connect to it, and run the create.ddl script to set up the database.

If you want to wipe out your data and start over, this will also accomplish that.

> psql
psql> \i ddl/create.ddl

Connecting to the Database

For anything other than the default Postgres connection parameters and db org_viz:

Configure the Postgres database details in client.config.json in your ~/.atomist:

{
  "sdm": {
    "postgres": {
      "user": "<postgres user>",
      "password": "<postgres password",
      "host": "<postgres host>",
      "port": "<postgres port>",
      "database": "org_viz"
    }
  }
}

If ~/.atomist/client.config.json does not exist, create it with the above content.

Run the web app

When the server is running with atomist start --local, you can see the visualizations.

Go to http://localhost:2866.

Analyze your repositories

The analyze command is part of this pack. It works as at Atomist command, which runs through the atomist CLI.

  • install the CLI: npm i -g @atomist/cli
  • start your SDM: atomist start --local

GitHub

To analyze repositories in a GitHub organization (or a GitHub user), run the following command:

atomist analyze github organization

Enter the GitHub owner name (e.g., 'atomist') at the prompt.

To access private repositories, ensure that your GitHub token is available to Node processes via a GITHUB_TOKEN environment variable.

To narrow the repositories, add --search [substring-of-interesting-repos]

You can also analyze repositories across GitHub using atomist analyze github by query. The query string is one that would work on GitHub.com.

Use the --cloneUnder [dir] option to supply a stable directory under which all cloning should be performed. Otherwise, temporary files will be used.

If using a stable directory, make sure the directory exists and is writable by the org-visualizer process. And keep an eye on disk

Local directories

To analyze local directories, wherever they were cloned from, specify the full path of the parent directory of the repositories, as follows:

atomist analyze local repositories --localDirectories /Users/rodjohnson/atomist/projects/spring-team/

General

Run atomist analyze ... with --update true flag to force updates to existing analyses. Do this if you have updated your analyzer code. (See Extending below.) usage, as these directories are not transient and will not be deleted automatically.

Architecture

There are four architectural layers:

  1. Analysis. This is enabled by implementing Aspects. Aspects know how to take fingerprints (extractions of small relevant bits) of the code, compare them, and even update them. Analysis is triggered by atomist analyze or, in regular use, by an Atomist SDM.
  2. Query functionality.
  3. API layer. Once your server is running, see the Swagger API documentation at http://localhost:2866/api-docs
  4. Simple UI using static React and d3 exposing sunburst charts based on the API.

Extending

This project includes some well known aspects but it is intended for you to add your own.

Do this by updating the aspects function defined in the aspects.ts file. Simply add aspects to this array:

export function aspects(): Aspect[] {
    return [
        DockerFrom,
        TypeScriptVersion,
        //... add your aspects here

After updating your code you will need to rerun existing analyses. Run atomist analyze [local|github] --update true again to force updates on existing data.

See the developer guide for more information.

Next Steps

The Atomist service keeps analyses up to date automatically across all your repositories. It can also help to achieve consistency and convergence in eligible aspects by updating projects, and enabling workflows on change.

See https://atomist.com/developer.html for further information.


Created by Atomist. Need Help? Join our Slack workspace.

sdm-pack-aspect's People

Contributors

atomist-bot avatar avdi avatar cdupuis avatar ddgenome avatar ipcrm avatar jessitron avatar johnsonr avatar jrday avatar lievendoclo avatar michaelkueller avatar slimslenderslacks avatar whostolebenfrog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sdm-pack-aspect's Issues

Code Inspection: npm audit on proj-page2

graphql-code-generator:<0.18.2

  • (error) Insecure Default Configuration Upgrade to version 0.18.2 or later.
    • graphql-code-generator:0.16.1:
      • @atomist/automation-client>graphql-code-generator

handlebars:<=4.0.13 || >=4.1.0 <4.1.2

  • (error) Prototype Pollution For handlebars 4.1.x upgrade to 4.1.2 or later.
    For handlebars 4.0.x upgrade to 4.0.14 or later.
    • handlebars:4.0.12:
      • typedoc>handlebars

js-yaml:<3.13.0

  • (warn) Denial of Service Upgrade to version 3.13.0.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

js-yaml:<3.13.1

  • (error) Code Injection Upgrade to version 3.13.1.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

marked:>=0.3.14 <0.6.2

static-eval:<=2.0.1

  • (warn) Sandbox Breakout / Arbitrary Code Execution Upgrade to version 2.0.2 or later.
    • static-eval:2.0.0:
      • @atomist/sdm-core>@kubernetes/client-node>jsonpath>static-eval
      • @atomist/uhura>@kubernetes/client-node>jsonpath>static-eval

[atomist:code-inspection:proj-page2=@atomist/atomist-sdm]

Add list of features not found

Now we are suppressing features with no fingerprints, the user doesn't see what other features the visualizer knows about. They should be included in a separate list.

Document aspect authoring

Simple documentation in readme on feature authoring to enable in house use for custom features.

Deeper documentation to follow.

Fix YAML warning

Keep seeing Cannot parse YAML file: undefined is not a function. May result from Travis parsing

Code Inspection: Tslint on mono

no-console

no-implicit-dependencies

no-object-literal-type-assertion

no-var-requires

triple-equals

typedef

[atomist:code-inspection:mono=@atomist/atomist-sdm]

Code Inspection: Tslint on up-master

await-promise

no-console

no-floating-promises

no-implicit-dependencies

no-object-literal-type-assertion

no-shadowed-variable

no-var-requires

ordered-imports

radix

triple-equals

typedef

[atomist:code-inspection:up-master=@atomist/atomist-sdm]

Code Inspection: npm audit on up-master

graphql-code-generator:<0.18.2

  • (error) Insecure Default Configuration Upgrade to version 0.18.2 or later.
    • graphql-code-generator:0.16.1:
      • @atomist/automation-client>graphql-code-generator

handlebars:<=4.0.13 || >=4.1.0 <4.1.2

  • (error) Prototype Pollution For handlebars 4.1.x upgrade to 4.1.2 or later.
    For handlebars 4.0.x upgrade to 4.0.14 or later.
    • handlebars:4.0.12:
      • typedoc>handlebars

js-yaml:<3.13.0

  • (warn) Denial of Service Upgrade to version 3.13.0.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

js-yaml:<3.13.1

  • (error) Code Injection Upgrade to version 3.13.1.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

marked:>=0.3.14 <0.6.2

static-eval:<=2.0.1

  • (warn) Sandbox Breakout / Arbitrary Code Execution Upgrade to version 2.0.2 or later.
    • static-eval:2.0.0:
      • @atomist/sdm-core>@kubernetes/client-node>jsonpath>static-eval
      • @atomist/uhura>@kubernetes/client-node>jsonpath>static-eval

[atomist:code-inspection:up-master=@atomist/atomist-sdm]

Code Inspection: Tslint on api

align

await-promise

comment-format

eofline

no-consecutive-blank-lines

no-console

no-empty-interface

no-floating-promises

no-implicit-dependencies

no-object-literal-type-assertion

no-shadowed-variable

no-unnecessary-callback-wrapper

no-var-requires

object-literal-shorthand

ordered-imports

radix

semicolon

trailing-comma

triple-equals

typedef

[atomist:code-inspection:api=@atomist/atomist-sdm]

Code Inspection: Tslint on nortissej/jess-aggr

await-promise

comment-format

eofline

no-console

no-floating-promises

no-implicit-dependencies

no-null-keyword

no-object-literal-type-assertion

no-shadowed-variable

no-unnecessary-type-assertion

no-var-requires

ordered-imports

triple-equals

typedef

[atomist:code-inspection:nortissej/jess-aggr=@atomist/atomist-sdm]

Code Inspection: Tslint on nortissej/documentation-url

max-line-length

no-console

no-shadowed-variable

typedef

[atomist:code-inspection:nortissej/documentation-url=@atomist/atomist-sdm]

Code Inspection: npm audit on sql

axios:<0.18.1

  • (warn) Denial of Service Upgrade to 0.18.1 or later.
    • axios:0.18.0:
      • @atomist/sdm-core>axios
      • @atomist/sdm-pack-spring>axios

graphql-code-generator:<0.18.2

  • (error) Insecure Default Configuration Upgrade to version 0.18.2 or later.
    • graphql-code-generator:0.16.1:
      • @atomist/automation-client>graphql-code-generator

handlebars:<=4.0.13 || >=4.1.0 <4.1.2

  • (error) Prototype Pollution For handlebars 4.1.x upgrade to 4.1.2 or later.
    For handlebars 4.0.x upgrade to 4.0.14 or later.
    • handlebars:4.0.12:
      • typedoc>handlebars

js-yaml:<3.13.0

  • (warn) Denial of Service Upgrade to version 3.13.0.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

js-yaml:<3.13.1

  • (error) Code Injection Upgrade to version 3.13.1.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

marked:>=0.3.14 <0.6.2

static-eval:<=2.0.1

  • (warn) Sandbox Breakout / Arbitrary Code Execution Upgrade to version 2.0.2 or later.
    • static-eval:2.0.0:
      • @atomist/sdm-core>@kubernetes/client-node>jsonpath>static-eval
      • @atomist/uhura>@kubernetes/client-node>jsonpath>static-eval

[atomist:code-inspection:sql=@atomist/atomist-sdm]

Flagged fingerprint chart

Could do this in SQL if we put flagged fingerprints in the DB.

Consider how to input flagged fingerprints. Some UI or script?

Code Inspection: npm audit on sql2

axios:<0.18.1

  • (warn) Denial of Service Upgrade to 0.18.1 or later.
    • axios:0.18.0:
      • @atomist/sdm-core>axios
      • @atomist/sdm-pack-spring>axios

graphql-code-generator:<0.18.2

  • (error) Insecure Default Configuration Upgrade to version 0.18.2 or later.
    • graphql-code-generator:0.16.1:
      • @atomist/automation-client>graphql-code-generator

handlebars:<=4.0.13 || >=4.1.0 <4.1.2

  • (error) Prototype Pollution For handlebars 4.1.x upgrade to 4.1.2 or later.
    For handlebars 4.0.x upgrade to 4.0.14 or later.
    • handlebars:4.0.12:
      • typedoc>handlebars

js-yaml:<3.13.0

  • (warn) Denial of Service Upgrade to version 3.13.0.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

js-yaml:<3.13.1

  • (error) Code Injection Upgrade to version 3.13.1.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

marked:>=0.3.14 <0.6.2

static-eval:<=2.0.1

  • (warn) Sandbox Breakout / Arbitrary Code Execution Upgrade to version 2.0.2 or later.
    • static-eval:2.0.0:
      • @atomist/sdm-core>@kubernetes/client-node>jsonpath>static-eval
      • @atomist/uhura>@kubernetes/client-node>jsonpath>static-eval

[atomist:code-inspection:sql2=@atomist/atomist-sdm]

Code Inspection: Tslint on python

await-promise

max-line-length

no-console

no-duplicate-imports

no-empty-interface

no-floating-promises

no-object-literal-type-assertion

no-shadowed-variable

no-var-requires

radix

triple-equals

typedef

[atomist:code-inspection:python=@atomist/atomist-sdm]

Code Inspection: npm audit on scatter

graphql-code-generator:>=0

  • (error) Insecure Default Configuration No fix is currently available. Consider using an alternative module until a fix is made available.
    • graphql-code-generator:0.16.1:
      • @atomist/automation-client>graphql-code-generator

handlebars:<=4.0.13 || >=4.1.0 <4.1.2

  • (error) Prototype Pollution For handlebars 4.1.x upgrade to 4.1.2 or later.
    For handlebars 4.0.x upgrade to 4.0.14 or later.
    • handlebars:4.0.12:
      • typedoc>handlebars

js-yaml:<3.13.0

  • (warn) Denial of Service Upgrade to version 3.13.0.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

js-yaml:<3.13.1

  • (error) Code Injection Upgrade to version 3.13.1.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

marked:>=0.3.14 <0.6.2

static-eval:<=2.0.1

  • (warn) Sandbox Breakout / Arbitrary Code Execution Upgrade to version 2.0.2 or later.
    • static-eval:2.0.0:
      • @atomist/sdm-core>@kubernetes/client-node>jsonpath>static-eval
      • @atomist/uhura>@kubernetes/client-node>jsonpath>static-eval

[atomist:code-inspection:scatter=@atomist/atomist-sdm]

Code Inspection: Tslint on sql2

align

await-promise

comment-format

eofline

max-line-length

no-consecutive-blank-lines

no-console

no-empty-interface

no-floating-promises

no-implicit-dependencies

no-object-literal-type-assertion

no-shadowed-variable

no-trailing-whitespace

no-unnecessary-callback-wrapper

no-var-requires

object-literal-shorthand

ordered-imports

radix

semicolon

trailing-comma

triple-equals

typedef

[atomist:code-inspection:sql2=@atomist/atomist-sdm]

Code Inspection: Tslint on proj-page2

await-promise

comment-format

eofline

no-console

no-floating-promises

no-implicit-dependencies

no-null-keyword

no-object-literal-type-assertion

no-shadowed-variable

no-unnecessary-type-assertion

no-var-requires

ordered-imports

quotemark

radix

semicolon

triple-equals

typedef

[atomist:code-inspection:proj-page2=@atomist/atomist-sdm]

Code Inspection: npm audit on api

axios:<0.18.1

  • (warn) Denial of Service Upgrade to 0.18.1 or later.
    • axios:0.18.0:
      • @atomist/sdm-core>axios
      • @atomist/sdm-pack-spring>axios

graphql-code-generator:<0.18.2

  • (error) Insecure Default Configuration Upgrade to version 0.18.2 or later.
    • graphql-code-generator:0.16.1:
      • @atomist/automation-client>graphql-code-generator

handlebars:<=4.0.13 || >=4.1.0 <4.1.2

  • (error) Prototype Pollution For handlebars 4.1.x upgrade to 4.1.2 or later.
    For handlebars 4.0.x upgrade to 4.0.14 or later.
    • handlebars:4.0.12:
      • typedoc>handlebars

js-yaml:<3.13.0

  • (warn) Denial of Service Upgrade to version 3.13.0.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

js-yaml:<3.13.1

  • (error) Code Injection Upgrade to version 3.13.1.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

marked:>=0.3.14 <0.6.2

static-eval:<=2.0.1

  • (warn) Sandbox Breakout / Arbitrary Code Execution Upgrade to version 2.0.2 or later.
    • static-eval:2.0.0:
      • @atomist/sdm-core>@kubernetes/client-node>jsonpath>static-eval
      • @atomist/uhura>@kubernetes/client-node>jsonpath>static-eval

[atomist:code-inspection:api=@atomist/atomist-sdm]

Code Inspection: Tslint on noselector

max-line-length

no-shadowed-variable

typedef

[atomist:code-inspection:noselector=@atomist/atomist-sdm]

Code Inspection: npm audit on nortissej/jess-aggr

graphql-code-generator:<0.18.2

  • (error) Insecure Default Configuration Upgrade to version 0.18.2 or later.
    • graphql-code-generator:0.16.1:
      • @atomist/automation-client>graphql-code-generator

handlebars:<=4.0.13 || >=4.1.0 <4.1.2

  • (error) Prototype Pollution For handlebars 4.1.x upgrade to 4.1.2 or later.
    For handlebars 4.0.x upgrade to 4.0.14 or later.
    • handlebars:4.0.12:
      • typedoc>handlebars

js-yaml:<3.13.0

  • (warn) Denial of Service Upgrade to version 3.13.0.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

js-yaml:<3.13.1

  • (error) Code Injection Upgrade to version 3.13.1.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

marked:>=0.3.14 <0.6.2

static-eval:<=2.0.1

  • (warn) Sandbox Breakout / Arbitrary Code Execution Upgrade to version 2.0.2 or later.
    • static-eval:2.0.0:
      • @atomist/sdm-core>@kubernetes/client-node>jsonpath>static-eval
      • @atomist/uhura>@kubernetes/client-node>jsonpath>static-eval

[atomist:code-inspection:nortissej/jess-aggr=@atomist/atomist-sdm]

Code Inspection: npm audit on mono

graphql-code-generator:>=0

  • (error) Insecure Default Configuration No fix is currently available. Consider using an alternative module until a fix is made available.
    • graphql-code-generator:0.16.1:
      • @atomist/automation-client>graphql-code-generator

handlebars:<=4.0.13 || >=4.1.0 <4.1.2

  • (error) Prototype Pollution For handlebars 4.1.x upgrade to 4.1.2 or later.
    For handlebars 4.0.x upgrade to 4.0.14 or later.
    • handlebars:4.0.12:
      • typedoc>handlebars

js-yaml:<3.13.0

  • (warn) Denial of Service Upgrade to version 3.13.0.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

js-yaml:<3.13.1

  • (error) Code Injection Upgrade to version 3.13.1.
    • js-yaml:3.12.0:
      • @atomist/automation-client>graphql-code-generator>graphql-config>js-yaml
      • @atomist/sdm-core>@kubernetes/client-node>js-yaml
      • @atomist/uhura>@kubernetes/client-node>js-yaml
      • tslint>js-yaml
    • js-yaml:3.12.1:
      • @atomist/automation-client>graphql-code-generator>js-yaml

marked:>=0.3.14 <0.6.2

static-eval:<=2.0.1

  • (warn) Sandbox Breakout / Arbitrary Code Execution Upgrade to version 2.0.2 or later.
    • static-eval:2.0.0:
      • @atomist/sdm-core>@kubernetes/client-node>jsonpath>static-eval
      • @atomist/uhura>@kubernetes/client-node>jsonpath>static-eval

[atomist:code-inspection:mono=@atomist/atomist-sdm]

Code Inspection: Tslint on nortissej/local-spider

await-promise

max-line-length

no-console

no-duplicate-imports

no-empty-interface

no-floating-promises

no-object-literal-type-assertion

no-shadowed-variable

no-var-requires

triple-equals

typedef

[atomist:code-inspection:nortissej/local-spider=@atomist/atomist-sdm]

Code Inspection: Tslint on sql

align

await-promise

comment-format

eofline

no-consecutive-blank-lines

no-console

no-empty-interface

no-floating-promises

no-implicit-dependencies

no-object-literal-type-assertion

no-shadowed-variable

no-string-throw

no-trailing-whitespace

no-unnecessary-callback-wrapper

no-var-requires

object-literal-shorthand

ordered-imports

radix

semicolon

trailing-comma

triple-equals

typedef

[atomist:code-inspection:sql=@atomist/atomist-sdm]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.