Skip to content

Commit 14945fc

Browse files
committed
Enabled HMR; Reworked render-server.js; Bumped Crystal to 0.31.1
1 parent dd737eb commit 14945fc

File tree

7 files changed

+203
-158
lines changed

7 files changed

+203
-158
lines changed

.babelrc

Lines changed: 0 additions & 20 deletions
This file was deleted.

babel.config.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
const babelPresetEnv = require("@babel/preset-env");
2+
const babelPluginModuleResolver = require("babel-plugin-module-resolver");
3+
const path = require("path");
4+
5+
module.exports = function(api) {
6+
api.cache(true);
7+
8+
const presets = [
9+
[
10+
babelPresetEnv,
11+
{
12+
targets: { node: true }
13+
}
14+
]
15+
];
16+
17+
const plugins = [
18+
[
19+
babelPluginModuleResolver,
20+
{
21+
root: [path.resolve(__dirname)]
22+
}
23+
]
24+
];
25+
26+
return { presets, plugins };
27+
};

config/webpack/webpack-base-cfg.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
const path = require("path");
2+
const fs = require("fs");
23
const VueLoaderPlugin = require("vue-loader/lib/plugin");
3-
const babelPresetEnv = require("babel-preset-env");
44

55
module.exports = {
66
resolve: {
77
alias: {
88
scripts: path.resolve(__dirname, "../../src/scripts/")
9-
}
9+
},
10+
modules: [path.resolve(__dirname, "../../node_modules")]
1011
},
1112
resolveLoader: {
1213
modules: [path.resolve(__dirname, "../../node_modules")]
@@ -25,7 +26,7 @@ module.exports = {
2526
use: {
2627
loader: "babel-loader",
2728
options: {
28-
presets: [babelPresetEnv]
29+
rootMode: "upward"
2930
}
3031
}
3132
},
Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
const webpack = require('webpack')
2-
const merge = require('webpack-merge')
3-
const path = require('path')
4-
const baseConfig = require('./webpack-base-cfg.js')
5-
const VueSSRClientPlugin = require('vue-server-renderer/client-plugin')
1+
const webpack = require("webpack");
2+
const merge = require("webpack-merge");
3+
const path = require("path");
4+
const baseConfig = require("./webpack-base-cfg.js");
5+
const VueSSRClientPlugin = require("vue-server-renderer/client-plugin");
66

77
module.exports = merge(baseConfig, {
8-
name: 'vue-client',
8+
name: "vue-client",
9+
target: "web",
910
entry: {
10-
client: 'scripts/entry-client.js',
11+
client: "scripts/entry-client.js"
1112
},
1213
output: {
13-
filename: 'cvue.[name].js'
14+
filename: "cvue.[name].[hash].js"
1415
},
15-
plugins: [
16-
new VueSSRClientPlugin()
17-
]
18-
})
16+
plugins: [new VueSSRClientPlugin()]
17+
});

package.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,20 @@
55
"author": "Noah Lehmann-Haupt <nlh@nlh.me>",
66
"license": "MIT",
77
"scripts": {
8-
"build": "npx babel src/server -d build/server",
9-
"dev": "npx nodemon --exec node build/server/render-server.js",
10-
"prod": "node build/server/render-server.js",
8+
"build": "rm -rf build/ && npx babel src/server -d build/server",
9+
"dev": "NODE_ENV=development npx nodemon --exec node build/server/render-server.js",
10+
"prod": "NODE_ENV=production node build/server/render-server.js",
1111
"predev": "yarn build",
1212
"preprod": "yarn build"
1313
},
1414
"dependencies": {
15-
"babel-cli": "^6.26.0",
16-
"babel-core": "^6.26.3",
17-
"babel-loader": "7",
15+
"@babel/cli": "^7.6.2",
16+
"@babel/core": "^7.6.2",
17+
"@babel/preset-env": "^7.6.2",
18+
"babel-loader": "^8.0.6",
1819
"babel-plugin-module-resolver": "^3.2.0",
19-
"babel-preset-env": "^1.7.0",
2020
"css-loader": "^2.0.1",
21+
"express": "^4.17.1",
2122
"nodemon": "^1.19.2",
2223
"vue": "^2.5.21",
2324
"vue-loader": "^15.4.2",

spec/spec_helper.cr

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ def get_logger
77
Logger.new(STDOUT)
88
end
99

10-
def run_spec_server(renderer, timeout = 5.seconds)
10+
def run_spec_server(renderer, timeout = 10.seconds)
1111
channel = Channel(Process).new
1212

1313
IO.pipe do |reader, writer|
14-
# multi = IO::MultiWriter.new(STDOUT, writer) ## uncomment for debugging
14+
# multi = IO::MultiWriter.new(STDOUT, writer) # # uncomment for debugging
1515
now = Time.monotonic
16+
# renderer.logger = Logger.new(multi) # uncomment for debugging
1617
renderer.logger = Logger.new(writer)
1718
spawn do
1819
proc = renderer.start_server
@@ -22,7 +23,8 @@ def run_spec_server(renderer, timeout = 5.seconds)
2223
begin
2324
proc = channel.receive
2425
loop do
25-
break if reader.gets =~ /SSR renderer listening/
26+
# break if reader.gets =~ /SSR renderer listening/
27+
break if reader.gets =~ /Webpack compilation complete/
2628
raise "Node server failed to start within timeout" if ((Time.monotonic - now) > timeout)
2729
raise "Node server terminated due to fault" if proc.terminated?
2830
sleep 0.1

0 commit comments

Comments
 (0)