Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
emscripten-core
GitHub Repository: emscripten-core/emscripten
Path: blob/main/tools/maint/find_unused_settings.py
6177 views
1
#!/usr/bin/env python3
2
"""Find unused settings from settings.js and settings_internal.js.
3
"""
4
5
import os
6
import subprocess
7
import sys
8
9
script_dir = os.path.dirname(os.path.abspath(__file__))
10
root_dir = os.path.dirname(os.path.dirname(script_dir))
11
12
sys.path.insert(0, root_dir)
13
14
# This avoids including `LEGACY_SETTINGS`
15
os.environ['EMCC_STRICT'] = '1'
16
17
from tools.settings import settings
18
19
20
def main():
21
print(f'Searching {len(settings.internal_settings)} internal settings')
22
for key in settings.internal_settings:
23
cmd = ['git', 'grep', '-q', f'\\<{key}\\>', '*.mjs', '*.js', ':(exclude)src/settings.js', ':(exclude)src/settings_internal.js']
24
if subprocess.run(cmd, check=False).returncode:
25
print('NOT FOUND IN JS:', key)
26
27
print(f'Searching {len(settings.attrs)} settings')
28
for key in settings.attrs:
29
cmd = ['git', 'grep', '-q', f'\\<{key}\\>', ':(exclude)src/settings.js', ':(exclude)src/settings_internal.js']
30
# git grep returns 0 if there is a match and non-zero when there is not
31
if subprocess.run(cmd, check=False).returncode:
32
print('NOT FOUND ANYWHERE:', key)
33
34
35
if __name__ == '__main__':
36
sys.exit(main())
37
38