Word30210/roblox-project-example(initreq/에 클론)를 참고해 두 가지 채택: (1) rokit.toml → mise.toml — mise install이 pesde/rojo/luau-lsp/selene을 GitHub attestation+SLSA provenance 검증까지 거쳐 설치하는 걸 이 샌드박스 에서 직접 확인(rokit은 끝내 검증 불가), 이 환경 자체가 이미 mise로 luau를 관리 중이라 더 자연스러움. (2) selene 린터 — 참고 레포의 selene.toml을 패키지별로 채택, 단 CWD 상대 config 탐색 함정을 발견 (루트 단일 설정으로 두면 다른 디렉토리에서 실행 시 조용히 Lua 5.1 std로 폴백해 Luau 타입 문법 전체가 파싱 에러로 잘못 보임) — 참고 레포 그대로 패키지별 selene.toml + 패키지 안에서 실행하는 걸로 확정. 도입 즉시 smoke.mock.luau의 assert 메시지 누락 3건을 잡아 수정. darklua의 convert_require 변환은 검토 후 기각 — 사용자 판단: Roblox 엔진 자체도 이미 같은 require-by-string 의미론(@self/@game)을 지원해 변환 계층이 불필요. Co-authored-by: qwreey <me@qwreey.moe>
31 lines
813 B
TOML
31 lines
813 B
TOML
std = "luau"
|
|
exclude = ["**/.pesde/*", "*_packages/*"]
|
|
|
|
[lints]
|
|
almost_swapped = "deny"
|
|
constant_table_comparison = "deny"
|
|
deprecated = "warn"
|
|
divide_by_zero = "warn"
|
|
empty_if = "deny"
|
|
empty_loop = "deny"
|
|
high_cyclomatic_complexity = "warn"
|
|
if_same_then_else = "deny"
|
|
ifs_same_cond = "warn"
|
|
incorrect_standard_library_use = "deny"
|
|
manual_table_clone = "warn"
|
|
mismatched_arg_count = "deny"
|
|
mixed_table = "allow"
|
|
multiple_statements = "deny"
|
|
must_use = "warn"
|
|
parenthese_conditions = "deny"
|
|
suspicious_reverse_loop = "deny"
|
|
type_check_inside_call = "deny"
|
|
unbalanced_assignments = "warn"
|
|
undefined_variable = "deny"
|
|
unscoped_variables = "deny"
|
|
unused_variable = "warn"
|
|
|
|
[config]
|
|
empty_if = { comments_count = true }
|
|
empty_loop = { comments_count = true }
|
|
multiple_statements = { one_line_if = "break-return-only" }
|