index : btroops | |
Virtual board game-aid for BattleTroops, an infantry combat simulator wargame published by FASA in 1989. |
aboutsummaryrefslogtreecommitdiff |
path: root/server.cjs
diff options
Diffstat (limited to 'server.cjs')
-rw-r--r-- | server.cjs | 49 |
1 files changed, 42 insertions, 7 deletions
@@ -1,5 +1,24 @@ const { createServer } = require('esbuild-server'); const path = require('node:path'); +const fs = require('node:fs'); +const { IncomingMessage } = require('node:http'); + +class Request extends IncomingMessage { + constructor(socket) { + super(socket); + } + + get url() { + console.log('getter called', this._url); + return this._url; + } + + set url(val) { + console.log('setter called', val); + this._url = val; + } +} + const resolveImportedSvg = { name: 'resolveImportedSvg', @@ -12,21 +31,36 @@ const resolveImportedSvg = { } } +const resolveSvgImports = { + name: 'resolveSvgImports', + setup(build) { + build.onStart(() => { + fs.rmSync(path.resolve(build.initialOptions.outdir), { recursive: true, force: true }); + }); + + build.onResolve({ filter: /\.svg$/ }, args => { + return { + path: path.resolve('public', args.path), + }; + }); + } +} + const server = createServer( { bundle: true, define: { 'env': `"${process.env.NODE_ENV || 'dev'}"`, }, - entryPoints: ['src/*.js'], - ...(process.env.NODE_ENV !== 'test') && { - outdir: 'build' - }, - plugins: [resolveImportedSvg], + entryPoints: ['src/index.js', 'src/soldier_record_block.js', 'src/map.js'], + outdir: 'build', + // ...(process.env.NODE_ENV !== 'test') && { + // outdir: 'build' + // }, + plugins: [resolveSvgImports], loader: { '.svg': 'file' }, - metafile: true, assetNames: 'assets/images/[name]-[hash]', }, { @@ -34,7 +68,8 @@ const server = createServer( ...(process.env.NODE_ENV === 'test') && { port: 3005, injectLiveReload: false, - watch: false + watch: false, + // http: { IncomingMessage: Request } } } ); |