Moving from yarn to pnpm. (#297)

* Moving from yarn to pnpm.

* Exclude pnp-lock.

* Exclude pnp-lock 2.

* Forgot 2 more.

* Upgrading deps.
This commit is contained in:
Dessalines 2024-01-29 05:38:14 -05:00 committed by GitHub
parent 7676d816b3
commit 73a9bae2ff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 5893 additions and 9010 deletions

View file

@ -1,4 +1 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn lint-staged
pnpm lint-staged

View file

@ -5,6 +5,9 @@
# recursive: true
# submodule_update_remote: true
variables:
- &install_pnpm "corepack enable pnpm"
steps:
prepare_repo:
image: alpine:3
@ -16,29 +19,34 @@ steps:
prettier_markdown_check:
image: tmknom/prettier:3.0.0
commands:
- prettier -c . "!dist" "!lemmy-docs" "!lemmy-translations" "!joinlemmy-translations" "!lemmy-js-client" "!lemmy-stats-crawler" "!src/shared/instance_stats.ts" "!src/shared/donation_stats.ts"
- prettier -c . "!dist" "!lemmy-docs" "!lemmy-translations" "!joinlemmy-translations" "!lemmy-js-client" "!lemmy-stats-crawler" "!src/shared/instance_stats.ts" "!src/shared/donation_stats.ts" "!pnpm-lock.yaml"
yarn:
install:
image: node:alpine
commands:
- yarn
- *install_pnpm
- pnpm i
yarn_lint:
lint:
image: node:alpine
commands:
- yarn lint
- *install_pnpm
- pnpm lint
yarn_build_dev:
build_dev:
image: node:alpine
commands:
- yarn build:dev
- *install_pnpm
- pnpm prebuild:dev
- pnpm build:dev
nightly_instance_crawl:
image: node:alpine
commands:
# libpq and openssl can probably be removed after lemmy dep is upgraded to 0.16.4+
- apk add cargo pkgconfig openssl openssl-dev libpq libpq-dev
- yarn crawl
- *install_pnpm
- pnpm crawl
when:
event:
- cron
@ -62,7 +70,8 @@ steps:
commands:
# libpq and openssl can probably be removed after lemmy dep is upgraded to 0.16.4+
- apk add cargo pkgconfig openssl openssl-dev libpq libpq-dev
- yarn crawl
- *install_pnpm
- pnpm crawl
when:
event: tag

View file

@ -19,19 +19,21 @@ FROM node:alpine as api
WORKDIR /app
COPY lemmy-js-client lemmy-js-client
WORKDIR /app/lemmy-js-client
RUN yarn
RUN yarn docs
RUN corepack enable pnpm
RUN pnpm i
RUN pnpm run docs
# Build the isomorphic app
FROM node:alpine as builder
RUN apk update && apk add yarn python3 build-base gcc wget git curl --no-cache
RUN apk update && apk add python3 build-base gcc wget git curl --no-cache
RUN curl -sf https://gobinaries.com/tj/node-prune | sh
RUN corepack enable pnpm
WORKDIR /app
# Cache deps
COPY package.json yarn.lock ./
RUN yarn --production --prefer-offline --pure-lockfile
COPY package.json pnpm-lock.yaml ./
RUN pnpm i
# Build
COPY tsconfig.json \
@ -50,8 +52,9 @@ COPY src src
COPY --from=docs /app/docs ./src/assets/docs
COPY --from=api /app/lemmy-js-client/docs ./src/assets/api
RUN yarn --production --prefer-offline
RUN yarn build:prod
RUN pnpm i
RUN pnpm prebuild:prod
RUN pnpm build:prod
# Prune the image
RUN node-prune ./node_modules
@ -60,8 +63,6 @@ RUN rm -rf ./node_modules/import-sort-parser-typescript
RUN rm -rf ./node_modules/typescript
RUN rm -rf ./node_modules/npm
RUN du -sh ./node_modules/* | sort -nr | grep '\dM.*'
FROM node:alpine as runner
COPY --from=builder /app/dist /app/dist
COPY --from=builder /app/node_modules /app/node_modules

View file

@ -3,8 +3,8 @@
# Update all the submodules and translations
./update_submodules.sh
yarn crawl
yarn update-donations
pnpm crawl
pnpm update-donations
git add "src/shared/instance_stats.ts"
git add "src/shared/donation_stats.ts"
git commit -m "Crawl and donation instance statistics"

View file

@ -6,16 +6,16 @@
"scripts": {
"build:dev": "webpack --mode=development",
"build:prod": "webpack --mode=production",
"clean": "yarn run rimraf dist",
"clean": "rimraf dist",
"crawl": "node crawl.mjs",
"update-donations": "node update_donations.mjs",
"lint": "node generate_translations.mjs && tsc --noEmit && eslint --report-unused-disable-directives --ext .js,.ts,.tsx src && prettier --check \"src/**/*.{ts,tsx,js,css,scss}\"",
"prebuild:dev": "yarn clean && node generate_translations.mjs && yarn tailwind && yarn generate_rss_feed",
"prebuild:prod": "yarn clean && node generate_translations.mjs && yarn tailwind && yarn generate_rss_feed",
"prebuild:dev": "pnpm clean && node generate_translations.mjs && pnpm tailwind && pnpm generate_rss_feed",
"prebuild:prod": "pnpm clean && node generate_translations.mjs && pnpm tailwind && pnpm generate_rss_feed",
"generate_rss_feed": "node generate_rss_feed.mjs",
"tailwind": "tailwindcss -i ./src/style.css -o ./dist/styles/styles.css --minify",
"prepare": "husky install",
"start": "yarn build:dev --watch & yarn tailwind --watch"
"prepare": "husky",
"start": "pnpm build:dev --watch & tailwind --watch"
},
"repository": "https://github.com/LemmyNet/joinlemmy-site",
"dependencies": {
@ -23,7 +23,7 @@
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-transform-runtime": "^7.23.2",
"@babel/plugin-transform-typescript": "^7.22.15",
"@babel/preset-env": "7.23.2",
"@babel/preset-env": "7.23.9",
"@babel/preset-typescript": "^7.23.2",
"@babel/runtime": "^7.23.2",
"@glidejs/glide": "3.5.2",
@ -32,9 +32,9 @@
"babel-plugin-inferno": "^6.7.0",
"classnames": "^2.3.2",
"clean-webpack-plugin": "^4.0.0",
"copy-webpack-plugin": "^11.0.0",
"copy-webpack-plugin": "^12.0.2",
"countries-list": "^3.0.6",
"daisyui": "^3.9.4",
"daisyui": "^4.6.0",
"express": "~4.18.2",
"fs-extra": "^11.2.0",
"i18next": "^23.6.0",
@ -45,12 +45,12 @@
"inferno-i18next": "github:nimbusec-oss/inferno-i18next#semver:^7.4.2",
"inferno-router": "^8.2.2",
"inferno-server": "^8.2.2",
"markdown-it": "^13.0.2",
"markdown-it": "^14.0.0",
"node-fetch": "^3.3.2",
"qrcode": "^1.5.3",
"run-node-webpack-plugin": "^1.3.0",
"tailwindcss": "^3.3.5",
"webpack": "5.89.0",
"webpack": "5.90.0",
"webpack-cli": "^5.1.4",
"webpack-node-externals": "^3.0.0",
"xml2js": "^0.6.2"
@ -58,7 +58,7 @@
"devDependencies": {
"@types/express": "^4.17.20",
"@types/glidejs__glide": "^3.6.3",
"@types/node": "^20.8.10",
"@types/node": "^20.11.10",
"@types/node-fetch": "^2.6.8",
"@types/qrcode": "^1.5.4",
"@typescript-eslint/eslint-plugin": "^6.9.1",
@ -66,12 +66,13 @@
"css-loader": "^6.8.1",
"eslint": "^8.52.0",
"eslint-plugin-prettier": "^5.0.1",
"husky": "^8.0.3",
"husky": "^9.0.6",
"lint-staged": "^15.0.2",
"lodash": "^4.17.21",
"prettier": "^3.0.3",
"rimraf": "^5.0.5",
"sass": "^1.69.5",
"sass-loader": "^13.3.2",
"sass-loader": "^14.0.0",
"style-loader": "^3.3.3",
"terser": "^5.24.0",
"typescript": "^5.2.2",

5847
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load diff

View file

@ -6,7 +6,7 @@ module.exports = {
themes: [
{
halloween: {
...require("daisyui/src/theming/themes")["[data-theme=halloween]"],
...require("daisyui/src/theming/themes")["halloween"],
primary: "#12D10E",
secondary: "#06AFC6",
"base-content": "#ffffff",

8972
yarn.lock

File diff suppressed because it is too large Load diff