Skip to content

Commit 54608d3

Browse files
authored
melange: don't emit module group wrapper as a JS file in melange.emit (#11987)
* melange: don't emit module group wrapper as a JS file in `melange.emit` Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com> * add changelog entry Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com> --------- Signed-off-by: Antonio Nuno Monteiro <anmonteiro@gmail.com>
1 parent 0d1fc37 commit 54608d3

File tree

8 files changed

+7
-40
lines changed

8 files changed

+7
-40
lines changed

doc/changes/11987.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- Stop emitting empty module group wrapper `.js` file in `melange.emit`
2+
(#11987, fixes #11986, @anmonteiro)
3+

src/dune_rules/melange/melange_rules.ml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ let js_targets_of_modules modules ~module_systems ~output =
176176
List.map module_systems ~f:(fun (_, js_ext) ->
177177
modules
178178
|> Modules.With_vlib.drop_vlib
179-
|> Modules.fold ~init:Path.Set.empty ~f:(fun m acc ->
179+
|> Modules.fold_user_available ~init:Path.Set.empty ~f:(fun m acc ->
180180
if Module.has m ~ml_kind:Impl
181181
then (
182182
let target = Path.build @@ make_js_name ~js_ext ~output m in
@@ -479,7 +479,7 @@ let modules_for_js_and_obj_dir ~sctx ~dir_contents ~scope (mel : Melange_stanzas
479479
in
480480
let+ modules = modules_in_obj_dir ~sctx ~scope ~preprocess:mel.preprocess modules in
481481
let modules_for_js =
482-
Modules.fold modules ~init:[] ~f:(fun x acc ->
482+
Modules.fold_user_available modules ~init:[] ~f:(fun x acc ->
483483
if Module.has x ~ml_kind:Impl then x :: acc else acc)
484484
in
485485
modules, modules_for_js, obj_dir

test/blackbox-tests/test-cases/melange/depend-on-installed.t

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,4 @@ Test dependency on installed package
100100
melc dist/node_modules/b/b.js
101101
melc dist/node_modules/b/bar.js
102102
melc dist/node_modules/b/foo.js
103-
melc .dist.mobjs/melange/melange.{cmi,cmj,cmt}
104-
melc dist/.dist.mobjs/melange.js
105103
Leaving directory 'app'

test/blackbox-tests/test-cases/melange/empty-entries-target-dir-exists.t

Lines changed: 0 additions & 20 deletions
This file was deleted.

test/blackbox-tests/test-cases/melange/melange-wrapper-module.t

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ If there's more than 1 module, we currently emit the module group wrapper,
2424
> EOF
2525

2626
$ dune build @dist --display=short 2>&1 | grep 'melange\.js'
27-
melc dist/.dist.mobjs/melange.js
27+
[1]
2828
$ ls -a _build/default/dist
2929
.
3030
..
31-
.dist.mobjs
3231
x.js
3332
y.js
3433

test/blackbox-tests/test-cases/melange/promote-with-into.t

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ is relative to the artifact, not the dune file)
3535
5 | (promote (into ../../foo))
3636
^^^^^^^^^
3737
Error: Directory "app/dist/foo" does not exist. Please create it manually.
38-
-> required by _build/default/app/dist/app/.dist.mobjs/melange.js
38+
-> required by _build/default/app/dist/app/other/other.js
3939
-> required by alias app/dist
4040
[1]
4141

test/blackbox-tests/test-cases/melange/transitive-ppx.t

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,4 @@ Test interaction of melange.emit library ppx dependencies
3737
-> required by melange target dist
3838
-> required by alias lib/test/all
3939
-> required by alias default
40-
File "lib/impl/dune", line 5, characters 18-29:
41-
5 | (preprocess (pps not-present)))
42-
^^^^^^^^^^^
43-
Error: Library "not-present" not found.
44-
-> required by melange target dist
45-
-> required by library "mel-subdir" in _build/default/lib/impl
46-
-> required by _build/default/lib/test/dist/lib/test/.dist.mobjs/melange.js
47-
-> required by alias lib/test/all
48-
-> required by alias default
4940
[1]

test/blackbox-tests/test-cases/melange/two-emit-stanzas.t

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,4 @@ Building a project with 2 melange.emit stanzas should add rules to both aliases
2525
> EOF
2626

2727
$ dune build @mel --display=short
28-
melc .dist.mobjs/melange/melange.{cmi,cmj,cmt}
29-
melc dist/.dist.mobjs/melange.js
3028
$ dune build @second --display=short
31-
melc .dist-es6.mobjs/melange/melange.{cmi,cmj,cmt}
32-
melc dist-es6/.dist-es6.mobjs/melange.mjs

0 commit comments

Comments
 (0)