Skip to content

Incorrect source line reported when injecting source maps #247

Description

@mrt123

Source line points to root parent rule in the .less file instead to the nested rule. Unless its ':before' rule, in this case it points to actual line where rule is defined.

Example navbar.less:

@import  (reference)  "../common/common";

.ch-nav-bar {
  .leftMenu {
    i.logo {
      .chIcon();
      position: relative;
      top: 4px;
      font-size: 24px;
      margin: 7px 20px 7px 25px;
      &:before {
        content: "\f015";
      }
      &:hover {
        cursor: pointer;
      }
    }

    a {
      margin: 7px 20px;
      padding: 7px 0;
    }

  }
}

For element i:before, sourcemap indicates source line navbar.less:11 (correct behaviour)
For element i.logo sourcemap indicates source line navbar.less:3 (expected is 5)
In fact any other element underneath ch-nav-bar is reported to have rule defined on line navbar.less:3

Gulp task:

gulp.task('compile-app.css', function () {

    return gulp.src(project.LESS_FILES)
        .pipe(sourceMaps.init())
        .pipe(less())   // compatible plugin used : 'gulp-less'
        .pipe(sourceMaps.write())
        .pipe(gulp.dest(BUILD_PATH));
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions