replace submodules with proper NPM dependencies & webpack

This commit is contained in:
Jesse D. McDonald 2020-04-02 02:51:41 -05:00
parent be41aa3467
commit 2e68c3b7b1
12 changed files with 4477 additions and 136 deletions

12
.gitmodules vendored
View File

@ -1,12 +0,0 @@
[submodule "jquery-ui"]
path = jquery-ui
url = https://github.com/jquery/jquery-ui.git
[submodule "jquery-ui-touch-punch"]
path = jquery-ui-touch-punch
url = https://github.com/furf/jquery-ui-touch-punch.git
[submodule "gun"]
path = gun
url = https://github.com/amark/gun
[submodule "node-deep-equal"]
path = node-deep-equal
url = gogs@jessemcdonald.info:nybble/node-deep-equal.git

View File

@ -2,9 +2,11 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<!--
<link rel="stylesheet" type="text/css" href="css/chess.css">
<link rel="stylesheet" type="text/css" href="css/theme/pacosako.css">
<link rel="stylesheet" type="text/css" href="jquery-ui/dist/jquery-ui.css">
-->
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto|Vollkorn:700&display=swap">
<title>Paco Ŝako</title>
</head>
@ -243,30 +245,31 @@
</div>
<div class="badges">
<div class="badge official-badge"><a href="https://pacosako.com/" target="_blank"><img src="png/pacosako-logo.png" alt="Official Site" title="Official Site"></a></div>
<div class="badge gogs-badge"><a href="https://jessemcdonald.info/gogs/nybble/paco_sako" target="_blank"><img src="png/gogs.png" alt="Source Code" title="Source Code"></a></div>
<div class="badge official-badge"><a href="https://pacosako.com/" target="_blank"><img src="assets/png/pacosako-logo.png" alt="Official Site" title="Official Site"></a></div>
<div class="badge gogs-badge"><a href="https://jessemcdonald.info/gogs/nybble/paco_sako" target="_blank"><img src="assets/png/gogs.png" alt="Source Code" title="Source Code"></a></div>
</div>
<div id="cb_hidden" style="display: none">
<div id="cb_phantom" class="cb-phantom"></div>
<div id="cb_pieces" style="display: none">
<img id="cb_piece_kd" src="svg/Chess_kdt45.svg" alt="kd" class="cb-piece cb-dk-piece cb-king">
<img id="cb_piece_qd" src="svg/Chess_qdt45.svg" alt="qd" class="cb-piece cb-dk-piece cb-queen">
<img id="cb_piece_rd" src="svg/Chess_rdt45.svg" alt="rd" class="cb-piece cb-dk-piece cb-rook">
<img id="cb_piece_nd" src="svg/Chess_ndt45.svg" alt="nd" class="cb-piece cb-dk-piece cb-knight">
<img id="cb_piece_bd" src="svg/Chess_bdt45.svg" alt="bd" class="cb-piece cb-dk-piece cb-bishop">
<img id="cb_piece_pd" src="svg/Chess_pdt45.svg" alt="pd" class="cb-piece cb-dk-piece cb-pawn">
<img id="cb_piece_kl" src="svg/Chess_klt45.svg" alt="kl" class="cb-piece cb-lt-piece cb-king">
<img id="cb_piece_ql" src="svg/Chess_qlt45.svg" alt="ql" class="cb-piece cb-lt-piece cb-queen">
<img id="cb_piece_rl" src="svg/Chess_rlt45.svg" alt="rl" class="cb-piece cb-lt-piece cb-rook">
<img id="cb_piece_nl" src="svg/Chess_nlt45.svg" alt="nl" class="cb-piece cb-lt-piece cb-knight">
<img id="cb_piece_bl" src="svg/Chess_blt45.svg" alt="bl" class="cb-piece cb-lt-piece cb-bishop">
<img id="cb_piece_pl" src="svg/Chess_plt45.svg" alt="pl" class="cb-piece cb-lt-piece cb-pawn">
<img id="cb_piece_kd" src="assets/svg/Chess_kdt45.svg" alt="kd" class="cb-piece cb-dk-piece cb-king">
<img id="cb_piece_qd" src="assets/svg/Chess_qdt45.svg" alt="qd" class="cb-piece cb-dk-piece cb-queen">
<img id="cb_piece_rd" src="assets/svg/Chess_rdt45.svg" alt="rd" class="cb-piece cb-dk-piece cb-rook">
<img id="cb_piece_nd" src="assets/svg/Chess_ndt45.svg" alt="nd" class="cb-piece cb-dk-piece cb-knight">
<img id="cb_piece_bd" src="assets/svg/Chess_bdt45.svg" alt="bd" class="cb-piece cb-dk-piece cb-bishop">
<img id="cb_piece_pd" src="assets/svg/Chess_pdt45.svg" alt="pd" class="cb-piece cb-dk-piece cb-pawn">
<img id="cb_piece_kl" src="assets/svg/Chess_klt45.svg" alt="kl" class="cb-piece cb-lt-piece cb-king">
<img id="cb_piece_ql" src="assets/svg/Chess_qlt45.svg" alt="ql" class="cb-piece cb-lt-piece cb-queen">
<img id="cb_piece_rl" src="assets/svg/Chess_rlt45.svg" alt="rl" class="cb-piece cb-lt-piece cb-rook">
<img id="cb_piece_nl" src="assets/svg/Chess_nlt45.svg" alt="nl" class="cb-piece cb-lt-piece cb-knight">
<img id="cb_piece_bl" src="assets/svg/Chess_blt45.svg" alt="bl" class="cb-piece cb-lt-piece cb-bishop">
<img id="cb_piece_pl" src="assets/svg/Chess_plt45.svg" alt="pl" class="cb-piece cb-lt-piece cb-pawn">
</div>
</div>
</div>
<!--
<script src="jquery-ui/external/jquery/jquery.js"></script>
<script src="jquery-ui/dist/jquery-ui.min.js"></script>
<script src="jquery-ui-touch-punch/jquery.ui.touch-punch.min.js"></script>
@ -285,6 +288,8 @@
<script src="node-deep-equal/index.js"></script>
<script src="js/pacosako.js"></script>
<script src="js/pacosako_ui.js"></script>
-->
<script src="bundled.js"></script>
</body>
</html>
<!-- vim:set noexpandtab sw=2 ts=2: -->

1
gun

@ -1 +0,0 @@
Subproject commit fbcb369aa81b546d0f84cabe7b5a66721a65371b

14
index.js Normal file
View File

@ -0,0 +1,14 @@
require('./index.html');
require('webpack-jquery-ui/draggable');
require('webpack-jquery-ui/droppable');
require('webpack-jquery-ui/selectmenu');
require('webpack-jquery-ui/css');
window.Gun = require('gun');
require('gun/nts');
require('gun/sea');
window.deepEqual = require('deep-equal');
require('./css/chess.css');
require('./css/theme/pacosako.css');
require('./png/gogs.png');
require('./png/pacosako-logo.png');
require('./js/pacosako_ui.js');

@ -1 +0,0 @@
Subproject commit c6f1735249295bb37153861aa97e5b3e38d46b02

@ -1 +0,0 @@
Subproject commit 4bc009145202d9c7483ba85f3a236a8f3470354d

View File

@ -36,7 +36,8 @@ $(function (){
window.logGunOut = false;
window.logDebug = false;
const PS = window.PacoSako;
const PS = require('./pacosako.js');
let currentGame = new PS.Game();
let visibleGame = new PS.Game(currentGame);
let cancelGameCallback = function() {};

@ -1 +0,0 @@
Subproject commit 007fae260428db9eb350e752e52fb806adb24c56

4409
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -2,26 +2,7 @@
"name": "paco_sako",
"version": "0.1.0",
"description": "Online version of the Paco Ŝako chess variation",
"files": [
"index.html",
"css/chess.css",
"css/theme/pacosako.css",
"js/pacosako.js",
"js/pacosako_ui.js",
"png/*.png",
"svg/*.svg",
"svg/pacosako/*.svg",
"sw.js",
"gun/gun.js",
"gun/nts.js",
"gun/sea.js",
"gun/lib/webrtc.js",
"jquery-ui/external/jquery/jquery.js",
"jquery-ui/dist/jquery-ui.min.js",
"jquery-ui/dist/jquery-ui.css",
"jquery-ui-touch-punch/jquery.ui.touch-punch.min.js",
"node-deep-equal/index.js"
],
"browser": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"svgo": "svgo -f svg/unoptimized -o svg && svgo -f svg/pacosako/unoptimized -o svg/pacosako"
@ -33,6 +14,14 @@
"author": "Jesse McDonald <nybble41@gmail.com>",
"license": "CC-PDDC",
"devDependencies": {
"svgo": "^1.3.2"
"svgo": "^1.3.2",
"webpack": "^4.42.1",
"webpack-cli": "^3.3.11"
},
"dependencies": {
"deep-equal": "git+https://jessemcdonald.info/gogs/nybble/node-deep-equal",
"gun": "^0.2020.301",
"jquery-ui-touch-punch": "^0.2.3",
"webpack-jquery-ui": "^2.0.1"
}
}

View File

@ -1,54 +0,0 @@
<html>
<body>
<h1>Todo</h1>
<form id="sign">
<input id="alias" placeholder="username">
<input id="pass" type="password" placeholder="passphrase">
<input id="in" type="submit" value="sign in">
<input id="up" type="button" value="sign up">
</form>
<ul></ul>
<form id="said">
<input id="say">
<input id="speak" type="submit" value="speak">
</form>
<script src="js/jquery.js"></script>
<script src="js/gun.js"></script>
<script src="js/sea.js"></script>
<script src="js/webrtc.js"></script>
<script>
var gun = Gun(['https://jessemcdonald.info/gun']);
var user = gun.user();
$('#up').on('click', function(e){
user.create($('#alias').val(), $('#pass').val());
});
$('#sign').on('submit', function(e){
e.preventDefault();
user.auth($('#alias').val(), $('#pass').val());
});
$('#said').on('submit', function(e){
e.preventDefault();
if(!user.is){ return }
user.get('said').set($('#say').val());
$('#say').val("");
});
function UI(say, id){
var li = $('#' + id).get(0) || $('<li>').attr('id', id).appendTo('ul');
$(li).text(say);
};
gun.on('auth', function(){
$('#sign').hide();
user.get('said').map().once(UI);
});
</script>
</body>
</html>

53
webpack.config.js Normal file
View File

@ -0,0 +1,53 @@
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: {
index: './index.js'
},
output: {
filename: 'bundled.js',
path: path.resolve(__dirname, 'dist'),
publicPath: ''
},
module: {
rules: [
{
test: /\.css$/,
loaders: ["style-loader","css-loader"]
},
{
test: { and: [ /\.(jpe?g|png|gif|svg)$/i, /jquery-ui/i ] },
loader: "file-loader",
options: {
name: '[name].[ext]',
outputPath: 'assets/jquery-ui'
}
},
{
test: { and: [ /\.(jpe?g|png|gif|svg)$/i, { not: [ /jquery-ui/i ] } ] },
loader: "file-loader",
options: {
name: '[path][name].[ext]',
outputPath: 'assets/'
}
},
{
test: /\.html$/i,
loader: "file-loader",
options: {
name: '[path][name].[ext]',
outputPath: '.',
}
}
]
},
plugins: [
/* Use the ProvidePlugin constructor to inject jquery implicit globals */
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery'",
"window.$": "jquery"
})
]
};