mirror of
https://github.com/d07RiV/diabloweb.git
synced 2026-06-03 21:41:38 +00:00
add version number
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
2
package-lock.json
generated
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "diabloweb",
|
||||
"version": "0.1.11",
|
||||
"version": "1.0.1",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
17
src/App.js
17
src/App.js
@@ -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.
@@ -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);
|
||||
|
||||
@@ -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});
|
||||
|
||||
Reference in New Issue
Block a user