Skip to content

Commit

Permalink
Minor changes
Browse files Browse the repository at this point in the history
- Remove arguments check when production.
- Add version output on startup.
- Disable request logging when rendering pages on server.
- Use '-' as title separator instead of '|'.
  • Loading branch information
ntzyz committed Oct 14, 2017
1 parent 46abd1b commit 882850f
Show file tree
Hide file tree
Showing 15 changed files with 137 additions and 83 deletions.
13 changes: 7 additions & 6 deletions build/webpack.base.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,18 @@ module.exports = {
performance: {
hints: false
},
devtool: '#eval-source-map'
devtool: '#eval-source-map',
plugins: [
new webpack.DefinePlugin({
'process.env.COMMIT': JSON.stringify(process.env.COMMIT || 'unknown'),
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
}),
]
};

if (process.env.NODE_ENV === 'production') {
module.exports.devtool = '#source-map';
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
new webpack.LoaderOptionsPlugin({
minimize: true
})
Expand Down
4 changes: 3 additions & 1 deletion build/webpack.client.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ if (process.env.NODE_ENV === 'production') {
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
warnings: false,
unused: true,
dead_code: true
}
}),
]);
Expand Down
4 changes: 0 additions & 4 deletions build/webpack.server.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@ module.exports = merge(base, {
whitelist: /\.css$/
}),
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
'process.env.VUE_ENV': '"server"'
}),
new VueSSRServerPlugin()
]
});
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"scripts": {
"dev": "node index",
"start": "cross-env NODE_ENV=production node index",
"dev": "cross-env COMMIT=$(git log -1 --format=\"%h\") node index",
"start": "cross-env NODE_ENV=production COMMIT=$(git log -1 --format=\"%h\") node index",
"build": "rm -rf dist && mkdir dist && npm run build:client && npm run build:server",
"build:client": "cross-env NODE_ENV=production webpack --config build/webpack.client.config.js --progress --hide-modules",
"build:server": "cross-env NODE_ENV=production webpack --config build/webpack.server.config.js --progress --hide-modules",
"build:client": "cross-env NODE_ENV=production COMMIT=$(git log -1 --format=\"%h\") webpack --config build/webpack.client.config.js --progress --hide-modules",
"build:server": "cross-env NODE_ENV=production COMMIT=$(git log -1 --format=\"%h\") webpack --config build/webpack.server.config.js --progress --hide-modules",
"lint": "eslint $(find . \\( -name \"*.js\" -o -name \"*.vue\" \\) -not \\( -path \"./node_modules/*\" -o -path \"./dist/*\" -o -name \".*\" \\))",
"test": "cross-env NODE_ENV=test nyc mocha ./test -R nyan --require babel-register --require babel-polyfill --recursive -u tdd --timeout 1000 --colors --exit",
"cover": "nyc report --reporter=text-lcov | coveralls && rm -rf ./coverage && rm -rf ./.nyc_output"
Expand Down
6 changes: 4 additions & 2 deletions src/api/category.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ function fetchCategoryList (params) {
}

function fetchPostsByCategory (params) {
if (!params.category) {
return Promise.reject('Category is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.category) {
return Promise.reject('Category is required.');
}
}
return new Promise((resolve, reject) => {
axios.get(`${config.api.url}/category/${params.category}/posts?page=${params.page || 1}`)
Expand Down
6 changes: 4 additions & 2 deletions src/api/log.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ import axios from 'axios';
import config from '../config';

function fetchLogs (params = {}) {
if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.token) {
return Promise.reject('Access token is required.');
}
}
return new Promise((resolve, reject) => {
axios.get(`${config.api.url}/logs?token=${params.token}`)
Expand Down
26 changes: 16 additions & 10 deletions src/api/media.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ import axios from 'axios';
import config from '../config';

function fetchFiles (params = {}) {
if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.token) {
return Promise.reject('Access token is required.');
}
}
return new Promise((resolve, reject) => {
axios.get(`${config.api.url}/media?token=${params.token}`)
Expand All @@ -17,10 +19,12 @@ function getFileURL (file) {
}

function uploadFile (params = {}) {
if (!params.token) {
return Promise.reject('Access token is required.');
} else if (!params.file) {
return Promise.reject('Upload body is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.token) {
return Promise.reject('Access token is required.');
} else if (!params.file) {
return Promise.reject('Upload body is required.');
}
}

let fd = new FormData();
Expand All @@ -30,10 +34,12 @@ function uploadFile (params = {}) {
}

function deleteFile (params = {}) {
if (!params.token) {
return Promise.reject('Access token is required.');
} else if (!params.file) {
return Promise.reject('Upload body is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.token) {
return Promise.reject('Access token is required.');
} else if (!params.file) {
return Promise.reject('Upload body is required.');
}
}

return axios.delete(`${config.api.url}/media/${params.file}?token=${params.token}`);
Expand Down
46 changes: 28 additions & 18 deletions src/api/page.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ function fetchPages (params = {}) {
}

function fetchPageBySlug (params = {}) {
if (!params.slug) {
return Promise.reject('Page slug is required');
if (process.env.NODE_ENV === 'development') {
if (!params.slug) {
return Promise.reject('Page slug is required');
}
}

return new Promise((resolve, reject) => {
Expand All @@ -22,8 +24,10 @@ function fetchPageBySlug (params = {}) {
}

function fetchPageById (params = {}) {
if (!params.id) {
return Promise.reject('Page slug is required');
if (process.env.NODE_ENV === 'development') {
if (!params.id) {
return Promise.reject('Page slug is required');
}
}

return new Promise((resolve, reject) => {
Expand All @@ -34,10 +38,12 @@ function fetchPageById (params = {}) {
}

function createPage (params = {}) {
if (!params.page) {
return Promise.reject('Page content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.page) {
return Promise.reject('Page content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
}
}

return new Promise((resolve, reject) => {
Expand All @@ -48,12 +54,14 @@ function createPage (params = {}) {
}

function updatePageById (params = {}) {
if (!params.id) {
return Promise.reject('Page id is required.');
} else if (!params.page) {
return Promise.reject('Page content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.id) {
return Promise.reject('Page id is required.');
} else if (!params.page) {
return Promise.reject('Page content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
}
}

return new Promise((resolve, reject) => {
Expand All @@ -64,10 +72,12 @@ function updatePageById (params = {}) {
}

function deletePageById (params = {}) {
if (!params.id) {
return Promise.reject('Page id is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.id) {
return Promise.reject('Page id is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
}
}

return new Promise((resolve, reject) => {
Expand Down
46 changes: 28 additions & 18 deletions src/api/post.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ function fetchPosts (params = {}) {
}

function fetchPostBySlug (params) {
if (!params.slug) {
return Promise.reject('Post slug is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.slug) {
return Promise.reject('Post slug is required.');
}
}
return new Promise((resolve, reject) => {
axios.get(`${config.api.url}/post/by-slug/${params.slug}`)
Expand All @@ -21,8 +23,10 @@ function fetchPostBySlug (params) {
}

function fetchPostById (params) {
if (!params.id) {
return Promise.reject('Post id is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.id) {
return Promise.reject('Post id is required.');
}
}
return new Promise((resolve, reject) => {
axios.get(`${config.api.url}/post/by-id/${params.id}/raw`)
Expand All @@ -32,12 +36,14 @@ function fetchPostById (params) {
}

function updatePostById (params) {
if (!params.id) {
return Promise.reject('Post id is required.');
} else if (!params.post) {
return Promise.reject('Post body is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.id) {
return Promise.reject('Post id is required.');
} else if (!params.post) {
return Promise.reject('Post body is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
}
}
return new Promise((resolve, reject) => {
axios.post(`${config.api.url}/post/by-id/${params.id}?token=${params.token}`, params.post)
Expand All @@ -47,10 +53,12 @@ function updatePostById (params) {
}

function deletePostById (params) {
if (!params.id) {
return Promise.reject('Post id is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.id) {
return Promise.reject('Post id is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
}
}
return new Promise((resolve, reject) => {
axios.delete(`${config.api.url}/post/by-id/${params.id}?token=${params.token}`)
Expand All @@ -60,10 +68,12 @@ function deletePostById (params) {
}

function createPost (params) {
if (!params.post) {
return Promise.reject('Post body is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.post) {
return Promise.reject('Post body is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
}
}
return new Promise((resolve, reject) => {
axios.put(`${config.api.url}/post?token=${params.token}`, params.post)
Expand Down
6 changes: 4 additions & 2 deletions src/api/tag.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ function fetchTagsList (params) {
}

function fetchPostsByTag (params) {
if (!params.tag) {
return Promise.reject('Tag is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.tag) {
return Promise.reject('Tag is required.');
}
}
return new Promise((resolve, reject) => {
axios.get(`${config.api.url}/tag/${params.tag}/posts?page=${params.page || 1}`)
Expand Down
34 changes: 20 additions & 14 deletions src/api/widget.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ function fetchWidgetList (params = {}) {
}

function updateWidget (params = {}) {
if (!params.id) {
return Promise.reject('Widget id is required.');
} else if (!params.widget) {
return Promise.reject('Widget content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.id) {
return Promise.reject('Widget id is required.');
} else if (!params.widget) {
return Promise.reject('Widget content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
}
}
return new Promise((resolve, reject) => {
axios.post(`${config.api.url}/widget/${params.id}?token=${params.token}`, params.widget)
Expand All @@ -25,10 +27,12 @@ function updateWidget (params = {}) {
}

function createWidget (params = {}) {
if (!params.widget) {
return Promise.reject('Widget content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.widget) {
return Promise.reject('Widget content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
}
}
return new Promise((resolve, reject) => {
axios.put(`${config.api.url}/widget?token=${params.token}`, params.widget)
Expand All @@ -38,10 +42,12 @@ function createWidget (params = {}) {
}

function deleteWidget (params = {}) {
if (!params.id) {
return Promise.reject('Widget id content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
if (process.env.NODE_ENV === 'development') {
if (!params.id) {
return Promise.reject('Widget id content is required.');
} else if (!params.token) {
return Promise.reject('Access token is required.');
}
}
return new Promise((resolve, reject) => {
axios.delete(`${config.api.url}/widget/${params.id}?token=${params.token}`)
Expand Down
3 changes: 3 additions & 0 deletions src/entry-client.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { createApp } from './app.js';
import config from './config';

const { app, store, router } = createApp();

Expand Down Expand Up @@ -52,5 +53,7 @@ router.onReady(() => {
}).catch(next);
});

console.log(`You are using Xplosiss-git(${process.env.COMMIT || 'unknown'})${process.env.COMMIT && `\nAbout this commit: https://github.com/ntzyz/new-blog/commit/${process.env.COMMIT}`}`);

app.$mount('#app');
});
10 changes: 10 additions & 0 deletions src/entry-server.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
import { createApp } from './app.js';
import axios from 'axios';

axios.interceptors.request.use(function (config) {
config.headers = {
'server-side-rendering': 'true'
};
return config;
}, function (error) {
return Promise.reject(error);
});

export default context => new Promise((resolve, reject) => {
const { app, store, router } = createApp();
Expand Down
Loading

0 comments on commit 882850f

Please sign in to comment.