Skip to content

Commit 7625235

Browse files
committed
Add extra variants for suffixes in bsconfig.json
- `.bs.mjs`, `.bs.cjs` to fill the gap between `.bs.js` and `.mjs` - `.res.js`, `.res.mjs`, `.res.cjs` to assist BS → ReScript rebranding
1 parent 4c83939 commit 7625235

10 files changed

+206
-9
lines changed

docs/docson/build-schema.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@
1313
"enum" : [
1414
".js",
1515
".bs.js",
16+
".res.js",
1617
".mjs",
17-
".cjs"
18+
".bs.mjs",
19+
".res.mjs",
20+
".cjs",
21+
".bs.cjs",
22+
".res.cjs"
1823
],
1924
"description": "suffix of generated js files, default to [.js] "
2025
},

jscomp/bsb/bsb_package_specs.ml

+2-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,8 @@ let extract_bs_suffix_exn (map : json_map) : Ext_js_suffix.t =
188188
| Some (Str { str; loc }) ->
189189
let s = Ext_js_suffix.of_string str in
190190
if s = Unknown_extension then
191-
Bsb_exception.errorf ~loc "expect .bs.js, .js, .cjs, .mjs here"
191+
Bsb_exception.errorf ~loc
192+
"expect .js, .bs.js, .res.js, .mjs, .bs.mjs, .res.mjs, .cjs, .bs.cjs, .res.cjs here"
192193
else s
193194
| Some config ->
194195
Bsb_exception.config_error config

jscomp/ext/ext_js_suffix.ml

+21-1
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,37 @@
1-
type t = Js | Bs_js | Mjs | Cjs | Unknown_extension
1+
type t =
2+
| Js
3+
| Bs_js
4+
| Res_js
5+
| Mjs
6+
| Bs_mjs
7+
| Res_mjs
8+
| Cjs
9+
| Bs_cjs
10+
| Res_cjs
11+
| Unknown_extension
212

313
let to_string (x : t) =
414
match x with
515
| Js -> Literals.suffix_js
616
| Bs_js -> Literals.suffix_bs_js
17+
| Res_js -> Literals.suffix_res_js
718
| Mjs -> Literals.suffix_mjs
19+
| Bs_mjs -> Literals.suffix_bs_mjs
20+
| Res_mjs -> Literals.suffix_res_mjs
821
| Cjs -> Literals.suffix_cjs
22+
| Bs_cjs -> Literals.suffix_bs_cjs
23+
| Res_cjs -> Literals.suffix_res_cjs
924
| Unknown_extension -> assert false
1025

1126
let of_string (x : string) : t =
1227
match () with
1328
| () when x = Literals.suffix_js -> Js
1429
| () when x = Literals.suffix_bs_js -> Bs_js
30+
| () when x = Literals.suffix_res_js -> Res_js
1531
| () when x = Literals.suffix_mjs -> Mjs
32+
| () when x = Literals.suffix_bs_mjs -> Bs_mjs
33+
| () when x = Literals.suffix_res_mjs -> Res_mjs
1634
| () when x = Literals.suffix_cjs -> Cjs
35+
| () when x = Literals.suffix_bs_cjs -> Bs_cjs
36+
| () when x = Literals.suffix_res_cjs -> Res_cjs
1737
| _ -> Unknown_extension

jscomp/ext/literals.ml

+10
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,20 @@ let suffix_js = ".js"
125125

126126
let suffix_bs_js = ".bs.js"
127127

128+
let suffix_res_js = ".res.js"
129+
128130
let suffix_mjs = ".mjs"
129131

132+
let suffix_bs_mjs = ".bs.mjs"
133+
134+
let suffix_res_mjs = ".res.mjs"
135+
130136
let suffix_cjs = ".cjs"
131137

138+
let suffix_bs_cjs = ".bs.cjs"
139+
140+
let suffix_res_cjs = ".res.cjs"
141+
132142
let suffix_gen_js = ".gen.js"
133143

134144
let suffix_gen_tsx = ".gen.tsx"

lib/4.06.1/bsb_helper.ml

+10
Original file line numberDiff line numberDiff line change
@@ -1313,10 +1313,20 @@ let suffix_js = ".js"
13131313

13141314
let suffix_bs_js = ".bs.js"
13151315

1316+
let suffix_res_js = ".res.js"
1317+
13161318
let suffix_mjs = ".mjs"
13171319

1320+
let suffix_bs_mjs = ".bs.mjs"
1321+
1322+
let suffix_res_mjs = ".res.mjs"
1323+
13181324
let suffix_cjs = ".cjs"
13191325

1326+
let suffix_bs_cjs = ".bs.cjs"
1327+
1328+
let suffix_res_cjs = ".res.cjs"
1329+
13201330
let suffix_gen_js = ".gen.js"
13211331

13221332
let suffix_gen_tsx = ".gen.tsx"

lib/4.06.1/rescript.ml

+33-2
Original file line numberDiff line numberDiff line change
@@ -4906,10 +4906,20 @@ let suffix_js = ".js"
49064906

49074907
let suffix_bs_js = ".bs.js"
49084908

4909+
let suffix_res_js = ".res.js"
4910+
49094911
let suffix_mjs = ".mjs"
49104912

4913+
let suffix_bs_mjs = ".bs.mjs"
4914+
4915+
let suffix_res_mjs = ".res.mjs"
4916+
49114917
let suffix_cjs = ".cjs"
49124918

4919+
let suffix_bs_cjs = ".bs.cjs"
4920+
4921+
let suffix_res_cjs = ".res.cjs"
4922+
49134923
let suffix_gen_js = ".gen.js"
49144924

49154925
let suffix_gen_tsx = ".gen.tsx"
@@ -7049,22 +7059,42 @@ end
70497059
module Ext_js_suffix
70507060
= struct
70517061
#1 "ext_js_suffix.ml"
7052-
type t = Js | Bs_js | Mjs | Cjs | Unknown_extension
7062+
type t =
7063+
| Js
7064+
| Bs_js
7065+
| Res_js
7066+
| Mjs
7067+
| Bs_mjs
7068+
| Res_mjs
7069+
| Cjs
7070+
| Bs_cjs
7071+
| Res_cjs
7072+
| Unknown_extension
70537073

70547074
let to_string (x : t) =
70557075
match x with
70567076
| Js -> Literals.suffix_js
70577077
| Bs_js -> Literals.suffix_bs_js
7078+
| Res_js -> Literals.suffix_res_js
70587079
| Mjs -> Literals.suffix_mjs
7080+
| Bs_mjs -> Literals.suffix_bs_mjs
7081+
| Res_mjs -> Literals.suffix_res_mjs
70597082
| Cjs -> Literals.suffix_cjs
7083+
| Bs_cjs -> Literals.suffix_bs_cjs
7084+
| Res_cjs -> Literals.suffix_res_cjs
70607085
| Unknown_extension -> assert false
70617086

70627087
let of_string (x : string) : t =
70637088
match () with
70647089
| () when x = Literals.suffix_js -> Js
70657090
| () when x = Literals.suffix_bs_js -> Bs_js
7091+
| () when x = Literals.suffix_res_js -> Res_js
70667092
| () when x = Literals.suffix_mjs -> Mjs
7093+
| () when x = Literals.suffix_bs_mjs -> Bs_mjs
7094+
| () when x = Literals.suffix_res_mjs -> Res_mjs
70677095
| () when x = Literals.suffix_cjs -> Cjs
7096+
| () when x = Literals.suffix_bs_cjs -> Bs_cjs
7097+
| () when x = Literals.suffix_res_cjs -> Res_cjs
70687098
| _ -> Unknown_extension
70697099

70707100
end
@@ -7804,7 +7834,8 @@ let extract_bs_suffix_exn (map : json_map) : Ext_js_suffix.t =
78047834
| Some (Str { str; loc }) ->
78057835
let s = Ext_js_suffix.of_string str in
78067836
if s = Unknown_extension then
7807-
Bsb_exception.errorf ~loc "expect .bs.js, .js, .cjs, .mjs here"
7837+
Bsb_exception.errorf ~loc
7838+
"expect .js, .bs.js, .res.js, .mjs, .bs.mjs, .res.mjs, .cjs, .bs.cjs, .res.cjs here"
78087839
else s
78097840
| Some config ->
78107841
Bsb_exception.config_error config

lib/4.06.1/unstable/all_ounit_tests.ml

+31-1
Original file line numberDiff line numberDiff line change
@@ -5806,10 +5806,20 @@ let suffix_js = ".js"
58065806

58075807
let suffix_bs_js = ".bs.js"
58085808

5809+
let suffix_res_js = ".res.js"
5810+
58095811
let suffix_mjs = ".mjs"
58105812

5813+
let suffix_bs_mjs = ".bs.mjs"
5814+
5815+
let suffix_res_mjs = ".res.mjs"
5816+
58115817
let suffix_cjs = ".cjs"
58125818

5819+
let suffix_bs_cjs = ".bs.cjs"
5820+
5821+
let suffix_res_cjs = ".res.cjs"
5822+
58135823
let suffix_gen_js = ".gen.js"
58145824

58155825
let suffix_gen_tsx = ".gen.tsx"
@@ -38348,22 +38358,42 @@ end
3834838358
module Ext_js_suffix
3834938359
= struct
3835038360
#1 "ext_js_suffix.ml"
38351-
type t = Js | Bs_js | Mjs | Cjs | Unknown_extension
38361+
type t =
38362+
| Js
38363+
| Bs_js
38364+
| Res_js
38365+
| Mjs
38366+
| Bs_mjs
38367+
| Res_mjs
38368+
| Cjs
38369+
| Bs_cjs
38370+
| Res_cjs
38371+
| Unknown_extension
3835238372

3835338373
let to_string (x : t) =
3835438374
match x with
3835538375
| Js -> Literals.suffix_js
3835638376
| Bs_js -> Literals.suffix_bs_js
38377+
| Res_js -> Literals.suffix_res_js
3835738378
| Mjs -> Literals.suffix_mjs
38379+
| Bs_mjs -> Literals.suffix_bs_mjs
38380+
| Res_mjs -> Literals.suffix_res_mjs
3835838381
| Cjs -> Literals.suffix_cjs
38382+
| Bs_cjs -> Literals.suffix_bs_cjs
38383+
| Res_cjs -> Literals.suffix_res_cjs
3835938384
| Unknown_extension -> assert false
3836038385

3836138386
let of_string (x : string) : t =
3836238387
match () with
3836338388
| () when x = Literals.suffix_js -> Js
3836438389
| () when x = Literals.suffix_bs_js -> Bs_js
38390+
| () when x = Literals.suffix_res_js -> Res_js
3836538391
| () when x = Literals.suffix_mjs -> Mjs
38392+
| () when x = Literals.suffix_bs_mjs -> Bs_mjs
38393+
| () when x = Literals.suffix_res_mjs -> Res_mjs
3836638394
| () when x = Literals.suffix_cjs -> Cjs
38395+
| () when x = Literals.suffix_bs_cjs -> Bs_cjs
38396+
| () when x = Literals.suffix_res_cjs -> Res_cjs
3836738397
| _ -> Unknown_extension
3836838398

3836938399
end

lib/4.06.1/unstable/js_compiler.ml

+31-1
Original file line numberDiff line numberDiff line change
@@ -6494,10 +6494,20 @@ let suffix_js = ".js"
64946494

64956495
let suffix_bs_js = ".bs.js"
64966496

6497+
let suffix_res_js = ".res.js"
6498+
64976499
let suffix_mjs = ".mjs"
64986500

6501+
let suffix_bs_mjs = ".bs.mjs"
6502+
6503+
let suffix_res_mjs = ".res.mjs"
6504+
64996505
let suffix_cjs = ".cjs"
65006506

6507+
let suffix_bs_cjs = ".bs.cjs"
6508+
6509+
let suffix_res_cjs = ".res.cjs"
6510+
65016511
let suffix_gen_js = ".gen.js"
65026512

65036513
let suffix_gen_tsx = ".gen.tsx"
@@ -46707,22 +46717,42 @@ end
4670746717
module Ext_js_suffix
4670846718
= struct
4670946719
#1 "ext_js_suffix.ml"
46710-
type t = Js | Bs_js | Mjs | Cjs | Unknown_extension
46720+
type t =
46721+
| Js
46722+
| Bs_js
46723+
| Res_js
46724+
| Mjs
46725+
| Bs_mjs
46726+
| Res_mjs
46727+
| Cjs
46728+
| Bs_cjs
46729+
| Res_cjs
46730+
| Unknown_extension
4671146731

4671246732
let to_string (x : t) =
4671346733
match x with
4671446734
| Js -> Literals.suffix_js
4671546735
| Bs_js -> Literals.suffix_bs_js
46736+
| Res_js -> Literals.suffix_res_js
4671646737
| Mjs -> Literals.suffix_mjs
46738+
| Bs_mjs -> Literals.suffix_bs_mjs
46739+
| Res_mjs -> Literals.suffix_res_mjs
4671746740
| Cjs -> Literals.suffix_cjs
46741+
| Bs_cjs -> Literals.suffix_bs_cjs
46742+
| Res_cjs -> Literals.suffix_res_cjs
4671846743
| Unknown_extension -> assert false
4671946744

4672046745
let of_string (x : string) : t =
4672146746
match () with
4672246747
| () when x = Literals.suffix_js -> Js
4672346748
| () when x = Literals.suffix_bs_js -> Bs_js
46749+
| () when x = Literals.suffix_res_js -> Res_js
4672446750
| () when x = Literals.suffix_mjs -> Mjs
46751+
| () when x = Literals.suffix_bs_mjs -> Bs_mjs
46752+
| () when x = Literals.suffix_res_mjs -> Res_mjs
4672546753
| () when x = Literals.suffix_cjs -> Cjs
46754+
| () when x = Literals.suffix_bs_cjs -> Bs_cjs
46755+
| () when x = Literals.suffix_res_cjs -> Res_cjs
4672646756
| _ -> Unknown_extension
4672746757

4672846758
end

lib/4.06.1/unstable/js_playground_compiler.ml

+31-1
Original file line numberDiff line numberDiff line change
@@ -6494,10 +6494,20 @@ let suffix_js = ".js"
64946494

64956495
let suffix_bs_js = ".bs.js"
64966496

6497+
let suffix_res_js = ".res.js"
6498+
64976499
let suffix_mjs = ".mjs"
64986500

6501+
let suffix_bs_mjs = ".bs.mjs"
6502+
6503+
let suffix_res_mjs = ".res.mjs"
6504+
64996505
let suffix_cjs = ".cjs"
65006506

6507+
let suffix_bs_cjs = ".bs.cjs"
6508+
6509+
let suffix_res_cjs = ".res.cjs"
6510+
65016511
let suffix_gen_js = ".gen.js"
65026512

65036513
let suffix_gen_tsx = ".gen.tsx"
@@ -46707,22 +46717,42 @@ end
4670746717
module Ext_js_suffix
4670846718
= struct
4670946719
#1 "ext_js_suffix.ml"
46710-
type t = Js | Bs_js | Mjs | Cjs | Unknown_extension
46720+
type t =
46721+
| Js
46722+
| Bs_js
46723+
| Res_js
46724+
| Mjs
46725+
| Bs_mjs
46726+
| Res_mjs
46727+
| Cjs
46728+
| Bs_cjs
46729+
| Res_cjs
46730+
| Unknown_extension
4671146731

4671246732
let to_string (x : t) =
4671346733
match x with
4671446734
| Js -> Literals.suffix_js
4671546735
| Bs_js -> Literals.suffix_bs_js
46736+
| Res_js -> Literals.suffix_res_js
4671646737
| Mjs -> Literals.suffix_mjs
46738+
| Bs_mjs -> Literals.suffix_bs_mjs
46739+
| Res_mjs -> Literals.suffix_res_mjs
4671746740
| Cjs -> Literals.suffix_cjs
46741+
| Bs_cjs -> Literals.suffix_bs_cjs
46742+
| Res_cjs -> Literals.suffix_res_cjs
4671846743
| Unknown_extension -> assert false
4671946744

4672046745
let of_string (x : string) : t =
4672146746
match () with
4672246747
| () when x = Literals.suffix_js -> Js
4672346748
| () when x = Literals.suffix_bs_js -> Bs_js
46749+
| () when x = Literals.suffix_res_js -> Res_js
4672446750
| () when x = Literals.suffix_mjs -> Mjs
46751+
| () when x = Literals.suffix_bs_mjs -> Bs_mjs
46752+
| () when x = Literals.suffix_res_mjs -> Res_mjs
4672546753
| () when x = Literals.suffix_cjs -> Cjs
46754+
| () when x = Literals.suffix_bs_cjs -> Bs_cjs
46755+
| () when x = Literals.suffix_res_cjs -> Res_cjs
4672646756
| _ -> Unknown_extension
4672746757

4672846758
end

0 commit comments

Comments
 (0)