Skip to content

Commit 5d80595

Browse files
author
Robert Jackson
committed
Add isDebug flag to debugTools configuration
1 parent befee13 commit 5d80595

File tree

5 files changed

+41
-9
lines changed

5 files changed

+41
-9
lines changed

src/utils/builder.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ module.exports = class Builder {
66
this.module = options.module;
77
this.global = options.global;
88
this.assertPredicateIndex = options.assertPredicateIndex;
9+
this.isDebug = options.isDebug;
910
this.expressions = [];
1011
}
1112

@@ -170,9 +171,9 @@ module.exports = class Builder {
170171
/**
171172
* Performs the actually expansion of macros
172173
*/
173-
expandMacros(debugFlag) {
174+
expandMacros() {
174175
let t = this.t;
175-
let flag = t.booleanLiteral(debugFlag);
176+
let flag = t.booleanLiteral(this.isDebug);
176177
for (let i = 0; i < this.expressions.length; i++) {
177178
let expression = this.expressions[i];
178179
let exp = expression[0];

src/utils/macros.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ module.exports = class Macros {
1414
module: this.debugHelpers.module,
1515
global: this.debugHelpers.global,
1616
assertPredicateIndex: options.debugTools.assertPredicateIndex,
17+
isDebug: options.debugTools.isDebug,
1718
});
1819
}
1920

@@ -22,8 +23,7 @@ module.exports = class Macros {
2223
* adds the debug binding if missing from the env-flags module.
2324
*/
2425
expand(path) {
25-
// TODO: fix determination of "debug" or not
26-
this.builder.expandMacros(true);
26+
this.builder.expandMacros();
2727

2828
this._cleanImports(path);
2929
}

src/utils/normalize-options.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,20 @@ function parseDebugTools(options) {
99
throw new Error('You must specify `debugTools.source`');
1010
}
1111

12+
let isDebug = debugTools.isDebug;
1213
let debugToolsImport = debugTools.source;
1314
let assertPredicateIndex = debugTools.assertPredicateIndex;
1415

16+
if (options.envFlags && isDebug === undefined) {
17+
isDebug = options.envFlags.flags.DEBUG;
18+
}
19+
20+
if (isDebug === undefined) {
21+
throw new Error('You must specify `debugTools.isDebug`');
22+
}
23+
1524
return {
25+
isDebug,
1626
debugToolsImport,
1727
assertPredicateIndex,
1828
};

tests/create-tests.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ function createTests(options) {
3636
},
3737
],
3838
debugTools: {
39+
isDebug: false,
3940
source: '@ember/debug-tools',
4041
},
4142
},
@@ -58,6 +59,7 @@ function createTests(options) {
5859
DebugToolsPlugin,
5960
{
6061
debugTools: {
62+
isDebug: true,
6163
source: '@ember/debug-tools',
6264
assertPredicateIndex: 0,
6365
},
@@ -89,6 +91,7 @@ function createTests(options) {
8991
global: 'Ember',
9092
},
9193
debugTools: {
94+
isDebug: true,
9295
source: '@ember/debug-tools',
9396
assertPredicateIndex: 0,
9497
},
@@ -147,6 +150,7 @@ function createTests(options) {
147150
global: '__debugHelpers__',
148151
},
149152
debugTools: {
153+
isDebug: true,
150154
source: '@ember/debug-tools',
151155
},
152156
flags: [{ source: '@ember/env-flags', flags: { DEBUG: true } }],
@@ -173,6 +177,7 @@ function createTests(options) {
173177
global: 'Ember',
174178
},
175179
debugTools: {
180+
isDebug: true,
176181
source: '@ember/debug',
177182
assertPredicateIndex: 1,
178183
},
@@ -201,6 +206,7 @@ function createTests(options) {
201206
global: 'Ember',
202207
},
203208
debugTools: {
209+
isDebug: true,
204210
source: '@ember/debug',
205211
assertPredicateIndex: 1,
206212
},
@@ -224,6 +230,7 @@ function createTests(options) {
224230
module: true,
225231
},
226232
debugTools: {
233+
isDebug: true,
227234
source: '@ember/debug-tools',
228235
},
229236
flags: [{ source: '@ember/env-flags', flags: { DEBUG: true } }],
@@ -243,6 +250,7 @@ function createTests(options) {
243250
DebugToolsPlugin,
244251
{
245252
debugTools: {
253+
isDebug: true,
246254
source: '@ember/debug-tools',
247255
},
248256
flags: [
@@ -285,6 +293,7 @@ function createTests(options) {
285293
DebugToolsPlugin,
286294
{
287295
debugTools: {
296+
isDebug: true,
288297
source: '@ember/debug-tools',
289298
},
290299
flags: [{ source: '@ember/env-flags', flags: { DEBUG: true, TESTING: false } }],
@@ -305,6 +314,7 @@ function createTests(options) {
305314
DebugToolsPlugin,
306315
{
307316
debugTools: {
317+
isDebug: true,
308318
source: '@ember/debug-tools',
309319
},
310320
flags: [{ source: '@ember/env-flags', flags: { DEBUG: true } }],
@@ -325,6 +335,7 @@ function createTests(options) {
325335
DebugToolsPlugin,
326336
{
327337
debugTools: {
338+
isDebug: false,
328339
source: '@ember/debug-tools',
329340
},
330341
flags: [
@@ -353,6 +364,7 @@ function createTests(options) {
353364
DebugToolsPlugin,
354365
{
355366
debugTools: {
367+
isDebug: false,
356368
source: '@ember/debug-tools',
357369
},
358370
flags: [
@@ -392,6 +404,7 @@ function createTests(options) {
392404
},
393405
],
394406
debugTools: {
407+
isDebug: true,
395408
source: '@ember/debug-tools',
396409
},
397410
},

tests/normalize-options-test.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,11 @@ describe('normalizeOptions', function() {
3434
});
3535

3636
let expected = {
37-
debugTools: { assertPredicateIndex: undefined, debugToolsImport: '@ember/debug-tools' },
37+
debugTools: {
38+
isDebug: false,
39+
assertPredicateIndex: undefined,
40+
debugToolsImport: '@ember/debug-tools',
41+
},
3842
flags: {
3943
'@ember/env-flags': {
4044
DEBUG: false,
@@ -57,6 +61,7 @@ describe('normalizeOptions', function() {
5761
let actual = normalizeOptions({
5862
debugTools: {
5963
source: 'whatever',
64+
isDebug: true,
6065
},
6166
flags: [
6267
{ name: 'ember-source', source: '@glimmer/env', flags: { DEBUG: true } },
@@ -75,7 +80,7 @@ describe('normalizeOptions', function() {
7580
});
7681

7782
let expected = {
78-
debugTools: { assertPredicateIndex: undefined, debugToolsImport: 'whatever' },
83+
debugTools: { isDebug: true, assertPredicateIndex: undefined, debugToolsImport: 'whatever' },
7984
flags: {
8085
'@glimmer/env': {
8186
DEBUG: true,
@@ -99,6 +104,7 @@ describe('normalizeOptions', function() {
99104
let actual = normalizeOptions({
100105
debugTools: {
101106
source: 'whatever',
107+
isDebug: true,
102108
},
103109
svelte: { foo: '1.2.0' },
104110
flags: [
@@ -108,7 +114,7 @@ describe('normalizeOptions', function() {
108114
});
109115

110116
let expected = {
111-
debugTools: { assertPredicateIndex: undefined, debugToolsImport: 'whatever' },
117+
debugTools: { isDebug: true, assertPredicateIndex: undefined, debugToolsImport: 'whatever' },
112118
flags: {
113119
'foo/features': { ABC: false },
114120
whatever: { DEBUG: true },
@@ -124,6 +130,7 @@ describe('normalizeOptions', function() {
124130
let actual = normalizeOptions({
125131
debugTools: {
126132
source: 'whatever',
133+
isDebug: true,
127134
},
128135
svelte: { foo: '1.0.0' },
129136
flags: [
@@ -133,7 +140,7 @@ describe('normalizeOptions', function() {
133140
});
134141

135142
let expected = {
136-
debugTools: { assertPredicateIndex: undefined, debugToolsImport: 'whatever' },
143+
debugTools: { isDebug: true, assertPredicateIndex: undefined, debugToolsImport: 'whatever' },
137144
flags: {
138145
'foo/features': { ABC: true },
139146
whatever: { DEBUG: true },
@@ -149,6 +156,7 @@ describe('normalizeOptions', function() {
149156
let actual = normalizeOptions({
150157
debugTools: {
151158
source: 'whatever',
159+
isDebug: true,
152160
},
153161
svelte: { foo: '1.2.0' },
154162
flags: [
@@ -158,7 +166,7 @@ describe('normalizeOptions', function() {
158166
});
159167

160168
let expected = {
161-
debugTools: { assertPredicateIndex: undefined, debugToolsImport: 'whatever' },
169+
debugTools: { isDebug: true, assertPredicateIndex: undefined, debugToolsImport: 'whatever' },
162170
flags: {
163171
'foo/features': { ABC: false },
164172
whatever: { DEBUG: true },

0 commit comments

Comments
 (0)