@@ -5106,7 +5106,9 @@ val suffix_rei : string
51065106
51075107val suffix_d : string
51085108val suffix_js : string
5109+ val suffix_mjs : string
51095110val suffix_bs_js : string
5111+ val suffix_bs_mjs : string
51105112(* val suffix_re_js : string *)
51115113val suffix_gen_js : string
51125114val suffix_gen_tsx: string
@@ -5245,7 +5247,9 @@ let suffix_reiast = ".reiast"
52455247let suffix_mliast_simple = ".mliast_simple"
52465248let suffix_d = ".d"
52475249let suffix_js = ".js"
5250+ let suffix_mjs = ".mjs"
52485251let suffix_bs_js = ".bs.js"
5252+ let suffix_bs_mjs = ".bs.mjs"
52495253(* let suffix_re_js = ".re.js" *)
52505254let suffix_gen_js = ".gen.js"
52515255let suffix_gen_tsx = ".gen.tsx"
@@ -16314,7 +16318,10 @@ val make : ?ns:string -> string -> string
1631416318
1631516319val try_split_module_name : string -> (string * string) option
1631616320
16317- val change_ext_ns_suffix : string -> string -> string
16321+ val replace_namespace_with_extension : name:string -> ext:string -> string
16322+ (** [replace_namespace_with_extension ~name ~ext] removes the part of [name]
16323+ after [ns_sep_char], if any; and appends [ext].
16324+ *)
1631816325
1631916326type file_kind = Upper_js | Upper_bs | Little_js | Little_bs
1632016327
@@ -16386,7 +16393,7 @@ let rec rindex_rec s i =
1638616393 #1933 when removing ns suffix, don't pass the bound of basename
1638716394
1638816395 FIXME: micro-optimizaiton *)
16389- let change_ext_ns_suffix name ext =
16396+ let replace_namespace_with_extension ~ name ~ ext =
1639016397 let i = rindex_rec name (String.length name - 1) in
1639116398 if i < 0 then name ^ ext else String.sub name 0 i ^ ext
1639216399
@@ -16402,20 +16409,24 @@ type file_kind = Upper_js | Upper_bs | Little_js | Little_bs
1640216409
1640316410
1640416411(* let js_name_of_basename bs_suffix s =
16405- change_ext_ns_suffix s
16406- (if bs_suffix then Literals.suffix_bs_js else Literals.suffix_js) *)
16412+ replace_namespace_with_extension ~name: s
16413+ ~ext: (if bs_suffix then Literals.suffix_bs_js else Literals.suffix_js) *)
1640716414
1640816415
1640916416let js_name_of_modulename s little =
1641016417 match little with
1641116418 | Little_js ->
16412- change_ext_ns_suffix (Ext_string.uncapitalize_ascii s) Literals.suffix_js
16419+ replace_namespace_with_extension
16420+ ~name:(Ext_string.uncapitalize_ascii s)
16421+ ~ext:Literals.suffix_js
1641316422 | Little_bs ->
16414- change_ext_ns_suffix
16415- (Ext_string.uncapitalize_ascii s)
16416- Literals.suffix_bs_js
16417- | Upper_js -> change_ext_ns_suffix s Literals.suffix_js
16418- | Upper_bs -> change_ext_ns_suffix s Literals.suffix_bs_js
16423+ replace_namespace_with_extension
16424+ ~name:(Ext_string.uncapitalize_ascii s)
16425+ ~ext:Literals.suffix_bs_js
16426+ | Upper_js -> replace_namespace_with_extension ~name:s ~ext:Literals.suffix_js
16427+ | Upper_bs ->
16428+ replace_namespace_with_extension ~name:s ~ext:Literals.suffix_bs_js
16429+
1641916430
1642016431(* https://docs.npmjs.com/files/package.json
1642116432 Some rules:
@@ -16871,10 +16882,16 @@ let suites =
1687116882 =~"ABb"
1687216883 end;
1687316884 __LOC__ >:: begin fun _ ->
16874- Ext_namespace.change_ext_ns_suffix "a-b" Literals.suffix_js =~ "a.js";
16875- Ext_namespace.change_ext_ns_suffix "a-" Literals.suffix_js =~ "a.js";
16876- Ext_namespace.change_ext_ns_suffix "a--" Literals.suffix_js =~ "a-.js";
16877- Ext_namespace.change_ext_ns_suffix "AA-b" Literals.suffix_js =~ "AA.js";
16885+ Ext_namespace.replace_namespace_with_extension
16886+ ~name:"a-b" ~ext:Literals.suffix_js =~ "a.js";
16887+ Ext_namespace.replace_namespace_with_extension
16888+ ~name:"a-" ~ext:Literals.suffix_js =~ "a.js";
16889+ Ext_namespace.replace_namespace_with_extension
16890+ ~name:"a--" ~ext:Literals.suffix_js =~ "a-.js";
16891+ Ext_namespace.replace_namespace_with_extension
16892+ ~name:"AA-b" ~ext:Literals.suffix_js =~ "AA.js";
16893+ Ext_namespace.replace_namespace_with_extension
16894+ ~name:"AA-b" ~ext:Literals.suffix_js =~ "AA.js";
1687816895 Ext_namespace.js_name_of_modulename "AA-b" Little_js =~ "aA.js";
1687916896 Ext_namespace.js_name_of_modulename "AA-b" Upper_js =~ "AA.js";
1688016897 Ext_namespace.js_name_of_modulename "AA-b" Upper_bs =~ "AA.bs.js"
0 commit comments