Switch to NPM lock files and rewrite nixpkg (#53)
This prepare for flake rewrite Signed-off-by: Mary Guillemard <mary@mary.zone>
This commit is contained in:
parent
af0a708b3b
commit
0337d6eeee
9 changed files with 3100 additions and 1970 deletions
26
.github/workflows/check.yml
vendored
26
.github/workflows/check.yml
vendored
|
@ -15,17 +15,13 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2
|
|
||||||
with:
|
|
||||||
version: latest
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version-file: ".nvmrc"
|
node-version-file: ".nvmrc"
|
||||||
cache: "pnpm"
|
cache: "npm"
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install --frozen-lockfile
|
run: npm ci
|
||||||
|
|
||||||
- name: Run ESLint
|
- name: Run ESLint
|
||||||
run: node_modules/.bin/eslint .
|
run: node_modules/.bin/eslint .
|
||||||
|
@ -35,17 +31,13 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2
|
|
||||||
with:
|
|
||||||
version: latest
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version-file: ".nvmrc"
|
node-version-file: ".nvmrc"
|
||||||
cache: "pnpm"
|
cache: "npm"
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install --frozen-lockfile
|
run: npm ci
|
||||||
|
|
||||||
- name: Run Prettier
|
- name: Run Prettier
|
||||||
run: node_modules/.bin/prettier -c .
|
run: node_modules/.bin/prettier -c .
|
||||||
|
@ -55,17 +47,13 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2
|
|
||||||
with:
|
|
||||||
version: latest
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version-file: ".nvmrc"
|
node-version-file: ".nvmrc"
|
||||||
cache: "pnpm"
|
cache: "npm"
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install --frozen-lockfile
|
run: npm ci
|
||||||
|
|
||||||
- name: Build package
|
- name: Build package
|
||||||
run: pnpm build
|
run: npm run build
|
||||||
|
|
16
.github/workflows/code-quality.yml
vendored
16
.github/workflows/code-quality.yml
vendored
|
@ -19,14 +19,10 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2
|
|
||||||
with:
|
|
||||||
version: latest
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version-file: ".nvmrc"
|
node-version-file: ".nvmrc"
|
||||||
cache: "pnpm"
|
cache: "npm"
|
||||||
|
|
||||||
- name: Configure git
|
- name: Configure git
|
||||||
run: |
|
run: |
|
||||||
|
@ -34,7 +30,7 @@ jobs:
|
||||||
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
|
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install --frozen-lockfile
|
run: npm ci
|
||||||
|
|
||||||
- name: Run ESLint
|
- name: Run ESLint
|
||||||
run: node_modules/.bin/eslint --fix .
|
run: node_modules/.bin/eslint --fix .
|
||||||
|
@ -58,14 +54,10 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2
|
|
||||||
with:
|
|
||||||
version: latest
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version-file: ".nvmrc"
|
node-version-file: ".nvmrc"
|
||||||
cache: "pnpm"
|
cache: "npm"
|
||||||
|
|
||||||
- name: Configure git
|
- name: Configure git
|
||||||
run: |
|
run: |
|
||||||
|
@ -73,7 +65,7 @@ jobs:
|
||||||
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
|
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pnpm install --frozen-lockfile
|
run: npm ci
|
||||||
|
|
||||||
- name: Run Prettier
|
- name: Run Prettier
|
||||||
run: node_modules/.bin/prettier -w .
|
run: node_modules/.bin/prettier -w .
|
||||||
|
|
|
@ -2,5 +2,5 @@ dist/
|
||||||
public/
|
public/
|
||||||
*.js
|
*.js
|
||||||
.github/
|
.github/
|
||||||
pnpm-lock.yaml
|
package-lock.json
|
||||||
nodemon.json
|
nodemon.json
|
||||||
|
|
|
@ -3,7 +3,6 @@ FROM node:lts-hydrogen as common
|
||||||
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
|
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
|
||||||
ENV PATH=$PATH:/home/node/.npm-global/bin
|
ENV PATH=$PATH:/home/node/.npm-global/bin
|
||||||
|
|
||||||
RUN npm i -g pnpm
|
|
||||||
|
|
||||||
WORKDIR /home/node/app
|
WORKDIR /home/node/app
|
||||||
|
|
||||||
|
@ -11,14 +10,14 @@ FROM common as build
|
||||||
|
|
||||||
COPY . /home/node/app
|
COPY . /home/node/app
|
||||||
|
|
||||||
RUN pnpm install --frozen-lockfile
|
RUN npm ci
|
||||||
RUN pnpm build
|
RUN npm run build
|
||||||
|
|
||||||
FROM common as app
|
FROM common as app
|
||||||
|
|
||||||
COPY --from=build --chown=node:node /home/node/app/dist /home/node/app/dist
|
COPY --from=build --chown=node:node /home/node/app/dist /home/node/app/dist
|
||||||
COPY --from=build --chown=node:node /home/node/app/public /home/node/app/public
|
COPY --from=build --chown=node:node /home/node/app/public /home/node/app/public
|
||||||
COPY --from=build --chown=node:node /home/node/app/package.json /home/node/app/pnpm-lock.yaml /home/node/app/
|
COPY --from=build --chown=node:node /home/node/app/package.json /home/node/app/package-lock.json /home/node/app/
|
||||||
COPY --from=build --chown=node:node /home/node/app/node_modules /home/node/app/node_modules
|
COPY --from=build --chown=node:node /home/node/app/node_modules /home/node/app/node_modules
|
||||||
|
|
||||||
RUN mkdir /home/node/app/data
|
RUN mkdir /home/node/app/data
|
||||||
|
|
46
default.nix
46
default.nix
|
@ -1,46 +1,28 @@
|
||||||
{ pkgs ? (import <nixpkgs> {})}:
|
{ pkgs ? (import <nixpkgs> {})}:
|
||||||
with pkgs;
|
with pkgs;
|
||||||
with (import (fetchFromGitHub {
|
|
||||||
owner = "TSRBerry";
|
|
||||||
repo = "pnpm2nix";
|
|
||||||
rev = "8df6e2a8bd0174f4e9fa858d37c08ff3e91019bc";
|
|
||||||
sha256 = "YhWzfuqNCZmKMbcoDoAT52KodjpuNj/7MklwKD0ojrg=";
|
|
||||||
}) { inherit pkgs; });
|
|
||||||
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
buildPackage = mkPnpmPackage {
|
package = buildNpmPackage {
|
||||||
src = nix-gitignore.gitignoreSource [] ./.;
|
pname = "ryujinx-ldn-website";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
linkDevDependencies = true;
|
#linkDevDependencies = true;
|
||||||
|
|
||||||
postBuild = ''
|
src = ./.;
|
||||||
cp -R "node_modules/$pname"/* ./
|
|
||||||
|
|
||||||
export PATH="node_modules/.bin:$PATH"
|
npmBuildScript = "release";
|
||||||
|
npmBuildFlags = [ "--" "--outDir" "dist" ];
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
cp -r dist $out/
|
||||||
|
cp -r public package.json package-lock.json node_modules $out/
|
||||||
|
|
||||||
mkdir -p "$out/dist"
|
makeWrapper '${nodejs}/bin/node' "$out/bin/ryujinx-ldn-website" --add-flags "$out/index.js"
|
||||||
|
|
||||||
npm run build -- --outDir "$out/dist"
|
runHook postInstall
|
||||||
mv public package.json pnpm-lock.yaml "$out/"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
npmDepsHash = "sha256-Wo4dGsUAZwXbkuWwTKNA5kv4ZUnekdKm/TagP4Q4Ds8=";
|
||||||
rm -rf "$out/bin" "$lib/node_modules/$pname"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
package = mkPnpmPackage {
|
|
||||||
src = buildPackage;
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
mv "$lib/node_modules/$pname/dist" "$lib/node_modules/$pname/public" "$lib/node_modules/$pname/package.json" "$out/"
|
|
||||||
rm -rf "$lib/node_modules/$pname"
|
|
||||||
|
|
||||||
ln -s "$lib/node_modules" "$out/node_modules"
|
|
||||||
ln -s "$npm_config_nodedir/bin/node" "$out/bin/node"
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in package
|
in package
|
||||||
|
|
|
@ -9,5 +9,5 @@
|
||||||
"views"
|
"views"
|
||||||
],
|
],
|
||||||
"ext": "ts,js,html,css,ejs,png",
|
"ext": "ts,js,html,css,ejs,png",
|
||||||
"exec": "pnpm run dev"
|
"exec": "npm run dev"
|
||||||
}
|
}
|
||||||
|
|
3066
package-lock.json
generated
Normal file
3066
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -13,11 +13,12 @@
|
||||||
"format": "prettier -w .",
|
"format": "prettier -w .",
|
||||||
"lint": "eslint --fix .",
|
"lint": "eslint --fix .",
|
||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
"prestart": "pnpm build",
|
"prestart": "npm build",
|
||||||
"start": "node .",
|
"start": "node .",
|
||||||
"dev": "pnpm build && pnpm start",
|
"dev": "npm build && npm start",
|
||||||
"serve": "nodemon",
|
"serve": "nodemon",
|
||||||
"prepack": "pnpm build"
|
"prepack": "npm build",
|
||||||
|
"release": "tsc"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ejs": "^3.1.9",
|
"ejs": "^3.1.9",
|
||||||
|
|
1898
pnpm-lock.yaml
1898
pnpm-lock.yaml
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue