Skip to content

Commit

Permalink
Setup standard to enforce style on new code
Browse files Browse the repository at this point in the history
Fixes browserhtml#1240

This change configures eslint on top of [eslint-config-standard](https://github.com/feross/eslint-config-standard) which is then configured to workaround following issues preventing us using from stock standard package:

1. space-infix-ops reports polymorphic functions:
   babel/babel-eslint#366
2. no-duplicate-imports rule triggered by `import type`:
   standard/standard#599

All of the currently tracked fils are also listed under `.eslintignore` so that current code will not be listed until we get to reformat it.
  • Loading branch information
Gozala committed Aug 19, 2016
1 parent 0eb45f9 commit 0686b6d
Show file tree
Hide file tree
Showing 4 changed files with 148 additions and 110 deletions.
105 changes: 105 additions & 0 deletions .eslintignore
@@ -0,0 +1,105 @@
src/Service/History.js
src/Service/Search.js
src/about/newtab/demos/evil_ad/physics/physics.js
src/about/newtab/demos/evil_ad/shared/dom.js
src/about/newtab/demos/evil_ad/shared/lib.js
src/about/newtab/demos/evil_ad/vendor/coffee-physics.min.js
src/about/newtab/main.js
src/about/newtab/newtab.js
src/about/newtab/newtab/tile.js
src/about/newtab/newtab/tiles.js
src/about/newtab/newtab/wallpaper.js
src/about/newtab/newtab/wallpapers.js
src/about/repl/main.js
src/about/repl/repl.js
src/about/repl/repl/cell.js
src/about/repl/repl/host.js
src/about/repl/repl/host/window.js
src/about/repl/repl/input.js
src/about/repl/repl/output.js
src/about/settings/main.js
src/about/settings/setting.js
src/about/settings/settings.js
src/browser.js
src/browser/IssueReporter.js
src/browser/Navigators.js
src/browser/Navigators/Display.js
src/browser/Navigators/Navigator.js
src/browser/Navigators/Navigator/Assistant.js
src/browser/Navigators/Navigator/Assistant/History.js
src/browser/Navigators/Navigator/Assistant/Search.js
src/browser/Navigators/Navigator/Assistant/Selector.js
src/browser/Navigators/Navigator/Assistant/Suggestion.js
src/browser/Navigators/Navigator/Assistant/Suggestion/Icon.js
src/browser/Navigators/Navigator/Assistant/Suggestion/Location.js
src/browser/Navigators/Navigator/Assistant/Suggestion/StyleSheet.js
src/browser/Navigators/Navigator/Assistant/Suggestion/Title.js
src/browser/Navigators/Navigator/Display.js
src/browser/Navigators/Navigator/Header.js
src/browser/Navigators/Navigator/Header/BackButton.js
src/browser/Navigators/Navigator/Header/NewTabButton.js
src/browser/Navigators/Navigator/Header/ShowTabsButton.js
src/browser/Navigators/Navigator/Input.js
src/browser/Navigators/Navigator/Overlay.js
src/browser/Navigators/Navigator/Overlay/Display.js
src/browser/Navigators/Navigator/Progress.js
src/browser/Navigators/Navigator/Progress/PolyfillView.js
src/browser/Navigators/Navigator/Progress/ProgressView.js
src/browser/Navigators/Navigator/Title.js
src/browser/Navigators/Navigator/WebView.js
src/browser/Navigators/Navigator/WebView/ElectronFrame.js
src/browser/Navigators/Navigator/WebView/MozBrowserFrame.js
src/browser/Navigators/Navigator/WebView/Navigation.js
src/browser/Navigators/Navigator/WebView/Page.js
src/browser/Navigators/Navigator/WebView/Page/Icon.js
src/browser/Navigators/Navigator/WebView/Page/Sign.js
src/browser/Navigators/Navigator/WebView/Security.js
src/browser/Navigators/Navigator/WebView/Shell.js
src/browser/Navigators/Navigator/WebView/Util.js
src/browser/Navigators/Overlay.js
src/browser/Sidebar.js
src/browser/Sidebar/Display.js
src/browser/Sidebar/Tab.js
src/browser/Sidebar/Tabs.js
src/browser/Sidebar/Toolbar.js
src/browser/pallet.js
src/browser/shell.js
src/browser/shell/controls.js
src/common/Animation.js
src/common/Deck.js
src/common/button.js
src/common/control.js
src/common/cursor.js
src/common/devtools.js
src/common/editable.js
src/common/favicon.js
src/common/focusable.js
src/common/history.js
src/common/image.js
src/common/keyboard.js
src/common/os.js
src/common/performance.js
src/common/prelude.js
src/common/ref.js
src/common/request-animation-frame.js
src/common/result.js
src/common/runtime.js
src/common/selector.js
src/common/settings.js
src/common/stopwatch.js
src/common/style.js
src/common/target.js
src/common/text-input.js
src/common/toggle.js
src/common/unknown.js
src/common/url-helper.js
src/common/url.js
src/devtools.js
src/devtools/log.js
src/devtools/record.js
src/devtools/replay.js
src/driver/virtual-dom/index.js
src/lang/functional.js
src/lang/promise.js
src/lang/task.js
src/main.js
36 changes: 36 additions & 0 deletions .eslintrc
@@ -0,0 +1,36 @@
{
"parser": "babel-eslint",
"extends": "standard",
"plugins": [
"flowtype",
"import"
],
"rules": {
// Override standard style as it runs into following bug:
// https://github.com/babel/babel-eslint/issues/366
"space-infix-ops": 0,
// Override standard style as it breaks on import type:
// https://github.com/feross/standard/issues/599
"no-duplicate-imports": 0,
// Use import plugin instead that understands import type:
// https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-duplicates.md
"import/no-duplicates": 1,

"flowtype/define-flow-type": 1,
"flowtype/space-before-type-colon": [
1,
"never"
],
"flowtype/use-flow-type": 1,
"flowtype/valid-syntax": 1,
"flowtype/type-id-match": [
2,
"^([A-Z]+[a-z0-9A-Z]*)$"
]
},
"settings": {
"flowtype": {
"onlyFilesWithFlowAnnotation": false
}
}
}
109 changes: 0 additions & 109 deletions .jscsrc

This file was deleted.

8 changes: 7 additions & 1 deletion package.json
Expand Up @@ -27,7 +27,8 @@
"build-server": "gulp build-server",
"live-server": "gulp live-server",
"flow": "flow check",
"test": "flow check",
"lint": "eslint src",
"test": "npm run flow && npm run lint",
"status": "flow status"
},
"dependencies": {
Expand All @@ -52,6 +53,11 @@
"browserify": "13.0.0",
"browserify-hmr": "0.3.1",
"ecstatic": "0.8.0",
"eslint": "3.3.1",
"babel-eslint": "6.1.2",
"eslint-config-standard": "5.3.5",
"eslint-plugin-flowtype": "2.7.1",
"eslint-plugin-import": "1.13.0",
"flow-bin": "0.28.0",
"gulp": "3.9.1",
"gulp-sequence": "0.4.5",
Expand Down

0 comments on commit 0686b6d

Please sign in to comment.