Upgrade to use modern node

main
Ashelyn Dawn 11 months ago
parent defccc928a
commit aed95398e4

1
.gitignore vendored

@ -22,3 +22,4 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
dist/

@ -1,10 +0,0 @@
from node:13 as builder
workdir /app
copy . /app
run npm install .
run npm run build
from nginx:latest
copy --from=builder /app/build /usr/share/nginx/html
copy ./nginx.conf /etc/nginx/conf.d/default.conf
expose 80

@ -1,46 +0,0 @@
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
sed: {
relativePaths: {
path: './build/index.html',
pattern: '="/',
replacement: '="./'
}
},
compress: {
main: {
createEmptyArchive: false,
options: {
archive: 'DrowningAmongStars_<%= pkg.version %>.zip'
},
files: [{
expand: true,
cwd: './build/',
src: [
'./index.html',
'./static/**'
],
dest: '/'
}]
}
},
run: {
publish: {
cmd: 'butler',
args: [
'push',
'DrowningAmongStars_<%= pkg.version %>.zip',
'tempest-dawn/drowning-among-stars:web'
]
}
}
})
grunt.loadNpmTasks('grunt-sed')
grunt.loadNpmTasks('grunt-contrib-compress')
grunt.loadNpmTasks('grunt-run')
grunt.registerTask('build', ['sed', 'compress'])
grunt.registerTask('publish', ['run:publish'])
}

@ -10,5 +10,6 @@
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="module" src="./src/index.tsx"></script>
</body>
</html>

@ -1,18 +0,0 @@
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

18832
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -1,53 +1,30 @@
{
"name": "icantwrite",
"version": "0.1.0",
"version": "0.2.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1",
"@types/jest": "^26.0.5",
"@types/node": "^14.0.24",
"@types/react": "^16.9.43",
"@types/react-dom": "^16.9.8",
"auto-bind": "^4.0.0",
"immer": "^7.0.5",
"luxon": "^1.24.1",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-markdown": "^4.3.1",
"react-scripts": "3.4.1",
"redux": "^4.0.5",
"typescript": "^3.9.7"
},
"scripts": {
"dev": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"export": "npm run build && grunt build",
"publish": "npm run export && grunt publish"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
"events": "^3.3.0",
"immer": "^10.0.2",
"luxon": "^3.3.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-markdown": "^8.0.7"
},
"devDependencies": {
"@types/webpack-env": "^1.15.2",
"grunt": "^1.2.1",
"grunt-contrib-compress": "^1.6.0",
"grunt-run": "^0.8.1",
"grunt-sed": "^0.1.1"
"@types/react": "^18.2.9",
"@types/react-dom": "^18.2.4",
"@typescript-eslint/eslint-plugin": "^5.59.9",
"@typescript-eslint/parser": "^5.59.9",
"@vitejs/plugin-react": "^4.0.0",
"eslint": "^8.42.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.1",
"typescript": "^5.0.2",
"vite": "^4.3.9",
"vite-plugin-svgr": "^3.2.0"
},
"scripts": {
"dev": "vite",
"build": "vite build"
}
}

@ -1,16 +1,29 @@
import look from './look'
import lookDirection from './lookDirection'
import lookAt from './lookAt'
import go from './go'
import open from './open'
import takeDrop from './take-drop'
import inventory from './inventory'
import help from './help'
import options from './options'
import map from './map'
import hint from './hint'
import start from './start'
import takeApart from './take-apart'
export default [
require('./look'),
require('./lookDirection'),
require('./lookAt'),
require('./go'),
require('./open'),
// require('./unlockDoor'),
require('./take-drop'),
require('./inventory'),
require('./help'),
require('./options'),
require('./map'),
require('./hint'),
require('./start'),
require('./take-apart')
look,
lookDirection,
lookAt,
go,
open,
takeDrop,
inventory,
help,
options,
map,
hint,
start,
takeApart
]

@ -9,6 +9,6 @@ export const rules = new RulesEngine(game)
export const parser = new Parser(game, rules)
export const renderer = new Renderer(parser, game, rules)
for(const {default: func} of definitions) {
for (const func of definitions) {
func(parser, rules, game)
}

@ -1,5 +0,0 @@
# To-do
- Prevent movement through locked doors
- Prevent movement through hatch until it's been unscrewed
- Other state locks

@ -0,0 +1,15 @@
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import svgr from 'vite-plugin-svgr'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
react(),
svgr({
svgrOptions: {
// svgr options
},
}),
],
})
Loading…
Cancel
Save