Fix breaking changes introduced by Eslint v7
Change-Id: I84c3f4c333e9bbe0087738746e879494b90445f1
This commit is contained in:
		@@ -1 +1 @@
 | 
			
		||||
exports_files(["run_npm_binary.py"])
 | 
			
		||||
exports_files(["run_npm_binary.py", "eslint-chdir.js"])
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								tools/js/eslint-chdir.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								tools/js/eslint-chdir.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license
 | 
			
		||||
 * Copyright (C) 2020 The Android Open Source Project
 | 
			
		||||
 *
 | 
			
		||||
 * 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
// Eslint 7 introduced a breaking change - it uses the current workdir instead
 | 
			
		||||
// of the configuration file directory for resolving relative paths:
 | 
			
		||||
// https://eslint.org/docs/user-guide/migrating-to-7.0.0#base-path-change
 | 
			
		||||
// This file is loaded before the eslint and sets the current directory
 | 
			
		||||
// back to the location of configuration file.
 | 
			
		||||
 | 
			
		||||
const path = require('path');
 | 
			
		||||
const configParamIndex =
 | 
			
		||||
    process.argv.findIndex(arg => arg === '-c' || arg === '---config');
 | 
			
		||||
if (configParamIndex >= 0 && configParamIndex + 1 < process.argv.length) {
 | 
			
		||||
  const dirName = path.dirname(process.argv[configParamIndex + 1]);
 | 
			
		||||
  process.chdir(dirName);
 | 
			
		||||
}
 | 
			
		||||
@@ -57,9 +57,11 @@ def eslint(name, plugins, srcs, config, ignore, extensions = [".js"], data = [])
 | 
			
		||||
        config,
 | 
			
		||||
        ignore,
 | 
			
		||||
        "//tools/js/eslint-rules:eslint-rules-srcs",
 | 
			
		||||
        "//tools/js:eslint-chdir.js",
 | 
			
		||||
        eslint_rules_toplevel_file,
 | 
			
		||||
    ] + plugins + data
 | 
			
		||||
    common_templated_args = [
 | 
			
		||||
        "--node_options=--require=$$(rlocation $(rootpath //tools/js:eslint-chdir.js))",
 | 
			
		||||
        "--ext",
 | 
			
		||||
        ",".join(extensions),
 | 
			
		||||
        "-c",
 | 
			
		||||
@@ -85,7 +87,7 @@ def eslint(name, plugins, srcs, config, ignore, extensions = [".js"], data = [])
 | 
			
		||||
            "*_test_require_patch.js",
 | 
			
		||||
            "--ignore-pattern",
 | 
			
		||||
            "*_test_loader.js",
 | 
			
		||||
            native.package_name(),
 | 
			
		||||
            "./", # Relative to the config file location
 | 
			
		||||
        ],
 | 
			
		||||
        # Should not run sandboxed.
 | 
			
		||||
        tags = [
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user