Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
.git
.gitignore
/node_modules
/runner
**/.dockerignore
**/.git
**/.gitignore
**/.vscode
**/.idea
**/Dockerfile*
**/node_modules
**/dist
**/local
LICENSE
README.md
10 changes: 8 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
/node_modules
local/
node_modules/
dist/
/local
.DS_Store

# IDEs
.vscode/
.idea/
30 changes: 25 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,30 @@
# TODO: pin this better
FROM node:22 AS base

# Make sure these directly line up with the README
ARG NODE_VERSION=22
ARG PNPM_VERSION="10.7.1"

FROM node:${NODE_VERSION}-alpine AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN npm install -g pnpm@10

FROM base AS builder
RUN apk add --no-cache git git-lfs
RUN git lfs install
RUN --mount=type=cache,target=/root/.npm npm install -g pnpm@${PNPM_VERSION}

FROM base AS app
COPY . /app
WORKDIR /app
CMD [ "node", "builder/index.mjs" ]

FROM app AS prod-deps
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile

FROM app AS build
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
RUN pnpm run build

FROM app AS final
COPY --from=prod-deps /app/node_modules /app/node_modules
COPY --from=build /app/dist /app/dist

WORKDIR /app
CMD ["node", "dist"]
47 changes: 0 additions & 47 deletions builder/index.mjs

This file was deleted.

38 changes: 35 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,41 @@
{
"name": "@moonlight-mod/extensions-runner",
"version": "1.0.0",
"private": true,
"packageManager": "[email protected]",
"engineStrict": true,
"type": "module",
"engines": {
"node": ">=22",
"pnpm": ">=10",
"npm": "pnpm",
"yarn": "pnpm"
},
"scripts": {
"runner": "node runner/index.mjs",
"builder": "node builder/index.mjs"
"start": "node dist",
"build": "tsc --build",
"clean": "pnpm build --clean"
},
"files": [
"dist"
],
"main": "./dist/index.js",
"homepage": "https://moonlight-mod.github.io/",
"repository": {
"type": "git",
"url": "git+https://github.com/moonlight-mod/extensions-runner.git"
},
"bugs": {
"url": "https://github.com/moonlight-mod/extensions-runner/issues"
},
"license": "MIT",
"dependencies": {
"@electron/asar": "^3.4.1",
"@zod/mini": "4.0.0-beta.20250412T085909",
"undici": "^7.8.0"
},
"devDependencies": {
"@types/node": "^22.14.1",
"prettier": "^3.5.3",
"typescript": "^5.8.3"
}
}
185 changes: 184 additions & 1 deletion pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading