Commit graph

38 commits

Author SHA1 Message Date
J. Ryan Stinnett
a9f35e8c69 Lint MXC APIs to centralise access
This adds linting rules to ensure that MXC APIs are only accessed via the
`Media` helper so they can be customised easily when desired.

Fixes https://github.com/vector-im/element-web/issues/16933
2021-06-30 14:19:39 +01:00
J. Ryan Stinnett
07f057f381 Keep indent rule enabled 2021-06-29 15:30:38 +01:00
J. Ryan Stinnett
fe123fc605 Rework lint comments 2021-06-29 13:35:43 +01:00
J. Ryan Stinnett
2be40ad08a Use unquoted keys 2021-06-29 13:19:42 +01:00
J. Ryan Stinnett
a4f8ca4f8a Switch to newer Babel specific config 2021-06-29 13:18:58 +01:00
J. Ryan Stinnett
71116bfa27 Migrate to eslint-plugin-matrix-org
This migrates to the new plugin form of our custom ESLint configs. As part of
this, some packages are de-duplicated, configs streamlined, etc.
2021-06-29 12:51:13 +01:00
David Baker
31604c13c0 Lint the typescript tests
Turns out we hadn't told eslint to lint .ts in tests/

Also fix all the lint errors, including removing a use of assert that
had randomly crept in.
2021-06-04 16:52:50 +01:00
Germain Souquet
f156c2db15 prevent reflow in app when accessing window dimensions 2021-05-25 10:28:43 +01:00
Šimon Brandner
46bfbbadf9
Enable indent rule and fix indent
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-27 17:23:27 +02:00
J. Ryan Stinnett
d78bc98521 Resolve linting errors after upgrades 2021-01-27 12:42:39 +00:00
Michael Telatynski
9ba33c7f80 Fix eslint ts override tsx matching and delint 2020-08-29 01:11:08 +01:00
J. Ryan Stinnett
50bc7fc62f Remove redundant lint dependencies
These are no longer needed with the new standard lint repo.
2020-07-29 12:00:42 +01:00
Jorik Schellekens
be5db851ca Revert unsafe rename and use boolean coercion 2020-07-21 10:29:05 +01:00
Jorik Schellekens
7699aafcaf Use new eslint package- fix lint issues in ts and js 2020-06-23 17:01:19 +01:00
Travis Ralston
457e63f24e Fix reference to js-sdk lint config 2020-01-15 10:25:36 -07:00
Travis Ralston
20a615396b Implementation of new potential skinning mechanism
With a switch to Only One Webpack™ we need a way to help developers generate the component index without a concurrent watch task. The best way to do this is to have developers import their components, but how do they do that when we support skins? The answer in this commit is to change skinning.

Skinning now expects to receive your list of overrides instead of the react-sdk+branded components. For Riot this means we send over *only* the Vector components and not Vector+react-sdk. 

Components can then be annotated with the `replaceComponent` decorator to have them be skinnable. The decorator must take a string with the dot path of the component because we can't reliably calculate it ourselves, sadly. 

The decorator does a call to `getComponent` which is where the important part of the branded components not including the react-sdk is important: if the branded app includes the react-sdk then the decorator gets executed before the skin has finished loading, leading to all kinds of fun errors. This is also why the skinner lazily loads the react-sdk components to avoid importing them too early, breaking the app.

The decorator will end up receiving null for a component because of the getComponent loop mentioned: the require() call is still in progress when the decorator is called, therefore we can't error out. All usages of getComponent() within the app are safe to not need such an error (the return won't be null, and developers shouldn't use getComponent() after this commit anyways).

The AuthPage, being a prominent component, has been converted to demonstrate this working. Changes to riot-web are required to have this work.

The reskindex script has also been altered to reflect these skinning changes - it no longer should set the react-sdk as a parent. The eventual end goal is to get rid of `getComponent()` entirely as it'll be easily replaced by imports.
2019-12-12 19:48:45 -07:00
Michael Telatynski
df02eb8e92 Add UserInfo panel (consolidation of MemberInfo & GroupMemberInfo) Labs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-07 16:52:50 +01:00
Bruno Windels
f51d25c394 declare LANGUAGES_FILE as global in eslint config 2019-02-18 16:36:11 +01:00
Bruno Windels
87ddb8a453
Merge pull request #2575 from matrix-org/bwindels/customtags
Bring back custom tags, also badges on communities
2019-02-07 11:37:17 +00:00
Bruno Windels
b9b83605b6 leave my regex along, lint 2019-02-05 19:31:14 +00:00
David Baker
32dbbbe7b1 Remove the arrow-paren lint rule
It's now in the base lint rules file: https://github.com/matrix-org/matrix-js-sdk/pull/834
2019-02-05 13:13:20 +00:00
Travis Ralston
a488304410 Appease the linter
Appease the linter round 2

Appease the linter round 3

Appease the linter round 4

Appease the linter round 5
2019-01-21 18:41:49 -07:00
J. Ryan Stinnett
b036e59021 Enable ESLint rule to require defined components in JSX
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-18 17:01:37 +00:00
Matthew Hodgson
4439a04689 fix lint 2018-05-20 23:43:42 +01:00
Matthew Hodgson
ebfcea8b78
Merge pull request #1872 from matrix-org/matthew/lint-changes
relax lint for jsx-curly-spacing and arrow-parens
2018-05-02 23:33:04 +01:00
Matthew Hodgson
09dcfb0a00 relax lint for jsx-curly-spacing and arrow-parens 2018-05-02 23:27:19 +01:00
David Baker
adf3e2f376 Change jsx-no-bind to warn 2018-05-02 17:36:29 +01:00
Luke Barnard
c429b13b05 Add eslint rule keyword-spacing
Because we follow it almost all of the time.
2017-11-16 13:18:58 +00:00
Luke Barnard
1c82df216e Ignore unused React when using JSX 2017-11-10 16:11:59 +00:00
Luke Barnard
6b9a2909df Add rule to enforce spacing in curly brackets in JSX children
This required an updated in version of eslint-plugin-react to 7.4.0.
2017-09-28 11:21:06 +01:00
Luke Barnard
e70336af11 Add rule to enforce JSX tag spacing 2017-09-28 10:27:03 +01:00
Luke Barnard
6eedf8b073 Add eslint rule to disallow spaces inside of curly braces 2017-09-28 10:06:51 +01:00
Michael Telatynski
86a5ff42e9 Change max-len 90->120
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-29 14:23:08 +01:00
Aviral Dasgupta
0e66b370d4
fix eslint's no-invalid-this rule for class properties 2017-02-16 16:49:00 +05:30
Richard van der Hoff
a65d94e8ce Reinstate max-len lint configs
Apparenltly setting the ignorePattern on max-len (as per cf049f2) makes eslint
forget the `ignoreComments` and `code` settings from js-sdk, so reinstate
these.
2017-02-02 10:52:11 +00:00
Richard van der Hoff
cf049f2d75 Exempt lines which look like pure JSX from the maxlen line 2017-02-01 09:59:46 +00:00
David Baker
905508f1ce Correctly get the path of the js-sdk .eslintrc.js
So we work correctly when we're included in another module
2017-01-23 17:33:09 +00:00
David Baker
4ba224aac3 Use eslint config from the js sdk
Extend the js sdk's eslint config to give as consistent a code
style as possible. Add react/jsx/flow stuff that we use here.
2017-01-20 14:08:14 +00:00