Skip to content
This repository has been archived by the owner on Aug 18, 2020. It is now read-only.

Use typescript parser only for typescript files and some small tidying #200

Merged
merged 2 commits into from
Oct 30, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,17 @@
<!-- ## Unreleased -->

### Added

* `shopify/no-ancestor-directory-import` ([#149](https://github.com/Shopify/eslint-plugin-shopify/pull/149))

### Fixed

* Set TypeScript parser only on TS files. This makes sure you can specify extending from the typescript and react configs in either order. Previously you had to make sure react came first. ([#200](https://github.com/Shopify/eslint-plugin-shopify/pull/200))

## [26.0.0] - 2018-10-26

### Added

* `shopify/eslint-comments` plugin with [eslint-plugin-eslint-comments](https://www.npmjs.com/package/eslint-plugin-eslint-comments) rules:
- `eslint-comments/disable-enable-pair`,
- `eslint-comments/no-aggregating-enable`
Expand Down
20 changes: 14 additions & 6 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,15 @@ module.exports = {
},

configs: {
ava: require('./lib/config/ava'),
// Core configs - When extending, one of these should go first
core: require('./lib/config/core'),
es5: require('./lib/config/es5'),
esnext: require('./lib/config/esnext'),
react: require('./lib/config/react'),
typescript: require('./lib/config/typescript'),

// Augmenting configs - When extending, these go after the core config
ava: require('./lib/config/ava'),
'eslint-comments': require('./lib/config/eslint-comments'),
flow: require('./lib/config/flow'),
graphql: require('./lib/config/graphql'),
Expand All @@ -45,11 +50,14 @@ module.exports = {
mocha: require('./lib/config/mocha'),
node: require('./lib/config/node'),
polaris: require('./lib/config/polaris'),
prettier: require('./lib/config/prettier'),
react: require('./lib/config/react'),
typescript: require('./lib/config/typescript'),
'typescript-prettier': require('./lib/config/typescript-prettier'),
'typescript-react': require('./lib/config/typescript-react'),
webpack: require('./lib/config/webpack'),

// Prettier config - When extending, this must go last
prettier: require('./lib/config/prettier'),

// DEPREACATED - use 'prettier' instead
'typescript-prettier': require('./lib/config/prettier'),
// DEPREACATED - use 'react' instead
'typescript-react': require('./lib/config/react'),
},
};
8 changes: 5 additions & 3 deletions lib/config/all.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,16 @@ module.exports = {
require('./rules/jsx-a11y'),
require('./rules/lodash'),
require('./rules/node'),
require('./rules/prettier'),
require('./rules/promise'),
require('./rules/react'),
require('./rules/shopify'),
require('./rules/sort-class-members'),
require('./rules/typescript'),
require('./rules/typescript-prettier'),
require('./rules/typescript-react'),
require('./rules/react-typescript'),
require('./rules/webpack'),

// Prettier must go last
require('./rules/prettier'),
require('./rules/prettier-typescript'),
),
};
2 changes: 1 addition & 1 deletion lib/config/prettier.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ module.exports = {
},
{
files: ['*.ts', '*.tsx'],
rules: require('./rules/typescript-prettier'),
rules: require('./rules/prettier-typescript'),
},
],
};
2 changes: 1 addition & 1 deletion lib/config/react.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ module.exports = {
overrides: [
{
files: ['*.ts', '*.tsx'],
rules: require('./rules/typescript-react'),
rules: require('./rules/react-typescript'),
},
],
};
5 changes: 0 additions & 5 deletions lib/config/typescript-prettier.js

This file was deleted.

5 changes: 0 additions & 5 deletions lib/config/typescript-react.js

This file was deleted.

12 changes: 5 additions & 7 deletions lib/config/typescript.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
const merge = require('merge');

module.exports = {
parser: 'typescript-eslint-parser',

extends: 'plugin:shopify/esnext',

plugins: ['typescript'],

parserOptions: {
ecmaVersion: 2017,
sourceType: 'module',
},

settings: {
'import/parsers': {
'typescript-eslint-parser': ['.ts', '.tsx'],
Expand All @@ -23,6 +16,11 @@ module.exports = {

overrides: [
{
parser: 'typescript-eslint-parser',
parserOptions: {
ecmaVersion: 2017,
sourceType: 'module',
},
files: ['*.ts', '*.tsx'],
rules: merge(require('./rules/typescript'), {
// TypeScript provides a better mechanism (explicit `this` type)
Expand Down