Skip to content
Snippets Groups Projects
Commit d17613a8 authored by Loïc Correnson's avatar Loïc Correnson Committed by Andre Maroneze
Browse files

[ivette] Makefile-based checkdir

parent 691310ec
No related branches found
Tags 22.0+r2
No related merge requests found
...@@ -44,16 +44,14 @@ lint: dome-pkg dome-templ checkdirs ...@@ -44,16 +44,14 @@ lint: dome-pkg dome-templ checkdirs
yarn run typecheck yarn run typecheck
yarn run lint yarn run lint
checkdirs: headers/checkdir checkdirs:
@echo "[Ivette] check imported filenames" @echo "[Ivette] check imported filenames"
@headers/checkdirs.sh @err=0 ; for f in `find src | sed -E 's/(.ts|.tsx|.js|.jsx|.css|.json)$$//' | sort -f | uniq -di` ;\
do \
headers/checkdir: headers/checkdir.ml err=1; \
@echo "[Ivette] headers/checkdir" echo " - ambiguous $$f.*"; \
@ocamlopt -o $@ $< done ;\
exit $$err
clean::
@rm -f headers/*.cm* headers/*.o headers/checkdir
tsc: dome-pkg dome-templ tsc: dome-pkg dome-templ
@echo "[Ivette] running typechecker & linter (with cache & fix mode)" @echo "[Ivette] running typechecker & linter (with cache & fix mode)"
......
File deleted
(* -------------------------------------------------------------------------- *)
(* --- Check Filename CASE sensitivity --- *)
(* -------------------------------------------------------------------------- *)
let loadable = [".ts";".tsx";".js";".jsx";".css";".json"]
let basename f =
let rec lookup f = function
| [] -> None
| suffix::others ->
match Filename.chop_suffix_opt ~suffix f with
| None -> lookup f others
| Some basename -> Some (String.lowercase_ascii basename)
in lookup f loadable
let () =
let dir = Sys.argv.(1) in
let hmap : (string,string) Hashtbl.t = Hashtbl.create 32 in
Sys.readdir dir |> Array.iter
begin fun f ->
match basename f with
| None -> ()
| Some base ->
try
let f0 = Hashtbl.find hmap base in
Format.printf "Ambiguous import '%s/%s':@\n" dir base ;
Format.printf " - '%s'@\n" f0 ;
Format.printf " - '%s'@\n" f ;
exit 1 ;
with Not_found ->
Hashtbl.add hmap base f
end ;
exit 0
(* -------------------------------------------------------------------------- *)
#!/bin/sh -e
for d in `find src -type d`
do
headers/checkdir $d
done
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment