Compare commits

...

4 commits

Author SHA1 Message Date
2ad96676bd es3: change morse config 2025-06-24 15:22:31 +02:00
b13f46b57a es3: change config 2025-06-24 15:22:31 +02:00
e11a3fc4e5 es3: add polyfills and scripts 2025-06-24 15:22:31 +02:00
4da7646bb4 es3: install babel 2025-06-24 15:22:31 +02:00
6 changed files with 2550 additions and 0 deletions

View file

@ -38,4 +38,10 @@ import_cover:
${tic_cli} \
'load ${game_src} & import screen ${cover_src} & exit'
build_es3:
npm run build
./polyfills/inject.sh
@make release
git restore ${game_src}
# vim: set ts=4 sw=4 autoindent noexpandtab:

3
babel.config.json Normal file
View file

@ -0,0 +1,3 @@
{
"presets": ["@babel/preset-env"]
}

2488
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

10
package.json Normal file
View file

@ -0,0 +1,10 @@
{
"scripts": {
"build": "babel game.js --out-file game.js"
},
"devDependencies": {
"@babel/cli": "^7.27.2",
"@babel/core": "^7.27.4",
"@babel/preset-env": "^7.27.2"
}
}

13
polyfills/inject.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/bash
POLYFILLS_FILE="./polyfills/polyfills.js"
GAME_FILE="game.js"
TEMP_FILE="merged_game.js"
sed -i 's/TIC()/_()/' "$GAME_FILE"
sed -i 's/FONT_SIZE = 1/FONT_SIZE = 2/' "$GAME_FILE"
sed -i 's/HINT_DISTANCE = 30/HINT_DISTANCE = 0/' "$GAME_FILE"
sed -i 's/DOT_DASH_THRESHOLD = 200/DOT_DASH_THRESHOLD = 150/' "$GAME_FILE"
cat "$POLYFILLS_FILE" "$GAME_FILE" > "$TEMP_FILE"
mv "$TEMP_FILE" "$GAME_FILE"

30
polyfills/polyfills.js Normal file
View file

@ -0,0 +1,30 @@
// script: js
function TIC() {
gameScreens[currentScreen]()
}
Object.fromEntries = function (entries) {
var obj = {}
for (var i = 0; i < entries.length; i++) {
var entry = entries[i]
var key = entry[0]
var value = entry[1]
obj[key] = value
}
return obj
}
String.prototype.padStart = function padStart(targetLength, padString) {
padString = typeof padString !== 'undefined' ? String(padString) : ' '
var str = String(this)
if (str.length >= targetLength) {
return str
}
var padding = ''
var padLength = targetLength - str.length
while (padding.length < padLength) {
padding += padString
}
padding = padding.slice(0, padLength)
return padding + str
}