mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 01:36:22 +00:00
parse u2028 char properly
This commit is contained in:
@@ -4,7 +4,7 @@ const resolveStorageData = require('./resolveStorageData')
|
|||||||
const resolveStorageNotes = require('./resolveStorageNotes')
|
const resolveStorageNotes = require('./resolveStorageNotes')
|
||||||
const consts = require('browser/lib/consts')
|
const consts = require('browser/lib/consts')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
/**
|
/**
|
||||||
* @param {Object}
|
* @param {Object}
|
||||||
* name, path, type
|
* name, path, type
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ const _ = require('lodash')
|
|||||||
const keygen = require('browser/lib/keygen')
|
const keygen = require('browser/lib/keygen')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const resolveStorageData = require('./resolveStorageData')
|
const resolveStorageData = require('./resolveStorageData')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {String} storageKey
|
* @param {String} storageKey
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ const resolveStorageData = require('./resolveStorageData')
|
|||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const keygen = require('browser/lib/keygen')
|
const keygen = require('browser/lib/keygen')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
function validateInput (input) {
|
function validateInput (input) {
|
||||||
if (!_.isArray(input.tags)) input.tags = []
|
if (!_.isArray(input.tags)) input.tags = []
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ const _ = require('lodash')
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const resolveStorageData = require('./resolveStorageData')
|
const resolveStorageData = require('./resolveStorageData')
|
||||||
const resolveStorageNotes = require('./resolveStorageNotes')
|
const resolveStorageNotes = require('./resolveStorageNotes')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ const resolveStorageData = require('./resolveStorageData')
|
|||||||
const resolveStorageNotes = require('./resolveStorageNotes')
|
const resolveStorageNotes = require('./resolveStorageNotes')
|
||||||
const consts = require('browser/lib/consts')
|
const consts = require('browser/lib/consts')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
/**
|
/**
|
||||||
* @return {Object} all storages and notes
|
* @return {Object} all storages and notes
|
||||||
* ```
|
* ```
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ const _ = require('lodash')
|
|||||||
const keygen = require('browser/lib/keygen')
|
const keygen = require('browser/lib/keygen')
|
||||||
const resolveStorageData = require('./resolveStorageData')
|
const resolveStorageData = require('./resolveStorageData')
|
||||||
const consts = require('browser/lib/consts')
|
const consts = require('browser/lib/consts')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ const path = require('path')
|
|||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const keygen = require('browser/lib/keygen')
|
const keygen = require('browser/lib/keygen')
|
||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
function migrateFromV5Storage (storagePath) {
|
function migrateFromV5Storage (storagePath) {
|
||||||
var boostnoteJSONPath = path.join(storagePath, 'boostnote.json')
|
var boostnoteJSONPath = path.join(storagePath, 'boostnote.json')
|
||||||
@@ -45,10 +45,6 @@ function migrateFromV5Storage (storagePath) {
|
|||||||
console.warn('Failed to fetch notes from ', folderDataJSONPath, err)
|
console.warn('Failed to fetch notes from ', folderDataJSONPath, err)
|
||||||
return []
|
return []
|
||||||
})
|
})
|
||||||
.then(function deleteFolderDir (data) {
|
|
||||||
sander.rimrafSync(path.join(storagePath, folder.key))
|
|
||||||
return data
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
return Promise.all(fetchNotesFromEachFolder)
|
return Promise.all(fetchNotesFromEachFolder)
|
||||||
@@ -58,22 +54,30 @@ function migrateFromV5Storage (storagePath) {
|
|||||||
return sum.concat(notes)
|
return sum.concat(notes)
|
||||||
}, [])
|
}, [])
|
||||||
})
|
})
|
||||||
})
|
.then(function saveNotes (notes) {
|
||||||
.then(function saveNotes (notes) {
|
notes.forEach(function renewKey (note) {
|
||||||
notes.forEach(function renewKey (note) {
|
var newKey = keygen()
|
||||||
var newKey = keygen()
|
while (notes.some((_note) => _note.key === newKey)) {
|
||||||
while (notes.some((_note) => _note.key === newKey)) {
|
newKey = keygen()
|
||||||
newKey = keygen()
|
}
|
||||||
}
|
note.key = newKey
|
||||||
note.key = newKey
|
})
|
||||||
})
|
|
||||||
|
|
||||||
const noteDirPath = path.join(storagePath, 'notes')
|
const noteDirPath = path.join(storagePath, 'notes')
|
||||||
notes
|
notes
|
||||||
.map(function saveNote (note) {
|
.map(function saveNote (note) {
|
||||||
CSON.writeFileSync(path.join(noteDirPath, note.key) + '.cson', note)
|
CSON.writeFileSync(path.join(noteDirPath, note.key) + '.cson', note)
|
||||||
|
})
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
.then(function deleteFolderDir (check) {
|
||||||
|
if (check) {
|
||||||
|
boostnoteJSONData.folders.forEach((folder) => {
|
||||||
|
sander.rimrafSync(path.join(storagePath, folder.key))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return check
|
||||||
})
|
})
|
||||||
return true
|
|
||||||
})
|
})
|
||||||
.catch(function handleError (err) {
|
.catch(function handleError (err) {
|
||||||
console.warn(err)
|
console.warn(err)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const resolveStorageData = require('./resolveStorageData')
|
const resolveStorageData = require('./resolveStorageData')
|
||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const keygen = require('browser/lib/keygen')
|
const keygen = require('browser/lib/keygen')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const migrateFromV6Storage = require('./migrateFromV6Storage')
|
const migrateFromV6Storage = require('./migrateFromV6Storage')
|
||||||
|
|
||||||
function resolveStorageData (storageCache) {
|
function resolveStorageData (storageCache) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
function resolveStorageNotes (storage) {
|
function resolveStorageNotes (storage) {
|
||||||
const notesDirPath = path.join(storage.path, 'notes')
|
const notesDirPath = path.join(storage.path, 'notes')
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const resolveStorageData = require('./resolveStorageData')
|
const resolveStorageData = require('./resolveStorageData')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {String} storageKey
|
* @param {String} storageKey
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const resolveStorageData = require('./resolveStorageData')
|
const resolveStorageData = require('./resolveStorageData')
|
||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
function validateInput (input) {
|
function validateInput (input) {
|
||||||
let validatedInput = {}
|
let validatedInput = {}
|
||||||
@@ -14,7 +14,7 @@ function validateInput (input) {
|
|||||||
|
|
||||||
if (input.title != null) {
|
if (input.title != null) {
|
||||||
if (!_.isString(input.title)) validatedInput.title = ''
|
if (!_.isString(input.title)) validatedInput.title = ''
|
||||||
else validatedInput.title = input.title.replace(/[\u2028]+/g, '')
|
else validatedInput.title = input.title
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input.isStarred != null) {
|
if (input.isStarred != null) {
|
||||||
@@ -26,13 +26,13 @@ function validateInput (input) {
|
|||||||
case 'MARKDOWN_NOTE':
|
case 'MARKDOWN_NOTE':
|
||||||
if (input.content != null) {
|
if (input.content != null) {
|
||||||
if (!_.isString(input.content)) validatedInput.content = ''
|
if (!_.isString(input.content)) validatedInput.content = ''
|
||||||
else validatedInput.content = input.content.replace(/[\u2028]+/g, '')
|
else validatedInput.content = input.content
|
||||||
}
|
}
|
||||||
return validatedInput
|
return validatedInput
|
||||||
case 'SNIPPET_NOTE':
|
case 'SNIPPET_NOTE':
|
||||||
if (input.description != null) {
|
if (input.description != null) {
|
||||||
if (!_.isString(input.description)) validatedInput.description = ''
|
if (!_.isString(input.description)) validatedInput.description = ''
|
||||||
else validatedInput.description = input.description.replace(/[\u2028]+/g, '')
|
else validatedInput.description = input.description
|
||||||
}
|
}
|
||||||
if (input.snippets != null) {
|
if (input.snippets != null) {
|
||||||
if (!_.isArray(input.snippets)) {
|
if (!_.isArray(input.snippets)) {
|
||||||
@@ -51,12 +51,6 @@ function validateInput (input) {
|
|||||||
if (!_.isString(snippet.content)) return false
|
if (!_.isString(snippet.content)) return false
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
.map((snippet) => {
|
|
||||||
snippet.name = snippet.name.replace(/[\u2028]+/g, '')
|
|
||||||
snippet.mode = snippet.mode.replace(/[\u2028]+/g, '')
|
|
||||||
snippet.content = snippet.content.replace(/[\u2028]+/g, '')
|
|
||||||
return snippet
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
return validatedInput
|
return validatedInput
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { hashHistory } from 'react-router'
|
|||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
import keygen from 'browser/lib/keygen'
|
import keygen from 'browser/lib/keygen'
|
||||||
|
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const electron = require('electron')
|
const electron = require('electron')
|
||||||
const { remote } = electron
|
const { remote } = electron
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
"moment": "^2.10.3",
|
"moment": "^2.10.3",
|
||||||
"node-ipc": "^8.1.0",
|
"node-ipc": "^8.1.0",
|
||||||
"sander": "^0.5.1",
|
"sander": "^0.5.1",
|
||||||
"season": "^5.3.0",
|
"@rokt33r/season": "^5.3.0",
|
||||||
"superagent": "^1.2.0",
|
"superagent": "^1.2.0",
|
||||||
"superagent-promise": "^1.0.3"
|
"superagent-promise": "^1.0.3"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const TestDummy = require('../fixtures/TestDummy')
|
|||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
const v1StoragePath = path.join(os.tmpdir(), 'test/addStorage-v1-storage')
|
const v1StoragePath = path.join(os.tmpdir(), 'test/addStorage-v1-storage')
|
||||||
// const legacyStoragePath = path.join(os.tmpdir(), 'test/addStorage-legacy-storage')
|
// const legacyStoragePath = path.join(os.tmpdir(), 'test/addStorage-legacy-storage')
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const _ = require('lodash')
|
|||||||
const TestDummy = require('../fixtures/TestDummy')
|
const TestDummy = require('../fixtures/TestDummy')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
const storagePath = path.join(os.tmpdir(), 'test/create-folder')
|
const storagePath = path.join(os.tmpdir(), 'test/create-folder')
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ const path = require('path')
|
|||||||
const TestDummy = require('../fixtures/TestDummy')
|
const TestDummy = require('../fixtures/TestDummy')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const faker = require('faker')
|
const faker = require('faker')
|
||||||
|
|
||||||
const storagePath = path.join(os.tmpdir(), 'test/create-note')
|
const storagePath = path.join(os.tmpdir(), 'test/create-note')
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const _ = require('lodash')
|
|||||||
const TestDummy = require('../fixtures/TestDummy')
|
const TestDummy = require('../fixtures/TestDummy')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
const storagePath = path.join(os.tmpdir(), 'test/delete-folder')
|
const storagePath = path.join(os.tmpdir(), 'test/delete-folder')
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const path = require('path')
|
|||||||
const TestDummy = require('../fixtures/TestDummy')
|
const TestDummy = require('../fixtures/TestDummy')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const faker = require('faker')
|
const faker = require('faker')
|
||||||
|
|
||||||
const storagePath = path.join(os.tmpdir(), 'test/delete-note')
|
const storagePath = path.join(os.tmpdir(), 'test/delete-note')
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const localStorage = window.localStorage = global.localStorage = new Storage(nul
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const TestDummy = require('../fixtures/TestDummy')
|
const TestDummy = require('../fixtures/TestDummy')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ const path = require('path')
|
|||||||
const TestDummy = require('../fixtures/TestDummy')
|
const TestDummy = require('../fixtures/TestDummy')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const faker = require('faker')
|
const faker = require('faker')
|
||||||
|
|
||||||
const storagePath = path.join(os.tmpdir(), 'test/move-note')
|
const storagePath = path.join(os.tmpdir(), 'test/move-note')
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const _ = require('lodash')
|
|||||||
const TestDummy = require('../fixtures/TestDummy')
|
const TestDummy = require('../fixtures/TestDummy')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
|
|
||||||
const storagePath = path.join(os.tmpdir(), 'test/update-folder')
|
const storagePath = path.join(os.tmpdir(), 'test/update-folder')
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const path = require('path')
|
|||||||
const TestDummy = require('../fixtures/TestDummy')
|
const TestDummy = require('../fixtures/TestDummy')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const faker = require('faker')
|
const faker = require('faker')
|
||||||
|
|
||||||
const storagePath = path.join(os.tmpdir(), 'test/update-note')
|
const storagePath = path.join(os.tmpdir(), 'test/update-note')
|
||||||
|
|||||||
2
tests/fixtures/TestDummy.js
vendored
2
tests/fixtures/TestDummy.js
vendored
@@ -2,7 +2,7 @@ const faker = require('faker')
|
|||||||
const keygen = require('browser/lib/keygen')
|
const keygen = require('browser/lib/keygen')
|
||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const sander = require('sander')
|
const sander = require('sander')
|
||||||
const CSON = require('season')
|
const CSON = require('@rokt33r/season')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
|
|
||||||
function dummyFolder (override = {}) {
|
function dummyFolder (override = {}) {
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ var config = {
|
|||||||
'fs-jetpack',
|
'fs-jetpack',
|
||||||
'@rokt33r/markdown-it-math',
|
'@rokt33r/markdown-it-math',
|
||||||
'markdown-it-checkbox',
|
'markdown-it-checkbox',
|
||||||
'season',
|
|
||||||
'devtron',
|
'devtron',
|
||||||
'mixpanel',
|
'mixpanel',
|
||||||
|
'@rokt33r/season',
|
||||||
{
|
{
|
||||||
react: 'var React',
|
react: 'var React',
|
||||||
'react-dom': 'var ReactDOM',
|
'react-dom': 'var ReactDOM',
|
||||||
|
|||||||
Reference in New Issue
Block a user