Skip to content

Commit 00b5737

Browse files
[Tests] parsers.all updates
Co-authored-by: Lubwama Collins <bizzicole87@gmail.com> Co-authored-by: Jordan Harband <ljharb@gmail.com>
1 parent dd74311 commit 00b5737

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

tests/src/parsers.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ const disableNewTS = semver.satisfies(tsParserVersion, '>= 4.1') // this rule is
1313

1414
function minEcmaVersion(features, parserOptions) {
1515
const minEcmaVersionForFeatures = {
16+
'export-default-from': 2018,
1617
'class fields': 2022,
1718
'optional chaining': 2020,
19+
'arbitrary-export-names': 2022,
1820
};
1921
const result = Math.max.apply(
2022
Math,
@@ -102,7 +104,8 @@ const parsers = {
102104
&& typeof testObject.errors !== 'number'
103105
&& {
104106
errors: testObject.errors.map(
105-
(errorObject) => {
107+
(error) => {
108+
const errorObject = typeof error === 'string' ? { message: error } : error;
106109
const nextSuggestions = errorObject.suggestions && {
107110
suggestions: errorObject.suggestions.map((suggestion) => Object.assign({}, suggestion, {
108111
output: suggestion.output + extraComment,
@@ -125,20 +128,24 @@ const parsers = {
125128

126129
const skipBase = (features.has('class fields') && semver.satisfies(version, '< 8'))
127130
|| (es >= 2020 && semver.satisfies(version, '< 6'))
131+
|| (features.has('arbitrary-export-names') && semver.satisfies(version, '< 8.7'))
128132
|| features.has('no-default')
129133
|| features.has('bind operator')
130134
|| features.has('do expressions')
131135
|| features.has('decorators')
132136
|| features.has('flow')
133137
|| features.has('ts')
134138
|| features.has('types')
135-
|| (features.has('fragment') && semver.satisfies(version, '< 5'));
139+
//if it has fragments use version 5 and higher // create features for export from
140+
|| (features.has('fragment') && semver.satisfies(version, '< 5'))
141+
|| features.has('export-default-from');
136142

137143
const skipBabel = features.has('no-babel');
138144
const skipOldBabel = skipBabel || features.has('no-babel-old') || semver.satisfies(version, '>= 8');
139145
const skipNewBabel = skipBabel
140146
|| features.has('no-babel-new')
141147
|| !semver.satisfies(version, '^7.5.0') // require('@babel/eslint-parser/package.json').peerDependencies.eslint
148+
|| features.has('export-default-from') // TODO: figure out how to configure babel for this
142149
|| features.has('flow')
143150
|| features.has('types')
144151
|| features.has('ts');
@@ -147,7 +154,9 @@ const parsers = {
147154
|| features.has('flow')
148155
|| features.has('jsx namespace')
149156
|| features.has('bind operator')
150-
|| features.has('do expressions');
157+
|| features.has('do expressions')
158+
|| features.has('arbitrary-export-names') // TODO: figure out which TS version starts supporting this
159+
|| features.has('export-default-from'); // TODO: figure out which TS version starts supporting this
151160
const tsOld = !skipTS && !features.has('no-ts-old');
152161
const tsNew = !skipTS && !features.has('no-ts-new');
153162

0 commit comments

Comments
 (0)