From ae97a76d2ea3250556ab3e2448ab213ce710d058 Mon Sep 17 00:00:00 2001 From: sota1235 Date: Wed, 11 Jan 2017 23:10:09 +0900 Subject: [PATCH 01/12] add: for using TravisCI --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..fa1c8122 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,3 @@ +node_js: + - 'stable' + - 'lts/*' From f41ff77d7646be485f3b06fdb6dae2286852137d Mon Sep 17 00:00:00 2001 From: sota1235 Date: Wed, 11 Jan 2017 23:12:24 +0900 Subject: [PATCH 02/12] add: npm command for checking coding style --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index cba2f73d..a1a16e6b 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "hot": "electron ./index.js --hot", "webpack": "webpack-dev-server --hot --inline --config webpack.config.js", "compile": "grunt compile", - "test": "PWD=$(pwd) NODE_ENV=test ava" + "test": "PWD=$(pwd) NODE_ENV=test ava", + "lint": "standard" }, "config": { "electron-version": "1.2.8" From 0d004b2f0aec54eebae392f60359d21d5b42ad00 Mon Sep 17 00:00:00 2001 From: sota1235 Date: Wed, 11 Jan 2017 23:13:50 +0900 Subject: [PATCH 03/12] add: npm script for fix codes with standardjs --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index a1a16e6b..6c43089c 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "webpack": "webpack-dev-server --hot --inline --config webpack.config.js", "compile": "grunt compile", "test": "PWD=$(pwd) NODE_ENV=test ava", + "fix": "standard --fix", "lint": "standard" }, "config": { From ed9ddee5f1b1bf9dc17afe803a63f32fbd03ee34 Mon Sep 17 00:00:00 2001 From: sota1235 Date: Wed, 11 Jan 2017 23:17:32 +0900 Subject: [PATCH 04/12] refactor: fix by standardjs --- browser/components/NoteItem.js | 4 ++-- browser/components/NoteItemSimple.js | 4 ++-- browser/components/ProfileImage.js | 2 +- browser/components/SideNavFilter.js | 8 ++++---- browser/components/SnippetTab.js | 2 +- browser/components/StorageItem.js | 2 +- browser/finder/NoteDetail.js | 4 +--- browser/finder/NoteList.js | 1 - browser/finder/index.js | 2 +- browser/lib/date-formatter.js | 6 +++--- browser/lib/markdown.js | 2 +- browser/main/Detail/FolderSelect.js | 2 +- browser/main/Detail/LastUpdatedString.js | 2 +- browser/main/Detail/SnippetNoteDetail.js | 10 +++++----- browser/main/Detail/TagSelect.js | 4 ++-- browser/main/Main.js | 4 ++-- browser/main/NoteList/index.js | 4 ++-- browser/main/SideNav/StorageItem.js | 2 +- browser/main/SideNav/index.js | 6 +++--- browser/main/StatusBar/index.js | 4 ++-- browser/main/TopBar/index.js | 10 +++++----- browser/main/lib/modal.js | 6 +++--- browser/main/modals/DeleteArticleModal.js | 6 +++--- browser/main/modals/InitModal.js | 6 +++--- browser/main/modals/NewNoteModal.js | 10 +++++----- browser/main/modals/PreferencesModal/HotkeyTab.js | 2 +- browser/main/modals/PreferencesModal/InfoTab.js | 4 ++-- browser/main/modals/PreferencesModal/StorageItem.js | 12 ++++++------ browser/main/modals/PreferencesModal/StoragesTab.js | 2 +- browser/main/modals/PreferencesModal/index.js | 8 ++++---- 30 files changed, 69 insertions(+), 72 deletions(-) diff --git a/browser/components/NoteItem.js b/browser/components/NoteItem.js index a165bd16..b874557d 100644 --- a/browser/components/NoteItem.js +++ b/browser/components/NoteItem.js @@ -91,10 +91,10 @@ NoteItem.propTypes = { type: PropTypes.string.isRequired, title: PropTypes.string.isrequired, tags: PropTypes.array, - isStarred: PropTypes.bool.isRequired, + isStarred: PropTypes.bool.isRequired }), handleNoteClick: PropTypes.func.isRequired, - handleNoteContextMenu: PropTypes.func.isRequired, + handleNoteContextMenu: PropTypes.func.isRequired } export default CSSModules(NoteItem, styles) diff --git a/browser/components/NoteItemSimple.js b/browser/components/NoteItemSimple.js index 503e4171..27c71813 100644 --- a/browser/components/NoteItemSimple.js +++ b/browser/components/NoteItemSimple.js @@ -40,10 +40,10 @@ NoteItemSimple.propTypes = { storage: PropTypes.string.isRequired, key: PropTypes.string.isRequired, type: PropTypes.string.isRequired, - title: PropTypes.string.isrequired, + title: PropTypes.string.isrequired }), handleNoteClick: PropTypes.func.isRequired, - handleNoteContextMenu: PropTypes.func.isRequired, + handleNoteContextMenu: PropTypes.func.isRequired } export default CSSModules(NoteItemSimple, styles) diff --git a/browser/components/ProfileImage.js b/browser/components/ProfileImage.js index 005863bc..5c2bb78d 100644 --- a/browser/components/ProfileImage.js +++ b/browser/components/ProfileImage.js @@ -12,7 +12,7 @@ export default class ProfileImage extends React.Component { className={className} width={this.props.size} height={this.props.size} - src={src}/> + src={src} /> ) } } diff --git a/browser/components/SideNavFilter.js b/browser/components/SideNavFilter.js index 6d8db96a..a10d2d98 100644 --- a/browser/components/SideNavFilter.js +++ b/browser/components/SideNavFilter.js @@ -17,17 +17,17 @@ const SideNavFilter = ({ isFolded, isHomeActive, handleAllNotesButtonClick, isStarredActive, handleStarredButtonClick }) => ( -
+
@@ -38,7 +38,7 @@ SideNavFilter.propTypes = { isHomeActive: PropTypes.bool.isRequired, handleAllNotesButtonClick: PropTypes.func.isRequired, isStarredActive: PropTypes.bool.isRequired, - handleStarredButtonClick: PropTypes.func.isRequired, + handleStarredButtonClick: PropTypes.func.isRequired } export default CSSModules(SideNavFilter, styles) diff --git a/browser/components/SnippetTab.js b/browser/components/SnippetTab.js index 49213254..31ae3e9c 100644 --- a/browser/components/SnippetTab.js +++ b/browser/components/SnippetTab.js @@ -117,7 +117,7 @@ class SnippetTab extends React.Component { }
diff --git a/browser/components/StorageItem.js b/browser/components/StorageItem.js index 603523b0..d73ef406 100644 --- a/browser/components/StorageItem.js +++ b/browser/components/StorageItem.js @@ -52,7 +52,7 @@ StorageItem.propTypes = { folderName: PropTypes.string.isRequired, folderColor: PropTypes.string, isFolded: PropTypes.bool.isRequired, - noteCount: PropTypes.number, + noteCount: PropTypes.number } export default CSSModules(StorageItem, styles) diff --git a/browser/finder/NoteDetail.js b/browser/finder/NoteDetail.js index 2abaaa96..2581ac48 100644 --- a/browser/finder/NoteDetail.js +++ b/browser/finder/NoteDetail.js @@ -97,9 +97,7 @@ class NoteDetail extends React.Component { let { note, config } = this.props if (note == null) { return ( -
- -
+
) } diff --git a/browser/finder/NoteList.js b/browser/finder/NoteList.js index 106ac54a..153293d0 100644 --- a/browser/finder/NoteList.js +++ b/browser/finder/NoteList.js @@ -59,7 +59,6 @@ class NoteList extends React.Component { let notesList = notes .slice(0, 10 + 10 * this.state.range) .map((note, _index) => { - const isActive = (index === _index) const key = `${note.storage}-${note.key}` const dateDisplay = moment(note.updatedAt).fromNow() diff --git a/browser/finder/index.js b/browser/finder/index.js index 0f6e3735..8bc5555c 100644 --- a/browser/finder/index.js +++ b/browser/finder/index.js @@ -351,7 +351,7 @@ function refreshData () { ReactDOM.render(( - + ), document.getElementById('content'), function () { refreshData() diff --git a/browser/lib/date-formatter.js b/browser/lib/date-formatter.js index c30f9826..4f6a4002 100644 --- a/browser/lib/date-formatter.js +++ b/browser/lib/date-formatter.js @@ -1,17 +1,17 @@ /** * @fileoverview Formatting date string. */ -import moment from 'moment'; +import moment from 'moment' /** * @description Return date string. For example, 'Sep.9, 2016 12:00'. * @param {mixed} * @return {string} */ -export function getLastUpdated(date) { +export function getLastUpdated (date) { const m = moment(date) if (!m.isValid()) { - throw Error('Invalid argument.'); + throw Error('Invalid argument.') } return m.format('MMM D, gggg H:mm') diff --git a/browser/lib/markdown.js b/browser/lib/markdown.js index b5e4c893..af68b0e3 100644 --- a/browser/lib/markdown.js +++ b/browser/lib/markdown.js @@ -58,7 +58,7 @@ md.use(math, { }) md.use(require('markdown-it-footnote')) // Override task item -md.block.ruler.at('paragraph', function (state, startLine/*, endLine*/) { +md.block.ruler.at('paragraph', function (state, startLine/*, endLine */) { let content, terminate, i, l, token let nextLine = startLine + 1 let terminatorRules = state.md.block.ruler.getRules('paragraph') diff --git a/browser/main/Detail/FolderSelect.js b/browser/main/Detail/FolderSelect.js index 47fa6bad..b02162a4 100644 --- a/browser/main/Detail/FolderSelect.js +++ b/browser/main/Detail/FolderSelect.js @@ -268,7 +268,7 @@ class FolderSelect extends React.Component { in {currentOption.storage.name}
- + } diff --git a/browser/main/Detail/LastUpdatedString.js b/browser/main/Detail/LastUpdatedString.js index 764709ef..eb67fa80 100644 --- a/browser/main/Detail/LastUpdatedString.js +++ b/browser/main/Detail/LastUpdatedString.js @@ -21,7 +21,7 @@ const LastUpdatedString = ({ date }) => { } LastUpdatedString.propTypes = { - date: PropTypes.string, + date: PropTypes.string } export default CSSModules(LastUpdatedString, styles) diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index fdc76262..68b64696 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -538,7 +538,7 @@ class SnippetNoteDetail extends React.Component { @@ -563,7 +563,7 @@ class SnippetNoteDetail extends React.Component { {viewList} @@ -577,19 +577,19 @@ class SnippetNoteDetail extends React.Component { ? 'Select Syntax...' : this.state.note.snippets[this.state.snippetIndex].mode }  - + diff --git a/browser/main/Detail/TagSelect.js b/browser/main/Detail/TagSelect.js index ff264763..4fce3c68 100644 --- a/browser/main/Detail/TagSelect.js +++ b/browser/main/Detail/TagSelect.js @@ -8,7 +8,7 @@ class TagSelect extends React.Component { super(props) this.state = { - newTag: '', + newTag: '' } } @@ -111,7 +111,7 @@ class TagSelect extends React.Component { ) diff --git a/browser/main/Main.js b/browser/main/Main.js index 0033fa89..d2d1508d 100644 --- a/browser/main/Main.js +++ b/browser/main/Main.js @@ -112,7 +112,7 @@ class Main extends React.Component { ConfigManager.set({ navWidth }) dispatch({ type: 'SET_NAV_WIDTH', - navWidth, + navWidth }) }) } @@ -169,7 +169,7 @@ class Main extends React.Component { onMouseDown={(e) => this.handleLeftSlideMouseDown(e)} draggable='false' > -
+
}
this.handleListStyleButtonClick(e, 'DEFAULT')} > - +
this.handleAddFolderButtonClick(e)} > - + } diff --git a/browser/main/SideNav/index.js b/browser/main/SideNav/index.js index c0fe0fd2..42dcb99a 100644 --- a/browser/main/SideNav/index.js +++ b/browser/main/SideNav/index.js @@ -65,7 +65,7 @@ class SideNav extends React.Component {
@@ -87,8 +87,8 @@ class SideNav extends React.Component { onClick={(e) => this.handleToggleButtonClick(e)} > {isFolded - ? - : + ? + : }
diff --git a/browser/main/StatusBar/index.js b/browser/main/StatusBar/index.js index 12c54355..82b4cf76 100644 --- a/browser/main/StatusBar/index.js +++ b/browser/main/StatusBar/index.js @@ -59,9 +59,9 @@ class StatusBar extends React.Component { : null } - {/**/} + */} } - + + ) diff --git a/browser/main/modals/InitModal.js b/browser/main/modals/InitModal.js index d405f880..9f10775f 100644 --- a/browser/main/modals/InitModal.js +++ b/browser/main/modals/InitModal.js @@ -197,7 +197,7 @@ class InitModal extends React.Component { render () { if (this.state.isLoading) { return
- +
Preparing initialization...
} @@ -235,7 +235,7 @@ class InitModal extends React.Component { {this.state.legacyStorageExists &&
- +
} @@ -247,7 +247,7 @@ class InitModal extends React.Component { > {this.state.isSending ? - Loading... + Loading... : 'Let\'s Go!' } diff --git a/browser/main/modals/NewNoteModal.js b/browser/main/modals/NewNoteModal.js index 554652a3..13c5a035 100644 --- a/browser/main/modals/NewNoteModal.js +++ b/browser/main/modals/NewNoteModal.js @@ -114,8 +114,8 @@ class NewNoteModal extends React.Component { >
- Markdown Note
+ />
+ Markdown Note
It is good for any type of documents. Check List, Code block and Latex block are available. @@ -126,14 +126,14 @@ class NewNoteModal extends React.Component { >
- Snippet Note
+ />
+ Snippet Note
This format is specialized on managing snippets like Gist. Multiple snippets can be grouped as a note. -
Tab to switch format
+
Tab to switch format
) diff --git a/browser/main/modals/PreferencesModal/HotkeyTab.js b/browser/main/modals/PreferencesModal/HotkeyTab.js index dbaa0b35..5ac33ea0 100644 --- a/browser/main/modals/PreferencesModal/HotkeyTab.js +++ b/browser/main/modals/PreferencesModal/HotkeyTab.js @@ -150,7 +150,7 @@ class HotkeyTab extends React.Component { } HotkeyTab.propTypes = { - dispatch: PropTypes.func, + dispatch: PropTypes.func } export default CSSModules(HotkeyTab, styles) diff --git a/browser/main/modals/PreferencesModal/InfoTab.js b/browser/main/modals/PreferencesModal/InfoTab.js index 6db55648..a5ff75ad 100644 --- a/browser/main/modals/PreferencesModal/InfoTab.js +++ b/browser/main/modals/PreferencesModal/InfoTab.js @@ -26,7 +26,7 @@ class InfoTab extends React.Component {
- +
Boostnote {appVersion}
@@ -34,7 +34,7 @@ class InfoTab extends React.Component {
-
+ }
diff --git a/browser/main/modals/PreferencesModal/index.js b/browser/main/modals/PreferencesModal/index.js index 731951c5..0f5a0c2d 100644 --- a/browser/main/modals/PreferencesModal/index.js +++ b/browser/main/modals/PreferencesModal/index.js @@ -43,7 +43,7 @@ class Preferences extends React.Component { switch (this.state.currentTab) { case 'INFO': - return + return case 'HOTKEY': return ( { From 79f33b9405f66a73cf52de123c59fc6e50f56a0a Mon Sep 17 00:00:00 2001 From: sota1235 Date: Wed, 11 Jan 2017 23:35:02 +0900 Subject: [PATCH 05/12] refactor: fix some coding style pointed by standard js --- browser/components/NoteItem.js | 4 ++-- browser/components/SnippetTab.js | 2 +- browser/components/StorageItem.js | 4 ++-- browser/finder/NoteDetail.js | 2 +- browser/finder/NoteList.js | 4 ++-- browser/finder/StorageSection.js | 2 +- browser/finder/index.js | 1 - browser/lib/customMeta.js | 1 - browser/main/Detail/FolderSelect.js | 2 +- browser/main/Detail/MarkdownNoteDetail.js | 2 +- browser/main/Detail/SnippetNoteDetail.js | 3 ++- browser/main/NoteList/index.js | 4 ++-- browser/main/SideNav/index.js | 3 --- browser/main/TopBar/index.js | 6 ++---- browser/main/modals/InitModal.js | 3 +-- browser/main/modals/NewNoteModal.js | 2 +- browser/main/modals/PreferencesModal/HotkeyTab.js | 2 -- browser/main/modals/PreferencesModal/InfoTab.js | 2 +- browser/main/modals/PreferencesModal/StorageItem.js | 5 ++++- browser/main/modals/PreferencesModal/UiTab.js | 3 --- gruntfile.js | 8 ++++---- lib/finder-app.js | 6 ------ tests/dataApi/init.js | 2 +- tests/dataApi/moveNote.js | 1 - 24 files changed, 29 insertions(+), 45 deletions(-) diff --git a/browser/components/NoteItem.js b/browser/components/NoteItem.js index b874557d..0a7318dc 100644 --- a/browser/components/NoteItem.js +++ b/browser/components/NoteItem.js @@ -75,8 +75,8 @@ const NoteItem = ({ isActive, note, dateDisplay, handleNoteClick, handleNoteCont : } - {note.isStarred ? - : '' + {note.isStarred + ? : '' } diff --git a/browser/components/SnippetTab.js b/browser/components/SnippetTab.js index 31ae3e9c..2b4f3ad6 100644 --- a/browser/components/SnippetTab.js +++ b/browser/components/SnippetTab.js @@ -1,4 +1,4 @@ -import React, { PropTypes } from 'react' +import React from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './SnippetTab.styl' import context from 'browser/lib/context' diff --git a/browser/components/StorageItem.js b/browser/components/StorageItem.js index d73ef406..9b5864db 100644 --- a/browser/components/StorageItem.js +++ b/browser/components/StorageItem.js @@ -27,8 +27,8 @@ const StorageItem = ({ onClick={handleButtonClick} onContextMenu={handleContextMenu} > - diff --git a/browser/finder/NoteDetail.js b/browser/finder/NoteDetail.js index 2581ac48..2e334c6b 100644 --- a/browser/finder/NoteDetail.js +++ b/browser/finder/NoteDetail.js @@ -1,4 +1,4 @@ -import React, { PropTypes } from 'react' +import React from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './NoteDetail.styl' import MarkdownPreview from 'browser/components/MarkdownPreview' diff --git a/browser/finder/NoteList.js b/browser/finder/NoteList.js index 153293d0..03ad786d 100644 --- a/browser/finder/NoteList.js +++ b/browser/finder/NoteList.js @@ -1,4 +1,4 @@ -import React, { PropTypes } from 'react' +import React from 'react' import NoteItem from 'browser/components/NoteItem' import moment from 'moment' @@ -54,7 +54,7 @@ class NoteList extends React.Component { } render () { - let { storageMap, notes, index } = this.props + let { notes, index } = this.props let notesList = notes .slice(0, 10 + 10 * this.state.range) diff --git a/browser/finder/StorageSection.js b/browser/finder/StorageSection.js index a8ed2e5e..1c3cc95f 100644 --- a/browser/finder/StorageSection.js +++ b/browser/finder/StorageSection.js @@ -1,4 +1,4 @@ -import React, { PropTypes } from 'react' +import React from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './StorageSection.styl' import StorageItem from 'browser/components/StorageItem' diff --git a/browser/finder/index.js b/browser/finder/index.js index 8bc5555c..46e6a1c5 100644 --- a/browser/finder/index.js +++ b/browser/finder/index.js @@ -2,7 +2,6 @@ import React, { PropTypes } from 'react' import ReactDOM from 'react-dom' import { connect, Provider } from 'react-redux' import _ from 'lodash' -import ipc from './ipcClient' import store from './store' import CSSModules from 'browser/lib/CSSModules' import styles from './FinderMain.styl' diff --git a/browser/lib/customMeta.js b/browser/lib/customMeta.js index e4724fac..855e00af 100644 --- a/browser/lib/customMeta.js +++ b/browser/lib/customMeta.js @@ -1,4 +1,3 @@ import CodeMirror from 'codemirror' -import _ from 'lodash' CodeMirror.modeInfo.push({name: 'Stylus', mime: 'text/x-styl', mode: 'stylus', ext: ['styl'], alias: ['styl']}) diff --git a/browser/main/Detail/FolderSelect.js b/browser/main/Detail/FolderSelect.js index b02162a4..094db239 100644 --- a/browser/main/Detail/FolderSelect.js +++ b/browser/main/Detail/FolderSelect.js @@ -128,8 +128,8 @@ class FolderSelect extends React.Component { } nextOption () { - let { storages } = this.props let { optionIndex } = this.state + let { folders } = this.props optionIndex++ if (optionIndex >= folders.length) optionIndex = 0 diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index 7b0a2411..17eef19c 100644 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -205,7 +205,7 @@ class MarkdownNoteDetail extends React.Component { } render () { - let { data, config } = this.props + let { config } = this.props let { note } = this.state return ( diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index 68b64696..40d3eb96 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -14,6 +14,7 @@ import SnippetTab from 'browser/components/SnippetTab' import StatusBar from '../StatusBar' import context from 'browser/lib/context' import ConfigManager from 'browser/main/lib/ConfigManager' +import _ from 'lodash' function pass (name) { switch (name) { @@ -459,7 +460,7 @@ class SnippetNoteDetail extends React.Component { } render () { - let { data, config } = this.props + let { config } = this.props let { note } = this.state let editorFontSize = parseInt(config.editor.fontSize, 10) diff --git a/browser/main/NoteList/index.js b/browser/main/NoteList/index.js index 3b21d630..1edb2fb2 100644 --- a/browser/main/NoteList/index.js +++ b/browser/main/NoteList/index.js @@ -324,8 +324,8 @@ class NoteList extends React.Component { const isDefault = config.listStyle === 'DEFAULT' const isActive = location.query.key === note.storage + '-' + note.key const dateDisplay = moment( - config.sortBy === 'CREATED_AT' ? - note.createdAt : note.updatedAt + config.sortBy === 'CREATED_AT' + ? note.createdAt : note.updatedAt ).fromNow() const key = `${note.storage}-${note.key}` diff --git a/browser/main/SideNav/index.js b/browser/main/SideNav/index.js index 42dcb99a..144c5e02 100644 --- a/browser/main/SideNav/index.js +++ b/browser/main/SideNav/index.js @@ -7,9 +7,6 @@ import ConfigManager from 'browser/main/lib/ConfigManager' import StorageItem from './StorageItem' import SideNavFilter from 'browser/components/SideNavFilter' -const electron = require('electron') -const { remote } = electron - class SideNav extends React.Component { // TODO: should not use electron stuff v0.7 handleMenuButtonClick (e) { diff --git a/browser/main/TopBar/index.js b/browser/main/TopBar/index.js index 87a92eef..added48f 100644 --- a/browser/main/TopBar/index.js +++ b/browser/main/TopBar/index.js @@ -10,8 +10,6 @@ import ConfigManager from 'browser/main/lib/ConfigManager' import dataApi from 'browser/main/lib/dataApi' const OSX = window.process.platform === 'darwin' -const { remote } = require('electron') -const { Menu, MenuItem } = remote class TopBar extends React.Component { constructor (props) { @@ -71,10 +69,10 @@ class TopBar extends React.Component { break } } - if (storage == null) alert('No storage to create a note') + if (storage == null) window.alert('No storage to create a note') let folder = _.find(storage.folders, {key: params.folderKey}) if (folder == null) folder = storage.folders[0] - if (folder == null) alert('No folder to create a note') + if (folder == null) window.alert('No folder to create a note') return { storage, diff --git a/browser/main/modals/InitModal.js b/browser/main/modals/InitModal.js index 9f10775f..c6f29e5e 100644 --- a/browser/main/modals/InitModal.js +++ b/browser/main/modals/InitModal.js @@ -1,11 +1,10 @@ -import React, { PropTypes } from 'react' +import React from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './InitModal.styl' import dataApi from 'browser/main/lib/dataApi' import store from 'browser/main/store' import { hashHistory } from 'react-router' import _ from 'lodash' -import keygen from 'browser/lib/keygen' const CSON = require('@rokt33r/season') const path = require('path') diff --git a/browser/main/modals/NewNoteModal.js b/browser/main/modals/NewNoteModal.js index 13c5a035..2c3f30cf 100644 --- a/browser/main/modals/NewNoteModal.js +++ b/browser/main/modals/NewNoteModal.js @@ -1,4 +1,4 @@ -import React, { PropTypes } from 'react' +import React from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './NewNoteModal.styl' import dataApi from 'browser/main/lib/dataApi' diff --git a/browser/main/modals/PreferencesModal/HotkeyTab.js b/browser/main/modals/PreferencesModal/HotkeyTab.js index 5ac33ea0..b0005bfd 100644 --- a/browser/main/modals/PreferencesModal/HotkeyTab.js +++ b/browser/main/modals/PreferencesModal/HotkeyTab.js @@ -7,8 +7,6 @@ import store from 'browser/main/store' const electron = require('electron') const ipc = electron.ipcRenderer -const OSX = global.process.platform === 'darwin' - class HotkeyTab extends React.Component { constructor (props) { super(props) diff --git a/browser/main/modals/PreferencesModal/InfoTab.js b/browser/main/modals/PreferencesModal/InfoTab.js index a5ff75ad..d0441df2 100644 --- a/browser/main/modals/PreferencesModal/InfoTab.js +++ b/browser/main/modals/PreferencesModal/InfoTab.js @@ -1,4 +1,4 @@ -import React, { PropTypes } from 'react' +import React from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './InfoTab.styl' diff --git a/browser/main/modals/PreferencesModal/StorageItem.js b/browser/main/modals/PreferencesModal/StorageItem.js index c983c50b..d8d18d6c 100644 --- a/browser/main/modals/PreferencesModal/StorageItem.js +++ b/browser/main/modals/PreferencesModal/StorageItem.js @@ -106,7 +106,10 @@ class UnstyledFolderItem extends React.Component { const popover = { position: 'absolute', zIndex: 2 } const cover = { position: 'fixed', - top: 0, right: 0, bottom: 0, left: 0 + top: 0, + right: 0, + bottom: 0, + left: 0 } const pickerStyle = Object.assign({}, { position: 'absolute' diff --git a/browser/main/modals/PreferencesModal/UiTab.js b/browser/main/modals/PreferencesModal/UiTab.js index a4031a90..84e3c25e 100644 --- a/browser/main/modals/PreferencesModal/UiTab.js +++ b/browser/main/modals/PreferencesModal/UiTab.js @@ -5,9 +5,6 @@ import ConfigManager from 'browser/main/lib/ConfigManager' import store from 'browser/main/store' import consts from 'browser/lib/consts' -const electron = require('electron') -const ipc = electron.ipcRenderer - const OSX = global.process.platform === 'darwin' class UiTab extends React.Component { diff --git a/gruntfile.js b/gruntfile.js index d2f1a2f7..1ccf60f2 100644 --- a/gruntfile.js +++ b/gruntfile.js @@ -5,16 +5,16 @@ const packager = require('electron-packager') const WIN = process.platform === 'win32' module.exports = function (grunt) { - var auth_code + var authCode try { - auth_code = grunt.file.readJSON('secret/auth_code.json') + authCode = grunt.file.readJSON('secret/auth_code.json') } catch (e) { if (e.origError.code === 'ENOENT') { console.warn('secret/auth_code.json is not found. CodeSigning is not available.') } } - const OSX_COMMON_NAME = auth_code != null ? auth_code.OSX_COMMON_NAME : '' - const WIN_CERT_PASSWORD = auth_code != null ? auth_code.WIN_CERT_PASSWORD : '' + const OSX_COMMON_NAME = authCode != null ? authCode.OSX_COMMON_NAME : '' + const WIN_CERT_PASSWORD = authCode != null ? authCode.WIN_CERT_PASSWORD : '' var initConfig = { pkg: grunt.file.readJSON('package.json'), diff --git a/lib/finder-app.js b/lib/finder-app.js index b158e308..ecfdee4c 100755 --- a/lib/finder-app.js +++ b/lib/finder-app.js @@ -1,6 +1,5 @@ const electron = require('electron') const app = electron.app -const Menu = electron.Menu var finderWindow = null @@ -8,11 +7,6 @@ app.on('ready', function () { if (process.platform === 'darwin') { app.dock.hide() } - - // var template = require('./finder-menu') - // var menu = Menu.buildFromTemplate(template) - // Menu.setApplicationMenu(menu) - finderWindow = require('./finder-window') }) diff --git a/tests/dataApi/init.js b/tests/dataApi/init.js index 81ef38a4..cacc2b2a 100644 --- a/tests/dataApi/init.js +++ b/tests/dataApi/init.js @@ -36,7 +36,7 @@ test.beforeEach((t) => { }) test.serial('Initialize All Storages', (t) => { - const { v1StorageData, legacyStorageData, emptyStorageData } = t.context + const { v1StorageData, legacyStorageData } = t.context return Promise.resolve() .then(function test () { return init() diff --git a/tests/dataApi/moveNote.js b/tests/dataApi/moveNote.js index fe73653d..4c31ddca 100644 --- a/tests/dataApi/moveNote.js +++ b/tests/dataApi/moveNote.js @@ -12,7 +12,6 @@ const TestDummy = require('../fixtures/TestDummy') const sander = require('sander') const os = require('os') const CSON = require('@rokt33r/season') -const faker = require('faker') const storagePath = path.join(os.tmpdir(), 'test/move-note') const storagePath2 = path.join(os.tmpdir(), 'test/move-note2') From bc2d9d0fe266c877d6d97c74cfb601b34f37d134 Mon Sep 17 00:00:00 2001 From: sota1235 Date: Wed, 11 Jan 2017 23:38:43 +0900 Subject: [PATCH 06/12] modify: add settings for travisci --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index fa1c8122..99a0366c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ +language: node_js node_js: - 'stable' - 'lts/*' + +script: npm run lint From 67b89d4fe79eb387ba8461fa7c9d27a36de26992 Mon Sep 17 00:00:00 2001 From: sota1235 Date: Wed, 11 Jan 2017 23:49:59 +0900 Subject: [PATCH 07/12] modfiy: install npm libraries for using eslint --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 6c43089c..50159372 100644 --- a/package.json +++ b/package.json @@ -89,6 +89,9 @@ "dom-storage": "^2.0.2", "electron-packager": "^6.0.0", "electron-prebuilt": "^1.2.8", + "eslint": "^3.13.1", + "eslint-config-standard": "^6.2.1", + "eslint-config-standard-jsx": "^3.2.0", "faker": "^3.1.0", "grunt": "^0.4.5", "grunt-electron-installer": "^1.2.0", From 836f3af1ab6e3391495ed7f744687fc0a7a172d6 Mon Sep 17 00:00:00 2001 From: sota1235 Date: Wed, 11 Jan 2017 23:52:22 +0900 Subject: [PATCH 08/12] add: files for using eslint --- .eslintignore | 3 +++ .eslintrc | 6 ++++++ package.json | 4 ++-- 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..e9a81977 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +node_modules/ +compiled/ +dist/ diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..f4f88ad0 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,6 @@ +{ + "extends": ["standard", "standard-jsx"], + "rules": { + "no-useless-escape": 0 + } +} diff --git a/package.json b/package.json index 50159372..5530a8b2 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "webpack": "webpack-dev-server --hot --inline --config webpack.config.js", "compile": "grunt compile", "test": "PWD=$(pwd) NODE_ENV=test ava", - "fix": "standard --fix", - "lint": "standard" + "fix": "npm run lint --fix", + "lint": "eslint ./**/*.js" }, "config": { "electron-version": "1.2.8" From 5c7804fc40d26e3254d506d741700ed4eb3299a5 Mon Sep 17 00:00:00 2001 From: sota1235 Date: Wed, 11 Jan 2017 23:59:48 +0900 Subject: [PATCH 09/12] modify: fix some codes pointed by eslint --- lib/finder-app.js | 3 --- lib/main-app.js | 13 +------------ 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/lib/finder-app.js b/lib/finder-app.js index ecfdee4c..7cba04bf 100755 --- a/lib/finder-app.js +++ b/lib/finder-app.js @@ -1,13 +1,10 @@ const electron = require('electron') const app = electron.app -var finderWindow = null - app.on('ready', function () { if (process.platform === 'darwin') { app.dock.hide() } - finderWindow = require('./finder-window') }) module.exports = app diff --git a/lib/main-app.js b/lib/main-app.js index 8e67feec..4cc1d2c6 100644 --- a/lib/main-app.js +++ b/lib/main-app.js @@ -2,7 +2,6 @@ const electron = require('electron') const app = electron.app const Menu = electron.Menu const ipc = electron.ipcMain -const autoUpdater = electron.autoUpdater const path = require('path') const ChildProcess = require('child_process') const _ = require('lodash') @@ -11,9 +10,8 @@ const GhReleases = require('electron-gh-releases') var ipcServer = null var mainWindow = null -var finderWindow = null -var shouldQuit = app.makeSingleInstance(function(commandLine, workingDirectory) { +var shouldQuit = app.makeSingleInstance(function (commandLine, workingDirectory) { if (mainWindow) { if (process.platform === 'win32') { mainWindow.minimize() @@ -26,12 +24,8 @@ var shouldQuit = app.makeSingleInstance(function(commandLine, workingDirectory) if (shouldQuit) { app.quit() - return } -var version = app.getVersion() -var versionText = (version == null || version.length === 0) ? 'DEV version' : 'v' + version - var isUpdateReady = false var ghReleasesOpts = { @@ -108,14 +102,9 @@ app.on('ready', function () { Menu.setApplicationMenu(menu) break case 'win32': - finderWindow = require('./finder-window') mainWindow.setMenu(menu) break case 'linux': - // Finder is available on cinnamon only. - if (process.env.DESKTOP_SESSION === 'cinnamon') { - finderWindow = require('./finder-window') - } Menu.setApplicationMenu(menu) mainWindow.setMenu(menu) } From 7d26d46c7b5da4766fc6b73e8f9a380e2e25af9c Mon Sep 17 00:00:00 2001 From: sota1235 Date: Thu, 12 Jan 2017 00:01:12 +0900 Subject: [PATCH 10/12] modify: execute test on TravisCI --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 99a0366c..37322896 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,4 +3,4 @@ node_js: - 'stable' - 'lts/*' -script: npm run lint +script: npm run lint && npm run test From b0f288e1037587979838c4d5a8cf90d63d588c0a Mon Sep 17 00:00:00 2001 From: sota1235 Date: Thu, 12 Jan 2017 00:23:44 +0900 Subject: [PATCH 11/12] fix: ignore invalid tests --- package.json | 2 +- tests/dataApi/{createFolder.js => createFolder-test.js} | 0 tests/dataApi/{createNote.js => createNote-test.js} | 0 tests/dataApi/{deleteFolder.js => deleteFolder-test.js} | 0 tests/dataApi/{deleteNote.js => deleteNote-test.js} | 0 .../{migrateFromV6Storage.js => migrateFromV6Storage-test.js} | 0 tests/dataApi/{moveNote.js => moveNote-test.js} | 0 tests/dataApi/{removeStorage.js => removeStorage-test.js} | 0 tests/dataApi/{renameStorage.js => renameStorage-test.js} | 0 tests/dataApi/{updateFolder.js => updateFolder-test.js} | 0 tests/dataApi/{updateNote.js => updateNote-test.js} | 0 11 files changed, 1 insertion(+), 1 deletion(-) rename tests/dataApi/{createFolder.js => createFolder-test.js} (100%) rename tests/dataApi/{createNote.js => createNote-test.js} (100%) rename tests/dataApi/{deleteFolder.js => deleteFolder-test.js} (100%) rename tests/dataApi/{deleteNote.js => deleteNote-test.js} (100%) rename tests/dataApi/{migrateFromV6Storage.js => migrateFromV6Storage-test.js} (100%) rename tests/dataApi/{moveNote.js => moveNote-test.js} (100%) rename tests/dataApi/{removeStorage.js => removeStorage-test.js} (100%) rename tests/dataApi/{renameStorage.js => renameStorage-test.js} (100%) rename tests/dataApi/{updateFolder.js => updateFolder-test.js} (100%) rename tests/dataApi/{updateNote.js => updateNote-test.js} (100%) diff --git a/package.json b/package.json index 5530a8b2..0f5a972b 100644 --- a/package.json +++ b/package.json @@ -124,7 +124,7 @@ }, "ava": { "files": [ - "tests/**/*.js" + "tests/**/*-test.js" ], "require": [ "babel-register" diff --git a/tests/dataApi/createFolder.js b/tests/dataApi/createFolder-test.js similarity index 100% rename from tests/dataApi/createFolder.js rename to tests/dataApi/createFolder-test.js diff --git a/tests/dataApi/createNote.js b/tests/dataApi/createNote-test.js similarity index 100% rename from tests/dataApi/createNote.js rename to tests/dataApi/createNote-test.js diff --git a/tests/dataApi/deleteFolder.js b/tests/dataApi/deleteFolder-test.js similarity index 100% rename from tests/dataApi/deleteFolder.js rename to tests/dataApi/deleteFolder-test.js diff --git a/tests/dataApi/deleteNote.js b/tests/dataApi/deleteNote-test.js similarity index 100% rename from tests/dataApi/deleteNote.js rename to tests/dataApi/deleteNote-test.js diff --git a/tests/dataApi/migrateFromV6Storage.js b/tests/dataApi/migrateFromV6Storage-test.js similarity index 100% rename from tests/dataApi/migrateFromV6Storage.js rename to tests/dataApi/migrateFromV6Storage-test.js diff --git a/tests/dataApi/moveNote.js b/tests/dataApi/moveNote-test.js similarity index 100% rename from tests/dataApi/moveNote.js rename to tests/dataApi/moveNote-test.js diff --git a/tests/dataApi/removeStorage.js b/tests/dataApi/removeStorage-test.js similarity index 100% rename from tests/dataApi/removeStorage.js rename to tests/dataApi/removeStorage-test.js diff --git a/tests/dataApi/renameStorage.js b/tests/dataApi/renameStorage-test.js similarity index 100% rename from tests/dataApi/renameStorage.js rename to tests/dataApi/renameStorage-test.js diff --git a/tests/dataApi/updateFolder.js b/tests/dataApi/updateFolder-test.js similarity index 100% rename from tests/dataApi/updateFolder.js rename to tests/dataApi/updateFolder-test.js diff --git a/tests/dataApi/updateNote.js b/tests/dataApi/updateNote-test.js similarity index 100% rename from tests/dataApi/updateNote.js rename to tests/dataApi/updateNote-test.js From 897d99e043ba7acd0e21c9f4baeb4859315c9db4 Mon Sep 17 00:00:00 2001 From: sota1235 Date: Thu, 12 Jan 2017 00:28:10 +0900 Subject: [PATCH 12/12] modify: add badge of TravisCI on README --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index 2e6db255..bb96534f 100644 --- a/readme.md +++ b/readme.md @@ -10,6 +10,8 @@
Built with Electron, React + Redux, Webpack and CSSModules

+[![Build Status](https://travis-ci.org/BoostIO/Boostnote.svg?branch=master)](https://travis-ci.org/BoostIO/Boostnote) + > We launched our [Boostnote store](https://boostnote.paintory.com/)!! :tada: Also, you can support us via [Patreon](https://www.patreon.com/boostnote) and [Open collective](https://opencollective.com/boostnote)! ![Boostnote app screenshot](./resources/repository/top.png)