Showing 59 of 92 total issues

Function New has 6 return statements (exceeds 4 allowed).
Open

func New(c *up.Config, h http.Handler) (http.Handler, error) {
    h = poweredby.New("up", h)
    h = robots.New(c, h)
    h = static.NewDynamic(c, h)

Severity: Major
Found in handler/handler.go - About 40 mins to fix

    Function Build has 6 return statements (exceeds 4 allowed).
    Open

    func Build(dir string) (io.ReadCloser, *archive.Stats, error) {
        upignore, err := read(".upignore")
        if err != nil {
            return nil, nil, errors.Wrap(err, "reading .upignore")
        }
    Severity: Major
    Found in internal/zip/zip.go - About 40 mins to fix

      Method Stack.Create has 6 return statements (exceeds 4 allowed).
      Open

      func (s *Stack) Create(versions resources.Versions) error {
          c := s.config
          tmpl := s.template(versions)
          name := c.Name
      
      
      Severity: Major
      Found in platform/lambda/stack/stack.go - About 40 mins to fix

        Method Stack.showNameservers has 6 return statements (exceeds 4 allowed).
        Open

        func (s *Stack) showNameservers(stage *config.Stage) error {
            if stage.Domain == "" {
                return nil
            }
        
        
        Severity: Major
        Found in platform/lambda/stack/stack.go - About 40 mins to fix

          Method Platform.Build has 6 return statements (exceeds 4 allowed).
          Open

          func (p *Platform) Build() error {
              start := time.Now()
              p.zip = new(bytes.Buffer)
          
              if err := p.injectProxy(); err != nil {
          Severity: Major
          Found in platform/lambda/lambda.go - About 40 mins to fix

            Method Platform.DeleteStack has 6 return statements (exceeds 4 allowed).
            Open

            func (p *Platform) DeleteStack(region string, wait bool) error {
                versions := resources.Versions{}
            
                for _, s := range p.config.Stages {
                    versions[s.Name] = "1"
            Severity: Major
            Found in platform/lambda/lambda.go - About 40 mins to fix

              Function New has 6 return statements (exceeds 4 allowed).
              Open

              func New(c *up.Config, next http.Handler) (http.Handler, error) {
                  if len(c.Redirects) == 0 {
                      return next, nil
                  }
              
              
              Severity: Major
              Found in http/redirects/redirects.go - About 40 mins to fix

                Method Platform.createFunction has 5 arguments (exceeds 4 allowed). Consider refactoring.
                Open

                func (p *Platform) createFunction(c *lambda.Lambda, a *apigateway.APIGateway, up *s3manager.Uploader, region string, d up.Deploy) (version string, err error) {
                Severity: Minor
                Found in platform/lambda/lambda.go - About 35 mins to fix

                  Method Platform.updateFunction has 5 arguments (exceeds 4 allowed). Consider refactoring.
                  Open

                  func (p *Platform) updateFunction(c *lambda.Lambda, a *apigateway.APIGateway, up *s3manager.Uploader, region string, d up.Deploy) (version string, err error) {
                  Severity: Minor
                  Found in platform/lambda/lambda.go - About 35 mins to fix

                    Method Stack.report has 5 return statements (exceeds 4 allowed).
                    Open

                    func (s *Stack) report(states map[string]Status) error {
                        defer s.events.Time("platform.stack.report", event.Fields{
                            "total":    len(states),
                            "complete": 0,
                        })()
                    Severity: Major
                    Found in platform/lambda/stack/stack.go - About 35 mins to fix

                      Function Create has 5 return statements (exceeds 4 allowed).
                      Open

                      func Create() error {
                          var in struct {
                              Name    string `json:"name"`
                              Profile string `json:"profile"`
                              Region  string `json:"region"`
                      Severity: Major
                      Found in internal/setup/setup.go - About 35 mins to fix

                        Function delete has 5 return statements (exceeds 4 allowed).
                        Open

                        func delete(cmd *kingpin.Cmd) {
                            c := cmd.Command("delete", "Delete configured resources.")
                            c.Example(`up stack delete`, "Delete stack with confirmation prompt.")
                            c.Example(`up stack delete --force`, "Delete stack without confirmation prompt.")
                            c.Example(`up stack delete --async`, "Don't wait for deletion to complete.")
                        Severity: Major
                        Found in internal/cli/stack/stack.go - About 35 mins to fix

                          Method Stack.Show has 5 return statements (exceeds 4 allowed).
                          Open

                          func (s *Stack) Show() error {
                              defer s.events.Time("platform.stack.show", nil)()
                          
                              // show stack status
                              stack, err := s.getStack()
                          Severity: Major
                          Found in platform/lambda/stack/stack.go - About 35 mins to fix

                            Method Platform.createFunction has 5 return statements (exceeds 4 allowed).
                            Open

                            func (p *Platform) createFunction(c *lambda.Lambda, a *apigateway.APIGateway, up *s3manager.Uploader, region string, d up.Deploy) (version string, err error) {
                                // ensure bucket exists
                                if err := p.createBucket(region); err != nil && !util.IsBucketExists(err) {
                                    return "", errors.Wrap(err, "creating s3 bucket")
                                }
                            Severity: Major
                            Found in platform/lambda/lambda.go - About 35 mins to fix

                              Method Platform.createCerts has 5 return statements (exceeds 4 allowed).
                              Open

                              func (p *Platform) createCerts() error {
                                  s := session.New(aws.NewConfig().WithRegion("us-east-1"))
                                  a := acm.New(s)
                                  var domains []string
                              
                              
                              Severity: Major
                              Found in platform/lambda/lambda.go - About 35 mins to fix

                                Function changeCard has 5 return statements (exceeds 4 allowed).
                                Open

                                func changeCard(cmd *kingpin.Cmd) {
                                    c := cmd.Command("change", "Change the default card.")
                                
                                    c.Action(func(_ *kingpin.ParseContext) error {
                                        t, err := userconfig.Require()
                                Severity: Major
                                Found in internal/cli/team/team.go - About 35 mins to fix

                                  Function getCert has 5 return statements (exceeds 4 allowed).
                                  Open

                                  func getCert(certs []*acm.CertificateDetail, domain string) string {
                                      // exact domain
                                      for _, c := range certs {
                                          if *c.DomainName == domain {
                                              return *c.CertificateArn
                                  Severity: Major
                                  Found in platform/lambda/lambda.go - About 35 mins to fix

                                    Method Stack.Apply has 5 return statements (exceeds 4 allowed).
                                    Open

                                    func (s *Stack) Apply() error {
                                        c := s.config
                                        name := c.Name
                                    
                                        res, err := s.client.DescribeChangeSet(&cloudformation.DescribeChangeSetInput{
                                    Severity: Major
                                    Found in platform/lambda/stack/stack.go - About 35 mins to fix

                                      Function handleLine has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                                      Open

                                      function handleLine(line) {
                                        if (debug) {
                                          console.log('[shim] parsing: `%s`', line);
                                        }
                                      
                                      
                                      Severity: Minor
                                      Found in internal/shim/index.js - About 25 mins to fix

                                      Cognitive Complexity

                                      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                                      A method's cognitive complexity is based on a few simple rules:

                                      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                                      • Code is considered more complex for each "break in the linear flow of the code"
                                      • Code is considered more complex when "flow breaking structures are nested"

                                      Further reading

                                      Severity
                                      Category
                                      Status
                                      Source
                                      Language