Skip to content

Commit

Permalink
Add ecmaVersion when required
Browse files Browse the repository at this point in the history
  • Loading branch information
sheepsteak committed Jun 23, 2019
1 parent b5ff64e commit 1029b4f
Show file tree
Hide file tree
Showing 8 changed files with 77 additions and 72 deletions.
10 changes: 7 additions & 3 deletions tests/src/core/getExports.js
Expand Up @@ -187,6 +187,7 @@ describe('ExportMap', function () {
jsdocTests({
parserPath: 'espree',
parserOptions: {
ecmaVersion: 2015,
sourceType: 'module',
attachComment: true,
},
Expand All @@ -195,6 +196,7 @@ describe('ExportMap', function () {
jsdocTests({
parserPath: 'espree',
parserOptions: {
ecmaVersion: 2015,
sourceType: 'module',
attachComment: true,
},
Expand All @@ -206,6 +208,7 @@ describe('ExportMap', function () {
jsdocTests({
parserPath: 'babel-eslint',
parserOptions: {
ecmaVersion: 2015,
sourceType: 'module',
attachComment: true,
},
Expand All @@ -214,6 +217,7 @@ describe('ExportMap', function () {
jsdocTests({
parserPath: 'babel-eslint',
parserOptions: {
ecmaVersion: 2015,
sourceType: 'module',
attachComment: true,
},
Expand All @@ -223,8 +227,8 @@ describe('ExportMap', function () {
})

context('exported static namespaces', function () {
const espreeContext = { parserPath: 'espree', parserOptions: { sourceType: 'module' }, settings: {} }
const babelContext = { parserPath: 'babel-eslint', parserOptions: { sourceType: 'module' }, settings: {} }
const espreeContext = { parserPath: 'espree', parserOptions: { ecmaVersion: 2015, sourceType: 'module' }, settings: {} }
const babelContext = { parserPath: 'babel-eslint', parserOptions: { ecmaVersion: 2015, sourceType: 'module' }, settings: {} }

it('works with espree & traditional namespace exports', function () {
const path = getFilename('deep/a.js')
Expand Down Expand Up @@ -255,7 +259,7 @@ describe('ExportMap', function () {
})

context('deep namespace caching', function () {
const espreeContext = { parserPath: 'espree', parserOptions: { sourceType: 'module' }, settings: {} }
const espreeContext = { parserPath: 'espree', parserOptions: { ecmaVersion: 2015, sourceType: 'module' }, settings: {} }
let a
before('sanity check and prime cache', function (done) {
// first version
Expand Down
2 changes: 1 addition & 1 deletion tests/src/core/parse.js
Expand Up @@ -20,7 +20,7 @@ describe('parse(content, { settings, ecmaFeatures })', function () {
})

it('infers jsx from ecmaFeatures when using stock parser', function () {
expect(() => parse(path, content, { settings: {}, parserPath: 'espree', parserOptions: { sourceType: 'module', ecmaFeatures: { jsx: true } } }))
expect(() => parse(path, content, { settings: {}, parserPath: 'espree', parserOptions: { ecmaVersion: 2015, sourceType: 'module', ecmaFeatures: { jsx: true } } }))
.not.to.throw(Error)
})

Expand Down
1 change: 1 addition & 0 deletions tests/src/rules/namespace.js
Expand Up @@ -25,6 +25,7 @@ const valid = [
parserOptions: {
sourceType: 'module',
ecmaFeatures: { jsx: true },
ecmaVersion: 2015,
},
}),
test({ code: "import * as foo from './common';" }),
Expand Down
70 changes: 35 additions & 35 deletions tests/src/rules/newline-after-import.js
Expand Up @@ -65,63 +65,63 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
return somethingElse();
}
}`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import path from 'path';\nimport foo from 'foo';\n`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import path from 'path';import foo from 'foo';\n`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import path from 'path';import foo from 'foo';\n\nvar bar = 42;`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import foo from 'foo';\n\nvar bar = 'bar';`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import foo from 'foo';\n\n\nvar bar = 'bar';`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
options: [{ 'count': 2 }],
},
{
code: `import foo from 'foo';\n\n\n\n\nvar bar = 'bar';`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
options: [{ 'count': 4 }],
},
{
code: `var foo = require('foo-module');\n\nvar foo = 'bar';`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `var foo = require('foo-module');\n\n\nvar foo = 'bar';`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
options: [{ 'count': 2 }],
},
{
code: `var foo = require('foo-module');\n\n\n\n\nvar foo = 'bar';`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
options: [{ 'count': 4 }],
},
{
code: `require('foo-module');\n\nvar foo = 'bar';`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import foo from 'foo';\nimport { bar } from './bar-lib';`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import foo from 'foo';\n\nvar a = 123;\n\nimport { bar } from './bar-lib';`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `var foo = require('foo-module');\n\nvar a = 123;\n\nvar bar = require('bar-lib');`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `
Expand All @@ -130,7 +130,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
foo();
}
`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `
Expand All @@ -139,7 +139,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
foo();
}
`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `
Expand All @@ -149,21 +149,21 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
var bar = 42;
}
`,
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `//issue 592
export default
@SomeDecorator(require('./some-file'))
class App {}
`,
parserOptions: { sourceType: 'module' },
parser: 'babel-eslint',
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
parser: require.resolve('babel-eslint'),
},
{
code: `var foo = require('foo');\n\n@SomeDecorator(foo)\nclass Foo {}`,
parserOptions: { sourceType: 'module' },
parser: 'babel-eslint',
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
parser: require.resolve('babel-eslint'),
},
],

Expand All @@ -176,7 +176,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: IMPORT_ERROR_MESSAGE,
} ],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import foo from 'foo';\n\nexport default function() {};`,
Expand All @@ -187,7 +187,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: IMPORT_ERROR_MESSAGE_MULTIPLE(2),
} ],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `var foo = require('foo-module');\nvar something = 123;`,
Expand All @@ -197,7 +197,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: REQUIRE_ERROR_MESSAGE,
} ],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import foo from 'foo';\nexport default function() {};`,
Expand All @@ -208,7 +208,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: IMPORT_ERROR_MESSAGE,
} ],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `var foo = require('foo-module');\nvar something = 123;`,
Expand All @@ -218,7 +218,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: REQUIRE_ERROR_MESSAGE,
} ],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import foo from 'foo';\nvar a = 123;\n\nimport { bar } from './bar-lib';\nvar b=456;`,
Expand All @@ -234,7 +234,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: IMPORT_ERROR_MESSAGE,
}],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `var foo = require('foo-module');\nvar a = 123;\n\nvar bar = require('bar-lib');\nvar b=456;`,
Expand All @@ -250,7 +250,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: REQUIRE_ERROR_MESSAGE,
}],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `var foo = require('foo-module');\nvar a = 123;\n\nrequire('bar-lib');\nvar b=456;`,
Expand All @@ -266,7 +266,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: REQUIRE_ERROR_MESSAGE,
}],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `var path = require('path');\nvar foo = require('foo');\nvar bar = 42;`,
Expand Down Expand Up @@ -316,7 +316,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: IMPORT_ERROR_MESSAGE,
} ],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import path from 'path';import foo from 'foo';var bar = 42;`,
Expand All @@ -326,7 +326,7 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 25,
message: IMPORT_ERROR_MESSAGE,
} ],
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},
{
code: `import foo from 'foo';\n@SomeDecorator(foo)\nclass Foo {}`,
Expand All @@ -336,8 +336,8 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: IMPORT_ERROR_MESSAGE,
} ],
parserOptions: { sourceType: 'module' },
parser: 'babel-eslint',
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
parser: require.resolve('babel-eslint'),
},
{
code: `var foo = require('foo');\n@SomeDecorator(foo)\nclass Foo {}`,
Expand All @@ -347,8 +347,8 @@ ruleTester.run('newline-after-import', require('rules/newline-after-import'), {
column: 1,
message: REQUIRE_ERROR_MESSAGE,
} ],
parserOptions: { sourceType: 'module' },
parser: 'babel-eslint',
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
parser: require.resolve('babel-eslint'),
},
],
})
4 changes: 2 additions & 2 deletions tests/src/rules/no-amd.js
Expand Up @@ -4,8 +4,8 @@ var ruleTester = new RuleTester()

ruleTester.run('no-amd', require('rules/no-amd'), {
valid: [
{ code: 'import "x";', parserOptions: { sourceType: 'module' } },
{ code: 'import x from "x"', parserOptions: { sourceType: 'module' } },
{ code: 'import "x";', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } },
{ code: 'import x from "x"', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } },
'var x = require("x")',

'require("x")',
Expand Down
14 changes: 7 additions & 7 deletions tests/src/rules/no-commonjs.js
Expand Up @@ -9,22 +9,22 @@ ruleTester.run('no-commonjs', require('rules/no-commonjs'), {
valid: [

// imports
{ code: 'import "x";', parserOptions: { sourceType: 'module' } },
{ code: 'import x from "x"', parserOptions: { sourceType: 'module' } },
{ code: 'import x from "x"', parserOptions: { sourceType: 'module' } },
{ code: 'import { x } from "x"', parserOptions: { sourceType: 'module' } },
{ code: 'import "x";', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } },
{ code: 'import x from "x"', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } },
{ code: 'import x from "x"', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } },
{ code: 'import { x } from "x"', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } },

// exports
{ code: 'export default "x"', parserOptions: { sourceType: 'module' } },
{ code: 'export function house() {}', parserOptions: { sourceType: 'module' } },
{ code: 'export default "x"', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } },
{ code: 'export function house() {}', parserOptions: { ecmaVersion: 2015, sourceType: 'module' } },
{
code:
'function someFunc() {\n'+
' const exports = someComputation();\n'+
'\n'+
' expect(exports.someProp).toEqual({ a: \'value\' });\n'+
'}',
parserOptions: { sourceType: 'module' },
parserOptions: { ecmaVersion: 2015, sourceType: 'module' },
},

// allowed requires
Expand Down

0 comments on commit 1029b4f

Please sign in to comment.