Merge pull request #172 from Requarks/dev

1.0.1 Release
pull/175/head
Nicolas Giard 8 years ago committed by GitHub
commit 5f0a1d5797

@ -2,11 +2,20 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## [v1.0.0-beta.14] - Unreleased
## [v1.0.1] - Unreleased
### Added
- **History**: History section to list all changes
- **Security**: Optional Two-Factor Authentication (2FA) protection
## [v1.0.0] - Unreleased
### Changed
- **Misc**: Switch to Yarn for npm dependencies installation
### Fixed
- **Misc**: JS/CSS is now loading properly in Safari (macOS/iOS)
- **Misc**: Process termination handling
- **Search**: siteRoot is now properly parsed in search results href
## [v1.0.0-beta.13] - 2017-07-09
### Added
- **Admin**: Added Host Information section to System Info page

@ -58,7 +58,11 @@ Current and upcoming milestones *(major features only, see the [changelog](https
- [x] Render line breaks by default (GitHub style)
- [x] New Localization: German
### Beta 14
### 1.0.0
- [x] Bug fixes release
### 1.1.0
> *Planned for August release*
![Progress](http://progressed.io/bar/20)

@ -10,7 +10,7 @@
li(v-if='searchres.length === 0')
a: em {{ $t('search.nomatch') }}
li(v-for='sres in searchres', v-bind:class='{ "is-active": searchmovekey === "res." + sres.entryPath }')
a(v-bind:href='siteRoot + "/" + sres.entryPath') {{ sres.title }}
a(v-bind:href='sres.entryPath') {{ sres.title }}
p.searchresults-label(v-if='searchsuggest.length > 0') {{ $t('search.didyoumean') }}
ul.searchresults-list(v-if='searchsuggest.length > 0')
li(v-for='sug in searchsuggest', v-bind:class='{ "is-active": searchmovekey === "sug." + sug }')
@ -39,7 +39,10 @@ export default {
self.searchactive = true
self.searchload++
socket.emit('search', { terms: val }, (data) => {
self.searchres = data.match
self.searchres = self._.map(data.match, m => {
m.entryPath = `${siteRoot}/${m.entryPath}`
return m
})
self.searchsuggest = data.suggest
self.searchmovearr = self._.concat([], self.searchres, self.searchsuggest)
if (self.searchload > 0) { self.searchload-- }
@ -74,7 +77,7 @@ export default {
let i = this.searchmoveidx - 1
if (this.searchmovearr[i]) {
window.location.assign(siteRoot + '/' + this.searchmovearr[i].entryPath)
window.location.assign(this.searchmovearr[i].entryPath)
} else {
this.searchq = this.searchmovearr[i]
}

@ -9,6 +9,9 @@
const colors = require('colors/safe')
const fsbx = require('fuse-box')
const nodemon = require('nodemon')
const babel = require('babel-core')
const uglify = require('uglify-es')
const fs = require('fs-extra')
// ======================================================
// Parse cmd arguments
@ -90,7 +93,7 @@ globalTasks.then(() => {
fsbx.VuePlugin(),
['.scss', fsbx.SassPlugin({ outputStyle: (dev) ? 'nested' : 'compressed' }), fsbx.CSSPlugin()],
fsbx.BabelPlugin({ comments: false, presets: ['es2015'] }),
fsbx.JSONPlugin(),
fsbx.JSONPlugin()
/* !dev && fsbx.QuantumPlugin({
target: 'browser',
uglify: true,
@ -109,7 +112,7 @@ globalTasks.then(() => {
})
}
}) */
!dev && fsbx.UglifyESPlugin()
// !dev && fsbx.UglifyESPlugin()
],
debug: false,
log: true
@ -140,6 +143,46 @@ globalTasks.then(() => {
watch: (args.d) ? ['server'] : ['server/configure.js'],
env: { 'NODE_ENV': 'development' }
})
} else {
console.info(colors.yellow.bold('\nTranspiling vendor bundle...'))
let appCode = babel.transform(fs.readFileSync('./assets/js/app.js', 'utf8'), {
babelrc: false,
compact: false,
filename: 'app.js',
plugins: ['transform-object-assign']
}).code
let vendorCode = babel.transform(fs.readFileSync('./assets/js/vendor.js', 'utf8'), {
babelrc: false,
comments: false,
compact: false,
filename: 'vendor.js',
plugins: [
'transform-es2015-arrow-functions',
'transform-es2015-block-scoped-functions',
'transform-es2015-block-scoping',
'transform-es2015-classes',
'transform-es2015-computed-properties',
'transform-es2015-destructuring',
'transform-es2015-duplicate-keys',
'transform-es2015-for-of',
'transform-es2015-function-name',
'transform-es2015-literals',
'transform-es2015-object-super',
'transform-es2015-parameters',
'transform-es2015-shorthand-properties',
'transform-es2015-spread',
'transform-es2015-sticky-regex',
'transform-es2015-template-literals',
'transform-es2015-typeof-symbol',
'transform-es2015-unicode-regex'
]
}).code
console.info(colors.yellow.bold('Minifing bundles...'))
fs.writeFileSync('./assets/js/vendor.js', uglify.minify(vendorCode).code, 'utf8')
fs.writeFileSync('./assets/js/app.js', uglify.minify(appCode).code, 'utf8')
fs.writeFileSync('./assets/js/configure.js', uglify.minify(fs.readFileSync('./assets/js/configure.js', 'utf8')).code, 'utf8')
console.info(colors.green.bold('\nBUILD SUCCEEDED.'))
return true
}
}).catch(err => {
console.error(colors.red(' X Bundle compilation failed! ' + err.message))

@ -138,12 +138,24 @@ const tasks = {
}
})
},
/**
* Install Yarn
*/
installYarn() {
ora.text = 'Installing Yarn...'
return exec.stdout('npm', ['install', '-g', 'yarn'], {
cwd: installDir
}).then(results => {
ora.text = 'Yarn installed successfully.'
return true
})
},
/**
* Install npm dependencies
*/
installDependencies() {
ora.text = 'Installing Wiki.js npm dependencies...'
return exec.stdout('npm', ['install', '--only=production', '--no-optional'], {
return exec.stdout('yarn', ['install', '--production', '--ignore-optional'], {
cwd: installDir
}).then(results => {
ora.text = 'Wiki.js npm dependencies installed successfully.'
@ -247,6 +259,9 @@ Promise.join(
}).then(() => {
isContainerBased && console.info('>> Creating config file...')
return tasks.ensureConfigFile()
}).then(() => {
isContainerBased && console.info('>> Installing Yarn...')
return tasks.installYarn()
}).then(() => {
isContainerBased && console.info('>> Installing dependencies...')
return tasks.installDependencies()

@ -1,6 +1,6 @@
{
"name": "wiki.js",
"version": "1.0.0-beta.13.1",
"version": "1.0.1",
"lockfileVersion": 1,
"dependencies": {
"amp": {

@ -1,6 +1,6 @@
{
"name": "wiki.js",
"version": "1.0.0-beta.13.2",
"version": "1.0.1",
"description": "A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown",
"main": "install.js",
"scripts": {

@ -1,8 +1,8 @@
{
"name": "wiki",
"version": "1.0.0-beta.13",
"version": "1.0.1",
"description": "A modern, lightweight and powerful wiki app built on NodeJS, Git and Markdown",
"main": "server.js",
"main": "wiki.js",
"scripts": {
"start": "node wiki start",
"stop": "node wiki stop",
@ -37,7 +37,7 @@
"node": ">=4.6"
},
"dependencies": {
"auto-load": "~2.1.0",
"auto-load": "~3.0.0",
"axios": "~0.16.2",
"bcryptjs-then": "~1.0.1",
"bluebird": "~3.5.0",
@ -46,7 +46,7 @@
"cheerio": "~1.0.0-rc.2",
"child-process-promise": "~2.2.1",
"chokidar": "~1.7.0",
"compression": "~1.6.2",
"compression": "~1.7.0",
"connect-flash": "~0.1.1",
"connect-mongo": "~1.3.2",
"cookie-parser": "~1.4.3",
@ -60,7 +60,7 @@
"file-type": "~5.2.0",
"filesize.js": "~1.0.2",
"follow-redirects": "~1.2.4",
"fs-extra": "~3.0.1",
"fs-extra": "~4.0.0",
"git-wrapper2-promise": "~0.2.9",
"highlight.js": "~9.12.0",
"i18next": "~8.4.3",
@ -89,7 +89,7 @@
"moment": "~2.18.1",
"moment-timezone": "~0.5.13",
"mongodb": "~2.2.30",
"mongoose": "^4.11.1",
"mongoose": "~4.11.1",
"multer": "~1.3.0",
"node-2fa": "~1.1.2",
"node-graceful": "~0.2.3",
@ -104,13 +104,13 @@
"passport-slack": "0.0.7",
"passport-windowslive": "~1.0.2",
"passport.socketio": "~3.7.0",
"pm2": "~2.5.0",
"pm2": "~2.6.1",
"pug": "~2.0.0-rc.2",
"read-chunk": "~2.0.0",
"remove-markdown": "~0.2.0",
"request": "~2.81.0",
"search-index-adder": "~0.3.9",
"search-index-searcher": "~0.2.8",
"search-index-searcher": "~0.2.10",
"semver": "~5.3.0",
"serve-favicon": "~2.4.3",
"simplemde": "~1.11.2",
@ -125,21 +125,22 @@
"yargs": "~8.0.1"
},
"devDependencies": {
"@glimpse/glimpse": "~0.21.5",
"@glimpse/glimpse": "~0.22.13",
"@panter/vue-i18next": "~0.5.0",
"babel-cli": "~6.24.1",
"babel-jest": "~20.0.3",
"babel-plugin-transform-object-assign": "~6.22.0",
"babel-preset-es2015": "~6.24.1",
"brace": "~0.10.0",
"colors": "~1.1.2",
"consolidate": "~0.14.5",
"eslint": "~4.1.1",
"eslint": "~4.3.0",
"eslint-config-standard": "~10.2.1",
"eslint-plugin-import": "~2.7.0",
"eslint-plugin-node": "~5.1.0",
"eslint-plugin-promise": "~3.5.0",
"eslint-plugin-standard": "~3.0.1",
"fuse-box": "~2.2.0",
"fuse-box": "~2.2.1",
"i18next-xhr-backend": "~1.4.2",
"jest": "~20.0.4",
"jquery": "~3.2.1",
@ -156,11 +157,11 @@
"typescript": "~2.4.1",
"uglify-es": "~3.0.24",
"vee-validate": "~2.0.0-rc.6",
"vue": "~2.3.4",
"vue": "~2.4.2",
"vue-clipboards": "~1.0.2",
"vue-lodash": "~1.0.3",
"vue-resource": "~1.3.4",
"vue-template-compiler": "~2.3.4",
"vue-template-compiler": "~2.4.2",
"vue-template-es2015-compiler": "~1.5.3",
"vuex": "~2.3.1"
},

@ -11,5 +11,11 @@
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"target": "es5"
}
},
"exclude": [
".fusebox",
"data",
"node_modules",
"repo"
]
}

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save