Skip to content

Commit

Permalink
chore: Improve eslint checks for deep imports (#8013)
Browse files Browse the repository at this point in the history
* chore: Improve eslint checks for deep imports

See: #7941 (comment)

* chore: Use fetch not request
  • Loading branch information
tofumatt committed Jul 17, 2018
1 parent 2ef02f8 commit d17effe
Showing 1 changed file with 18 additions and 15 deletions.
33 changes: 18 additions & 15 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,68 +34,71 @@ module.exports = {
rules: {
'no-restricted-syntax': [
'error',
// NOTE: We can't include the forward slash in our regex or
// we'll get a `SyntaxError` (Invalid regular expression: \ at end of pattern)
// here. That's why we use \\u002F in the regexes below.
{
selector: 'ImportDeclaration[source.value=/^@wordpress\\u002F.+\\u002F/]',
message: 'Path access on WordPress dependencies is not allowed.',
},
{
selector: 'ImportDeclaration[source.value=/^api-fetch$/]',
selector: 'ImportDeclaration[source.value=/^api-fetch(\\u002F|$)/]',
message: 'Use @wordpress/api-fetch as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^blob$/]',
selector: 'ImportDeclaration[source.value=/^blob(\\u002F|$)/]',
message: 'Use @wordpress/blob as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^blocks$/]',
selector: 'ImportDeclaration[source.value=/^blocks(\\u002F|$)/]',
message: 'Use @wordpress/blocks as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^components$/]',
selector: 'ImportDeclaration[source.value=/^components(\\u002F|$)/]',
message: 'Use @wordpress/components as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^data$/]',
selector: 'ImportDeclaration[source.value=/^data(\\u002F|$)/]',
message: 'Use @wordpress/data as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^date$/]',
selector: 'ImportDeclaration[source.value=/^date(\\u002F|$)/]',
message: 'Use @wordpress/date as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^deprecated$/]',
selector: 'ImportDeclaration[source.value=/^deprecated(\\u002F|$)/]',
message: 'Use @wordpress/deprecated as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^dom$/]',
selector: 'ImportDeclaration[source.value=/^dom(\\u002F|$)/]',
message: 'Use @wordpress/dom as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^editor$/]',
selector: 'ImportDeclaration[source.value=/^editor(\\u002F|$)/]',
message: 'Use @wordpress/editor as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^element$/]',
selector: 'ImportDeclaration[source.value=/^element(\\u002F|$)/]',
message: 'Use @wordpress/element as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^keycodes$/]',
selector: 'ImportDeclaration[source.value=/^keycodes(\\u002F|$)/]',
message: 'Use @wordpress/keycodes as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^utils$/]',
selector: 'ImportDeclaration[source.value=/^utils(\\u002F|$)/]',
message: 'Use @wordpress/utils as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^edit-post$/]',
selector: 'ImportDeclaration[source.value=/^edit-post(\\u002F|$)/]',
message: 'Use @wordpress/edit-post as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^viewport$/]',
selector: 'ImportDeclaration[source.value=/^viewport(\\u002F|$)/]',
message: 'Use @wordpress/viewport as import path instead.',
},
{
selector: 'ImportDeclaration[source.value=/^plugins$/]',
selector: 'ImportDeclaration[source.value=/^plugins(\\u002F|$)/]',
message: 'Use @wordpress/plugins as import path instead.',
},
{
Expand Down

0 comments on commit d17effe

Please sign in to comment.