Skip to content

Commit ff56b32

Browse files
committed
Debug: global and use / Ensure globals are registered before injections are resolved
1 parent 7a60d15 commit ff56b32

File tree

65 files changed

+1086
-679
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1086
-679
lines changed

docs/assemblerjs/guides/debug-logging.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,13 @@ Assembler.enableDebug({
1414
enabled: true,
1515
logPhases: {
1616
registration: true,
17+
registrationUse: true,
18+
registrationGlobals: true,
1719
resolution: true,
1820
construction: true,
1921
hooks: true,
22+
injectionUse: true,
23+
injectionGlobal: true,
2024
},
2125
logTimings: true,
2226
useColors: true,

packages/assemblerjs/coverage/coverage-final.json

Lines changed: 31 additions & 31 deletions
Large diffs are not rendered by default.
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{"total": {"lines":{"total":1097,"covered":971,"skipped":0,"pct":88.51},"statements":{"total":1154,"covered":999,"skipped":0,"pct":86.56},"functions":{"total":314,"covered":288,"skipped":0,"pct":91.71},"branches":{"total":600,"covered":437,"skipped":0,"pct":72.83},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
1+
{"total": {"lines":{"total":1121,"covered":996,"skipped":0,"pct":88.84},"statements":{"total":1181,"covered":1026,"skipped":0,"pct":86.87},"functions":{"total":319,"covered":294,"skipped":0,"pct":92.16},"branches":{"total":638,"covered":467,"skipped":0,"pct":73.19},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
22
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assemblage/lib/decorator.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
33
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assemblage/lib/helpers.ts": {"lines":{"total":6,"covered":5,"skipped":0,"pct":83.33},"functions":{"total":3,"covered":2,"skipped":0,"pct":66.66},"statements":{"total":6,"covered":5,"skipped":0,"pct":83.33},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
44
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assemblage/lib/definition/inject.ts": {"lines":{"total":21,"covered":20,"skipped":0,"pct":95.23},"functions":{"total":16,"covered":15,"skipped":0,"pct":93.75},"statements":{"total":23,"covered":22,"skipped":0,"pct":95.65},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}}
@@ -8,8 +8,8 @@
88
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/assembler.ts": {"lines":{"total":39,"covered":38,"skipped":0,"pct":97.43},"functions":{"total":16,"covered":15,"skipped":0,"pct":93.75},"statements":{"total":39,"covered":38,"skipped":0,"pct":97.43},"branches":{"total":12,"covered":12,"skipped":0,"pct":100}}
99
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/context-provider.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
1010
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/cycle-detector.ts": {"lines":{"total":35,"covered":8,"skipped":0,"pct":22.85},"functions":{"total":8,"covered":4,"skipped":0,"pct":50},"statements":{"total":38,"covered":8,"skipped":0,"pct":21.05},"branches":{"total":16,"covered":0,"skipped":0,"pct":0}}
11-
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/debug-logger.ts": {"lines":{"total":62,"covered":50,"skipped":0,"pct":80.64},"functions":{"total":28,"covered":23,"skipped":0,"pct":82.14},"statements":{"total":70,"covered":53,"skipped":0,"pct":75.71},"branches":{"total":60,"covered":38,"skipped":0,"pct":63.33}}
12-
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/hook-manager.ts": {"lines":{"total":41,"covered":35,"skipped":0,"pct":85.36},"functions":{"total":11,"covered":8,"skipped":0,"pct":72.72},"statements":{"total":50,"covered":38,"skipped":0,"pct":76},"branches":{"total":24,"covered":15,"skipped":0,"pct":62.5}}
11+
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/debug-logger.ts": {"lines":{"total":64,"covered":51,"skipped":0,"pct":79.68},"functions":{"total":30,"covered":25,"skipped":0,"pct":83.33},"statements":{"total":73,"covered":54,"skipped":0,"pct":73.97},"branches":{"total":66,"covered":41,"skipped":0,"pct":62.12}}
12+
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/hook-manager.ts": {"lines":{"total":41,"covered":37,"skipped":0,"pct":90.24},"functions":{"total":11,"covered":9,"skipped":0,"pct":81.81},"statements":{"total":50,"covered":40,"skipped":0,"pct":80},"branches":{"total":24,"covered":16,"skipped":0,"pct":66.66}}
1313
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/injectable-manager.ts": {"lines":{"total":92,"covered":65,"skipped":0,"pct":70.65},"functions":{"total":13,"covered":12,"skipped":0,"pct":92.3},"statements":{"total":105,"covered":68,"skipped":0,"pct":64.76},"branches":{"total":79,"covered":34,"skipped":0,"pct":43.03}}
1414
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/object-manager.ts": {"lines":{"total":21,"covered":20,"skipped":0,"pct":95.23},"functions":{"total":6,"covered":6,"skipped":0,"pct":100},"statements":{"total":21,"covered":20,"skipped":0,"pct":95.23},"branches":{"total":12,"covered":8,"skipped":0,"pct":66.66}}
1515
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/assembler/lib/resolution-strategies.ts": {"lines":{"total":13,"covered":13,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":13,"covered":13,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}}
@@ -18,25 +18,25 @@
1818
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/events/lib/manager/event-manager.ts": {"lines":{"total":55,"covered":48,"skipped":0,"pct":87.27},"functions":{"total":17,"covered":15,"skipped":0,"pct":88.23},"statements":{"total":56,"covered":49,"skipped":0,"pct":87.5},"branches":{"total":22,"covered":19,"skipped":0,"pct":86.36}}
1919
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/injectable/lib/dependencies.ts": {"lines":{"total":42,"covered":40,"skipped":0,"pct":95.23},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":44,"covered":42,"skipped":0,"pct":95.45},"branches":{"total":21,"covered":17,"skipped":0,"pct":80.95}}
2020
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/injectable/lib/injectable-builder.ts": {"lines":{"total":18,"covered":16,"skipped":0,"pct":88.88},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":18,"covered":16,"skipped":0,"pct":88.88},"branches":{"total":12,"covered":8,"skipped":0,"pct":66.66}}
21-
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/injectable/lib/injectable.ts": {"lines":{"total":95,"covered":88,"skipped":0,"pct":92.63},"functions":{"total":16,"covered":15,"skipped":0,"pct":93.75},"statements":{"total":95,"covered":88,"skipped":0,"pct":92.63},"branches":{"total":77,"covered":63,"skipped":0,"pct":81.81}}
21+
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/injectable/lib/injectable.ts": {"lines":{"total":115,"covered":108,"skipped":0,"pct":93.91},"functions":{"total":19,"covered":18,"skipped":0,"pct":94.73},"statements":{"total":117,"covered":110,"skipped":0,"pct":94.01},"branches":{"total":105,"covered":84,"skipped":0,"pct":80}}
2222
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/transversals/decorators/affect.ts": {"lines":{"total":7,"covered":7,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":7,"covered":7,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}}
2323
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/transversals/lib/decorators.ts": {"lines":{"total":25,"covered":25,"skipped":0,"pct":100},"functions":{"total":10,"covered":10,"skipped":0,"pct":100},"statements":{"total":25,"covered":25,"skipped":0,"pct":100},"branches":{"total":17,"covered":17,"skipped":0,"pct":100}}
2424
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/transversals/lib/pointcut-matcher.ts": {"lines":{"total":15,"covered":14,"skipped":0,"pct":93.33},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":15,"covered":14,"skipped":0,"pct":93.33},"branches":{"total":6,"covered":5,"skipped":0,"pct":83.33}}
2525
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/transversals/lib/transversal-manager.ts": {"lines":{"total":101,"covered":89,"skipped":0,"pct":88.11},"functions":{"total":12,"covered":12,"skipped":0,"pct":100},"statements":{"total":108,"covered":93,"skipped":0,"pct":86.11},"branches":{"total":58,"covered":41,"skipped":0,"pct":70.68}}
26-
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/transversals/lib/transversal-weaver.ts": {"lines":{"total":55,"covered":55,"skipped":0,"pct":100},"functions":{"total":12,"covered":12,"skipped":0,"pct":100},"statements":{"total":61,"covered":59,"skipped":0,"pct":96.72},"branches":{"total":24,"covered":20,"skipped":0,"pct":83.33}}
26+
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/features/transversals/lib/transversal-weaver.ts": {"lines":{"total":55,"covered":55,"skipped":0,"pct":100},"functions":{"total":12,"covered":12,"skipped":0,"pct":100},"statements":{"total":61,"covered":59,"skipped":0,"pct":96.72},"branches":{"total":24,"covered":22,"skipped":0,"pct":91.66}}
2727
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/common/constants.ts": {"lines":{"total":5,"covered":5,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":5,"covered":5,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}}
2828
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/common/reflection.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
2929
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/class/constructor-decorator.ts": {"lines":{"total":28,"covered":27,"skipped":0,"pct":96.42},"functions":{"total":5,"covered":5,"skipped":0,"pct":100},"statements":{"total":31,"covered":30,"skipped":0,"pct":96.77},"branches":{"total":14,"covered":10,"skipped":0,"pct":71.42}}
3030
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/configuration.ts": {"lines":{"total":5,"covered":5,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":5,"covered":5,"skipped":0,"pct":100},"branches":{"total":2,"covered":1,"skipped":0,"pct":50}}
3131
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/context.ts": {"lines":{"total":5,"covered":5,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":5,"covered":5,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
3232
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/definition.ts": {"lines":{"total":5,"covered":5,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":5,"covered":5,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
3333
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/dispose.ts": {"lines":{"total":5,"covered":5,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":5,"covered":5,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
34-
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/global.ts": {"lines":{"total":9,"covered":8,"skipped":0,"pct":88.88},"functions":{"total":3,"covered":2,"skipped":0,"pct":66.66},"statements":{"total":9,"covered":8,"skipped":0,"pct":88.88},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
34+
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/global.ts": {"lines":{"total":10,"covered":9,"skipped":0,"pct":90},"functions":{"total":3,"covered":2,"skipped":0,"pct":66.66},"statements":{"total":10,"covered":9,"skipped":0,"pct":90},"branches":{"total":2,"covered":1,"skipped":0,"pct":50}}
3535
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/helpers.ts": {"lines":{"total":14,"covered":13,"skipped":0,"pct":92.85},"functions":{"total":5,"covered":4,"skipped":0,"pct":80},"statements":{"total":14,"covered":13,"skipped":0,"pct":92.85},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
3636
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/index-factory.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":7,"covered":7,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
3737
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/optional.ts": {"lines":{"total":10,"covered":10,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":10,"covered":10,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
3838
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/parameter-decorator-factory.ts": {"lines":{"total":42,"covered":42,"skipped":0,"pct":100},"functions":{"total":14,"covered":14,"skipped":0,"pct":100},"statements":{"total":42,"covered":42,"skipped":0,"pct":100},"branches":{"total":20,"covered":20,"skipped":0,"pct":100}}
39-
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/use.ts": {"lines":{"total":9,"covered":9,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":9,"covered":9,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
39+
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/parameters/use.ts": {"lines":{"total":10,"covered":10,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":10,"covered":10,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
4040
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/resolvers/parameter-resolver.factory.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
4141
,"/Users/benoitlahoz/Documents/Development/assemblerjs/packages/assemblerjs/src/shared/decorators/resolvers/resolver-store.ts": {"lines":{"total":9,"covered":9,"skipped":0,"pct":100},"functions":{"total":5,"covered":5,"skipped":0,"pct":100},"statements":{"total":9,"covered":9,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
4242
}

packages/assemblerjs/coverage/features/assemblage/lib/decorator.ts.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">features/
121121
<span class="cline-any cline-yes">35x</span>
122122
<span class="cline-any cline-neutral">&nbsp;</span>
123123
<span class="cline-any cline-neutral">&nbsp;</span>
124-
<span class="cline-any cline-yes">341x</span>
125-
<span class="cline-any cline-yes">339x</span>
124+
<span class="cline-any cline-yes">346x</span>
125+
<span class="cline-any cline-yes">344x</span>
126126
<span class="cline-any cline-neutral">&nbsp;</span>
127127
<span class="cline-any cline-neutral">&nbsp;</span>
128128
<span class="cline-any cline-neutral">&nbsp;</span>
@@ -137,19 +137,19 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">features/
137137
<span class="cline-any cline-neutral">&nbsp;</span>
138138
<span class="cline-any cline-neutral">&nbsp;</span>
139139
<span class="cline-any cline-neutral">&nbsp;</span>
140-
<span class="cline-any cline-yes">346x</span>
140+
<span class="cline-any cline-yes">351x</span>
141141
<span class="cline-any cline-neutral">&nbsp;</span>
142142
<span class="cline-any cline-neutral">&nbsp;</span>
143-
<span class="cline-any cline-yes">346x</span>
143+
<span class="cline-any cline-yes">351x</span>
144144
<span class="cline-any cline-neutral">&nbsp;</span>
145145
<span class="cline-any cline-neutral">&nbsp;</span>
146-
<span class="cline-any cline-yes">346x</span>
146+
<span class="cline-any cline-yes">351x</span>
147147
<span class="cline-any cline-neutral">&nbsp;</span>
148148
<span class="cline-any cline-neutral">&nbsp;</span>
149149
<span class="cline-any cline-neutral">&nbsp;</span>
150150
<span class="cline-any cline-neutral">&nbsp;</span>
151151
<span class="cline-any cline-neutral">&nbsp;</span>
152-
<span class="cline-any cline-yes">346x</span>
152+
<span class="cline-any cline-yes">351x</span>
153153
<span class="cline-any cline-neutral">&nbsp;</span>
154154
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { Concrete } from '@assemblerjs/core';
155155
import { ReflectFlags, ReflectValue, defineCustomMetadata } from '@/shared/common';
@@ -202,7 +202,7 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">features/
202202
<div class='footer quiet pad2 space-top1 center small'>
203203
Code coverage generated by
204204
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
205-
at 2026-02-01T11:50:06.591Z
205+
at 2026-02-02T09:51:47.728Z
206206
</div>
207207
<script src="../../../prettify.js"></script>
208208
<script>

packages/assemblerjs/coverage/features/assemblage/lib/definition/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ <h1><a href="../../../../index.html">All files</a> features/assemblage/lib/defin
131131
<div class='footer quiet pad2 space-top1 center small'>
132132
Code coverage generated by
133133
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134-
at 2026-02-01T11:50:06.591Z
134+
at 2026-02-02T09:51:47.728Z
135135
</div>
136136
<script src="../../../../prettify.js"></script>
137137
<script>

0 commit comments

Comments
 (0)