New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

express-vue-builder

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-vue-builder - npm Package Compare versions

Comparing version 0.0.0 to 1.0.0

.babelrc

78

package.json
{
"name": "express-vue-builder",
"version": "0.0.0",
"main": "index.js",
"version": "1.0.0",
"description": "Vue.js server-side and client-side rendering middleware for Express.js.",
"main": "./src/index.js",
"ava": {
"files": [
"./tests/*.js"
],
"concurrency": 1,
"failFast": true
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "ava",
"example:start": "node ./example/scripts/start.js",
"example:build": "node ./example/scripts/build-client.js; node ./example/scripts/build-server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": ""
"repository": {
"type": "git",
"url": "git+https://github.com/xpepermint/express-vue-builder.git"
},
"bugs": {
"url": "https://github.com/xpepermint/express-vue-builder/issues"
},
"homepage": "https://github.com/xpepermint/express-vue-builder#readme",
"keywords": [
"express",
"connect",
"vue",
"webpack",
"render",
"rendering",
"server",
"client",
"side",
"ssr",
"build",
"building",
"builder",
"compile",
"compiler",
"dev-server"
],
"author": "Kristijan Sedlak (Xpepermint)",
"license": "MIT",
"devDependencies": {
"ava": "0.16.0",
"babel-core": "6.17.0",
"babel-loader": "6.2.5",
"babel-preset-es2015": "6.16.0",
"babel-preset-stage-2": "6.17.0",
"css-loader": "0.25.0",
"express": "4.14.x",
"extract-text-webpack-plugin": "2.0.0-beta.4",
"file-loader": "0.9.0",
"node-fetch": "1.6.3",
"postcss-cssnext": "2.8.0",
"vue": "2.0.3",
"vue-builder": "1.1.0",
"vue-loader": "9.7.0",
"vue-server-renderer": "2.0.3",
"vue-webpack": "1.3.5",
"vuex": "2.0.0",
"webpack": "2.1.0-beta.25",
"webpack-hot-middleware": "2.13.0",
"webpack-manifest-plugin": "1.1.0"
},
"pearDependencies": {
"vue-builder": "1.1.x",
"webpack": "2.1.0-beta.25"
},
"dependencies": {
"webpack-dev-middleware": "1.8.x",
"webpack-hot-middleware": "2.13.x"
}
}

104

src/index.js

@@ -1,51 +0,65 @@

const {VueRenderer} = require('/Users/xpeper/Work/xpeper/nodejs/vue-renderer');
const fs = require('fs');
const webpack = require('webpack');
const webpackMiddleware = require('webpack-dev-middleware');
const {VueBuilder, VueRender} = require('vue-builder');
const webpackDevMiddleware = require('webpack-dev-middleware');
const webpackHotMiddleware = require('webpack-hot-middleware');
const webpackConfig = {
entry: [
`webpack-hot-middleware/client?path=/__webpack_hmr&timeout=20000`,
`./src/client/client-entry.js`
],
module: {
loaders: [
{test: /\.vue$/, loader: 'vue'},
{test: /\.js$/, loader: 'babel', exclude: /node_modules/},
{test: /\.json$/, loader: 'json'}
]
},
output: {
path: __dirname,
filename: 'bundle.js'
},
devtool: '#source-map',
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('development')
/*
* A function for merging middlewares into one.
*/
function combine(mids) {
return mids.reduce(function(a, b) {
return function(req, res, next) {
a(req, res, function(err) {
if (err) {
return next(err);
}
b(req, res, next);
});
};
});
}
/*
* Vue.js development server middleware.
*/
exports.devServer = function ({server, client, verbose=false}={}) {
let clientConfig = Object.assign({}, client);
let serverConfig = Object.assign({}, server);
let clientCompiler = webpack(clientConfig);
let serverBuilder = new VueBuilder(serverConfig);
return combine([
webpackDevMiddleware(clientCompiler, {
noInfo: !verbose,
publicPath: clientCompiler.options.output.publicPath
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin()
]
webpackHotMiddleware(clientCompiler, {
serverSideRender: false,
historyApiFallback: true
}),
(req, res, next) => {
serverBuilder.compile().then((source) => {
req.vue = new VueRender({source});
next();
});
}
]);
}
exports.createMiddleware = function(webpackConfig) {
let compiler = webpack(webpackConfig);
let renderer = new VueRenderer(compiler);
/*
* Vue.js rendering utils middleware.
*/
return [
(req, res, next) => {
req.vueRenderer = renderer;
next();
},
require("webpack-dev-middleware")(compiler, {
noInfo: true,
publicPath: '/assets/'
}),
require("webpack-hot-middleware")(compiler, {
log: console.log,
path: '/__webpack_hmr',
heartbeat: 10 * 1000
})
];
};
exports.bundleRenderer = function ({bundlePath}={}) {
let source = fs.readFileSync(bundlePath, 'utf8');
let render = new VueRender({source});
return (req, res, next) => {
req.vue = render;
next();
};
}
const test = require('ava');
const {echo} = require('../src');
const fetch = require('node-fetch');
const {createServer} = require('../example');
test('test', async (t) => {
let server = null;
test.cb.before((t) => {
server = createServer('127.0.0.1', 3001, t.end);
});
test.cb.after((t) => {
server.close(t.end);
});
test.cb.serial('should render server-side', (t) => {
t.pass();
fetch('http://127.0.0.1:3001').then((res) => {
return res.text().then((txt) => {
t.is(txt.indexOf('server-rendered="true"') > 0, true);
t.is(txt.indexOf('Hello World!') > 0, true);
t.end();
});
}).catch((err) => {
t.fail();
t.end();
})
});

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc