Unverified Commit 13f2e92b authored by Nikita Titov's avatar Nikita Titov Committed by GitHub
Browse files

[ci] check JavaScript code with `biome` tool (#6711)



* lint js code

* hotfix

* Update .editorconfig
Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>

---------
Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
parent 92aa07b4
#!/bin/bash
set -e -E -u -o pipefail
biome ci --config-path=./biome.json --diagnostic-level=info --error-on-warnings ./
......@@ -103,6 +103,7 @@ if [[ $TASK == "lint" ]]; then
pwsh -file "./.ci/lint-powershell.ps1" || :
conda create -q -y -n "${CONDA_ENV}" \
"${CONDA_PYTHON_REQUIREMENT}" \
'biome>=1.9.3' \
'cmakelint>=1.4.3' \
'cpplint>=1.6.0' \
'matplotlib-base>=3.9.1' \
......@@ -113,12 +114,14 @@ if [[ $TASK == "lint" ]]; then
'r-lintr>=3.1.2'
# shellcheck disable=SC1091
source activate "${CONDA_ENV}"
echo "Linting Python code"
bash ./.ci/lint-python.sh || exit 1
echo "Linting Python and bash code"
bash ./.ci/lint-python-bash.sh || exit 1
echo "Linting R code"
Rscript ./.ci/lint-r-code.R "${BUILD_DIRECTORY}" || exit 1
echo "Linting C++ code"
bash ./.ci/lint-cpp.sh || exit 1
echo "Linting JavaScript code"
bash ./.ci/lint-js.sh || exit 1
exit 0
fi
......
root = true
[*]
charset=utf-8
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
indent_style = space
indent_size = 2
[*.{py,sh,js,ps1}]
[*.{py,sh,ps1,js,json}]
indent_size = 4
line_length = 120
max_line_length = 120
skip = external_libs
known_first_party = lightgbm
# Placeholder files
[{*.gitkeep,__init__.py}]
insert_final_newline = none
# Tabs matter for Makefile and .gitmodules
[{makefile*,Makefile*,*.mk,*.mak,*.makefile,*.Makefile,GNUmakefile,BSDmakefile,make.bat,Makevars*,*.gitmodules}]
indent_style = tab
{
"files": {
"ignore": [".mypy_cache/"]
},
"formatter": {
"enabled": true,
"useEditorconfig": true
},
"organizeImports": {
"enabled": true
},
"linter": {
"enabled": true,
"rules": {
"all": true
}
},
"javascript": {
"globals": ["$"]
}
}
$(function() {
$(() => {
/* Use wider container for the page content */
$('.wy-nav-content').each(function() { this.style.setProperty('max-width', 'none', 'important'); });
$(".wy-nav-content").each(function () {
this.style.setProperty("max-width", "none", "important");
});
/* List each class property item on a new line
https://github.com/microsoft/LightGBM/issues/5073 */
if(window.location.pathname.toLocaleLowerCase().indexOf('pythonapi') !== -1) {
$('.py.property').each(function() { this.style.setProperty('display', 'inline', 'important'); });
if (window.location.pathname.toLocaleLowerCase().indexOf("pythonapi") !== -1) {
$(".py.property").each(function () {
this.style.setProperty("display", "inline", "important");
});
}
/* Collapse specified sections in the installation guide */
if(window.location.pathname.toLocaleLowerCase().indexOf('installation-guide') !== -1) {
$('<style>.closed, .opened {cursor: pointer;} .closed:before, .opened:before {font-family: FontAwesome; display: inline-block; padding-right: 6px;} .closed:before {content: "\\f078";} .opened:before {content: "\\f077";}</style>').appendTo('body');
var collapsable = [
'#build-threadless-version-not-recommended',
'#build-mpi-version',
'#build-gpu-version',
'#build-cuda-version',
'#build-java-wrapper',
'#build-c-unit-tests'
if (window.location.pathname.toLocaleLowerCase().indexOf("installation-guide") !== -1) {
$(
'<style>.closed, .opened {cursor: pointer;} .closed:before, .opened:before {font-family: FontAwesome; display: inline-block; padding-right: 6px;} .closed:before {content: "\\f078";} .opened:before {content: "\\f077";}</style>',
).appendTo("body");
const collapsable = [
"#build-threadless-version-not-recommended",
"#build-mpi-version",
"#build-gpu-version",
"#build-cuda-version",
"#build-java-wrapper",
"#build-c-unit-tests",
];
$.each(collapsable, function(_, val) {
var header = val + ' > :header:first';
var content = val + ' :not(:header:first)';
$(header).addClass('closed');
$.each(collapsable, (_, val) => {
const header = `${val} > :header:first`;
const content = `${val} :not(:header:first)`;
$(header).addClass("closed");
$(content).hide();
$(header).click(function() {
$(header).toggleClass('closed opened');
$(header).click(() => {
$(header).toggleClass("closed opened");
$(content).slideToggle(0);
});
});
/* Uncollapse parent sections when nested section is specified in the URL or before navigate to it from navbar */
function uncollapse(section) {
section.parents().each((_, val) => { $(val).children('.closed').click(); });
section.parents().each((_, val) => {
$(val).children(".closed").click();
});
}
uncollapse($(window.location.hash));
$('.wy-menu.wy-menu-vertical li a.reference.internal').click(function() {
uncollapse($($(this).attr('href')));
$(".wy-menu.wy-menu-vertical li a.reference.internal").click(function () {
uncollapse($($(this).attr("href")));
});
/* Modify src and href attrs of artifacts badge */
function modifyBadge(src, href) {
$('img[alt="download artifacts"]').each(function() {
$('img[alt="download artifacts"]').each(function () {
this.src = src;
this.parentNode.href = href;
});
}
/* Initialize artifacts badge */
modifyBadge('./_static/images/artifacts-fetching.svg', '#');
modifyBadge("./_static/images/artifacts-fetching.svg", "#");
/* Fetch latest buildId and construct artifacts badge */
$.getJSON('https://dev.azure.com/lightgbm-ci/lightgbm-ci/_apis/build/builds?branchName=refs/heads/master&resultFilter=succeeded&queryOrder=finishTimeDescending&%24top=1&api-version=7.1-preview.7', function(data) {
modifyBadge('./_static/images/artifacts-download.svg',
'https://dev.azure.com/lightgbm-ci/lightgbm-ci/_apis/build/builds/' + data['value'][0]['id'] + '/artifacts?artifactName=PackageAssets&api-version=7.1-preview.5&%24format=zip');
});
$.getJSON(
"https://dev.azure.com/lightgbm-ci/lightgbm-ci/_apis/build/builds?branchName=refs/heads/master&resultFilter=succeeded&queryOrder=finishTimeDescending&%24top=1&api-version=7.1-preview.7",
(data) => {
modifyBadge(
"./_static/images/artifacts-download.svg",
`https://dev.azure.com/lightgbm-ci/lightgbm-ci/_apis/build/builds/${data.value[0].id}/artifacts?artifactName=PackageAssets&api-version=7.1-preview.5&%24format=zip`,
);
},
);
}
});
{
"feature": 25,
"threshold": 1.30,
"threshold": 1.3,
"left": {
"feature": 26,
"threshold": 0.85
......
[
{
"feature": 0,
"bin_upper_bound": [ 0.3, 0.35, 0.4 ]
"bin_upper_bound": [0.3, 0.35, 0.4]
},
{
"feature": 1,
"bin_upper_bound": [ -0.1, -0.15, -0.2 ]
"bin_upper_bound": [-0.1, -0.15, -0.2]
}
]
[
{
"feature": 0,
"bin_upper_bound": [ 0.19, 0.39, 0.59, 0.79 ]
"bin_upper_bound": [0.19, 0.39, 0.59, 0.79]
}
]
......@@ -286,7 +286,7 @@ To check that a contribution to the package matches its style expectations, run
.. code:: sh
bash .ci/lint-python.sh
bash .ci/lint-python-bash.sh
.. |License| image:: https://img.shields.io/github/license/microsoft/lightgbm.svg
:target: https://github.com/microsoft/LightGBM/blob/master/LICENSE
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment