Skip to content

Commit 7dd0c2f

Browse files
author
Robert Jackson
committed
Fix same version matching for svelte flags.
When both the actual "compliant" version and the "deprecation introduced" version match, the svelted/deprecated feature should be removed. This fixes that scenario.
1 parent 78f0352 commit 7dd0c2f

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

src/utils/normalize-options.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
const gte = require('semver').gte;
3+
const gt = require('semver').gt;
44

55
function normalizeOptions(options) {
66
let features = options.features || [];
@@ -32,7 +32,7 @@ function normalizeOptions(options) {
3232

3333
if (svelte !== undefined && typeof value === 'string' && svelte[name]) {
3434
hasSvelteBuild = true;
35-
flags[flagName] = svelteMap[featuresSource][flagName] = gte(value, svelte[name]);
35+
flags[flagName] = svelteMap[featuresSource][flagName] = gt(value, svelte[name]);
3636
} else if (typeof value === 'boolean' || value === null) {
3737
flags[flagName] = featuresMap[featuresSource][flagName] = value;
3838
} else {

tests/normalize-options-test.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,35 @@
33
const normalizeOptions = require('../src/utils/normalize-options').normalizeOptions;
44

55
describe('normalizeOptions', function() {
6+
it('sets flag to false when svelte version matches the flag version', function() {
7+
let actual = normalizeOptions({
8+
debugTools: {
9+
source: 'whatever',
10+
},
11+
envFlags: {
12+
flags: {
13+
DEBUG: true,
14+
},
15+
},
16+
svelte: { foo: '1.2.0' },
17+
features: [{ name: 'foo', source: 'foo/features', flags: { ABC: '1.2.0' } }],
18+
});
19+
20+
let expected = {
21+
debugTools: { assertPredicateIndex: undefined, debugToolsImport: 'whatever' },
22+
envFlags: { envFlagsImport: undefined, flags: { DEBUG: true } },
23+
externalizeHelpers: undefined,
24+
featureSources: ['foo/features'],
25+
features: [{ flags: { ABC: false }, name: 'foo', source: 'foo/features' }],
26+
featuresMap: { 'foo/features': {} },
27+
hasSvelteBuild: true,
28+
svelte: { foo: '1.2.0' },
29+
svelteMap: { 'foo/features': { ABC: false } },
30+
};
31+
32+
expect(actual).toEqual(expected);
33+
});
34+
635
it('sets flag to false when svelte version is higher than flag version', function() {
736
let actual = normalizeOptions({
837
debugTools: {

0 commit comments

Comments
 (0)