add version number

This commit is contained in:
d07riv
2019-08-02 03:11:35 +03:00
parent a5303cff3f
commit 76a77879f1
11 changed files with 27 additions and 16 deletions

View File

@@ -77,6 +77,7 @@ function getClientEnvironment(publicUrl) {
// This should only be used as an escape hatch. Normally you would put
// images into the `src` and `import` them in code to get their paths.
PUBLIC_URL: publicUrl,
VERSION: JSON.stringify(process.env.npm_package_version),
}
);
// Stringify all values so we can feed into Webpack DefinePlugin

View File

@@ -148,7 +148,7 @@ module.exports = function(webpackEnv) {
// initialization, it doesn't blow up the WebpackDevServer client, and
// changing JS code would still trigger a refresh.
].filter(Boolean),
storage: paths.appStorageJs,
...(isEnvProduction ? {storage: paths.appStorageJs} : {}),
},
output: {
// The build folder.

2
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "diabloweb",
"version": "0.1.11",
"version": "1.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "diabloweb",
"version": "0.1.11",
"version": "1.0.1",
"private": true,
"dependencies": {
"@babel/core": "7.4.3",
@@ -63,7 +63,7 @@
},
"scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js",
"build": "npm version --no-git-tag-version && node scripts/build.js",
"test": "node scripts/test.js",
"deploy": "gh-pages -d build"
},

View File

@@ -6,6 +6,13 @@ import create_fs from './fs';
import load_game from './api/loader';
import { SpawnSize } from './api/load_spawn';
function reportLink(e) {
const message = e.stack || e.message;
const url = new URL("https://github.com/d07RiV/diabloweb/issues/new");
url.searchParams.set("body", `**Error message:**\n\n${message.split("\n").map(line => " " + line).join("\n")}`);
return url.toString();
}
function isDropFile(e) {
if (e.dataTransfer.items) {
for (let i = 0; i < e.dataTransfer.items.length; ++i) {
@@ -97,8 +104,8 @@ class App extends React.Component {
this.setState(({dropping}) => ({dropping: Math.max(dropping + inc, 0)}));
}
onError(text) {
this.setState({error: text});
onError(message, stack) {
this.setState({error: {message, stack}});
}
openKeyboard(open) {
@@ -194,7 +201,7 @@ class App extends React.Component {
window.addEventListener('resize', this.onResize);
this.setState({started: true});
}, e => this.onError(e.message));
}, e => this.onError(e.message, e.stack));
}
pointerLocked() {
@@ -493,9 +500,9 @@ class App extends React.Component {
</div>
<div className="BodyV">
{!!error && (
<Link className="error" href="https://github.com/d07RiV/diabloweb/issues">
<Link className="error" href={reportLink(error)}>
<p className="header">The following error has occurred:</p>
<p className="body">{error}</p>
<p className="body">{error.message}</p>
<p className="footer">Click to go to GitHub issues</p>
</Link>
)}

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -183,7 +183,7 @@ function call_api(func, ...params) {
audioTransfer = null;
}
} catch (e) {
worker.postMessage({action: "error", error: e.message});
worker.postMessage({action: "error", error: e.message, stack: e.stack});
}
}
@@ -249,7 +249,10 @@ async function init_game(mpq, spawn, offscreen) {
}
progress("Initializing...");
wasm._DApi_Init(Math.floor(performance.now()), offscreen ? 1 : 0);
const vers = process.env.VERSION.match(/(\d+)\.(\d+)\.(\d+)/);
wasm._DApi_Init(Math.floor(performance.now()), offscreen ? 1 : 0, parseInt(vers[1]), parseInt(vers[2]), parseInt(vers[3]));
setInterval(() => {
call_api("DApi_Render", Math.floor(performance.now()));
@@ -262,7 +265,7 @@ worker.addEventListener("message", ({data}) => {
files = data.files;
init_game(data.mpq, data.spawn, data.offscreen).then(
() => worker.postMessage({action: "loaded"}),
e => {debugger;worker.postMessage({action: "failed", error: e.message || e.name});});
e => worker.postMessage({action: "failed", error: e.message || e.name, stack: e.stack}));
break;
case "event":
call_api(data.func, ...data.params);

View File

@@ -94,10 +94,10 @@ async function do_load_game(api, audio, mpq) {
api.openKeyboard(data.open);
break;
case "error":
api.onError(data.error);
api.onError(data.error, data.stack);
break;
case "failed":
reject(Error(data.error));
reject(Error(data.stack || data.error));
break;
case "progress":
api.onProgress({text: data.text, loaded: data.loaded, total: data.total});