Compare commits
No commits in common. "8ffc999798899caadf5303ac29159929c56564df" and "c5c30cf8c30bb820d1e497dd35cf65b05bb09c6e" have entirely different histories.
8ffc999798
...
c5c30cf8c3
4 changed files with 21 additions and 11 deletions
10
Dockerfile
10
Dockerfile
|
|
@ -4,12 +4,12 @@ FROM node:18-alpine
|
|||
# Set working directory
|
||||
WORKDIR /app
|
||||
|
||||
# Copy package files and install dependencies
|
||||
COPY package.json package-lock.json ./
|
||||
RUN npm ci --only=production
|
||||
|
||||
# Copy application source
|
||||
# Copy package files, config script
|
||||
COPY package.json package-lock.json esbuild.config.js ./
|
||||
# Copy application source before build so esbuild can locate entry files
|
||||
COPY . .
|
||||
# Install all dependencies, create dist folder, build with esbuild, then remove devDeps
|
||||
RUN npm ci && mkdir -p dist && npm run build && npm prune --production
|
||||
|
||||
# Expose the application port
|
||||
EXPOSE 3000
|
||||
|
|
|
|||
15
esbuild.config.js
Normal file
15
esbuild.config.js
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import { build } from 'esbuild';
|
||||
|
||||
build({
|
||||
entryPoints: ['index.js'],
|
||||
bundle: true,
|
||||
platform: 'node',
|
||||
target: 'node18',
|
||||
outfile: 'dist/index.js',
|
||||
minify: true,
|
||||
legalComments: 'none',
|
||||
drop: ['console', 'debugger'],
|
||||
}).catch((e) => {
|
||||
console.error('esbuild failed:', e);
|
||||
process.exit(1);
|
||||
});
|
||||
5
index.js
5
index.js
|
|
@ -58,11 +58,6 @@ if (process.argv.includes('-d')) {
|
|||
process.exit(0);
|
||||
}
|
||||
|
||||
// Disable console.log in production to suppress output in daemon mode
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
console.log = () => {};
|
||||
}
|
||||
|
||||
const pluginRegistry = [];
|
||||
export function registerPlugin(pluginName, handler) {
|
||||
pluginRegistry.push({ name: pluginName, handler });
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"scripts": {
|
||||
"start": "node index.js",
|
||||
"dev": "nodemon index.js",
|
||||
"daemon": "pm2 start index.js --name checkpoint",
|
||||
"daemon": "pm2 start dist/index.js --name checkpoint",
|
||||
"stop": "pm2 stop checkpoint",
|
||||
"restart": "pm2 restart checkpoint",
|
||||
"logs": "pm2 logs checkpoint",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue