Skip to content

Commit

Permalink
Demote "less important" library-level checking diagnostics to warnings
Browse files Browse the repository at this point in the history
This change adds a warnings guard to suppress diagnostics inside .i.js files,
which generally correspond to issues in transitive dependencies. This feature
can be used during library-level checking to make sure that only issues found
inside the library being checked are promoted to (build-breaking) errors, while
issues inside transitive dependencies are (non-breaking) warnings instead.

The intention is that using this guard should give the most useful diagnostics
earlier during library-level checking.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=181245720
  • Loading branch information
blickly authored and brad4d committed Jan 9, 2018
1 parent b37e5a8 commit 1395f10
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions src/com/google/javascript/jscomp/ijs/CheckIjsWarningsGuard.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
* Copyright 2018 The Closure Compiler Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.javascript.jscomp.ijs;

import com.google.javascript.jscomp.CheckLevel;
import com.google.javascript.jscomp.JSError;
import com.google.javascript.jscomp.WarningsGuard;

/**
* A warnings guard that sets the errors found in .i.js files to be warnings, and only the warnings
* found in the library in question to errors.
*/
public class CheckIjsWarningsGuard extends WarningsGuard {

@Override
public CheckLevel level(JSError error) {
if (error.sourceName.endsWith(".i.js")) {
return CheckLevel.WARNING;
}
return null;
}
}

0 comments on commit 1395f10

Please sign in to comment.