lint styles

This commit is contained in:
Zsolt Ero
2023-12-27 20:41:24 +01:00
parent 2974f222dd
commit 98cfee5bf0

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import json
import subprocess import subprocess
from pathlib import Path from pathlib import Path
@@ -11,15 +12,32 @@ import click
type=click.Path(exists=True, file_okay=False, resolve_path=True, path_type=Path), type=click.Path(exists=True, file_okay=False, resolve_path=True, path_type=Path),
) )
def cli(styles_folder): def cli(styles_folder):
"""
Lints all style JSON files in a folder
First runs prettier with recursive JSON sorting
Then runs gl-style-format
"""
p = subprocess.run(['pnpm', 'bin'], capture_output=True, text=True) p = subprocess.run(['pnpm', 'bin'], capture_output=True, text=True)
node_bin_path = Path(p.stdout.strip()) node_bin_path = Path(p.stdout.strip())
prettier_config_path = node_bin_path.parent.parent / '.prettierrc.js' prettier_config_path = node_bin_path.parent.parent / '.prettierrc.js'
for style_file in styles_folder.rglob('style.json'): for style_file in styles_folder.rglob('*.json'):
if 'node_modules' in style_file.parts:
continue
with open(style_file) as fp:
data = json.load(fp)
if 'sources' not in data:
continue
print(f'formatting {style_file}') print(f'formatting {style_file}')
subprocess.run( subprocess.run(
[node_bin_path / 'prettier', '--config', prettier_config_path, '--write', style_file] [node_bin_path / 'prettier', '--config', prettier_config_path, '--write', style_file],
capture_output=True,
) )
p = subprocess.run( p = subprocess.run(
[ [
node_bin_path / 'gl-style-format', node_bin_path / 'gl-style-format',