Move everything away from pnpm and use bun (#278)

* testing bun migration

* e

* try no node

* test noxos

* reporter?

* reporter2

* Fix Patches

* change readme(s)

* make readme simpler

* bleh

---------

Co-authored-by: thororen1234 <78185467+thororen1234@users.noreply.github.com>
This commit is contained in:
Creation's 2025-06-04 11:17:57 -04:00 committed by GitHub
parent 608ffa0764
commit fbd1d1b551
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 184 additions and 5492 deletions

View file

@ -10,76 +10,54 @@ env:
GITHUB_TOKEN: ${{ secrets.ETOKEN }} GITHUB_TOKEN: ${{ secrets.ETOKEN }}
REPO: Equicord/Equibored REPO: Equicord/Equibored
USERNAME: GitHub-Actions USERNAME: GitHub-Actions
permissions: write-all permissions: write-all
jobs: jobs:
Build: Build:
name: Build Equicord name: Build Equicord
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
- uses: pnpm/action-setup@v3
- name: Use Node.js 20
uses: actions/setup-node@v4
with: with:
node-version: 20 bun-version: latest
cache: "pnpm"
- name: Install dependencies - name: Install dependencies
run: pnpm install --no-frozen-lockfile run: bun install
- name: Build web - name: Build web
run: pnpm buildWebStandalone run: bun run buildWebStandalone
- name: Build - name: Build
run: pnpm buildStandalone run: bun run buildStandalone
- name: Generate plugin list - name: Generate plugin list
run: pnpm generatePluginJson dist/plugins.json run: bun run generatePluginJson dist/plugins.json
- name: Generate Equicord plugin list - name: Generate Equicord plugin list
run: pnpm generateEquicordPluginJson dist/equicordplugins.json run: bun run generateEquicordPluginJson dist/equicordplugins.json
- name: Collect files to be released - name: Collect files to be released
run: | run: |
cd dist cd dist
mkdir release mkdir release
cp browser/browser.* release cp browser/browser.* release
cp Vencord.user.{js,js.LEGAL.txt} release cp Vencord.user.{js,js.LEGAL.txt} release
# copy the plugin data jsons, the extension zips and the desktop/vesktop asars # copy the plugin data jsons, the extension zips and the desktop/vesktop asars
cp *.{json,zip,asar} release cp *.{json,zip,asar} release
# legacy un-asared files # legacy un-asared files
cp desktop/* release cp desktop/* release
for file in equibop/*; do for file in equibop/*; do
filename=$(basename "$file") filename=$(basename "$file")
cp "$file" "release/equibop${filename^}" cp "$file" "release/equibop${filename^}"
done done
find release -size 0 -delete find release -size 0 -delete
rm release/package.json rm release/package.json
rm release/*.map rm release/*.map
- name: Upload Equicord Stable - name: Upload Equicord Stable
if: ${{ github.ref_name == 'main' }} if: ${{ github.ref_name == 'main' }}
run: | run: |
gh release upload latest --clobber dist/release/* gh release upload latest --clobber dist/release/*
- name: Upload Plugins JSON to Equibored repo - name: Upload Plugins JSON to Equibored repo
run: | run: |
git config --global user.name "GitHub-Actions" git config --global user.name "GitHub-Actions"
git config --global user.email actions@github.com git config --global user.email actions@github.com
git clone https://$USERNAME:$GITHUB_TOKEN@github.com/$REPO.git plugins git clone https://$USERNAME:$GITHUB_TOKEN@github.com/$REPO.git plugins
cd plugins cd plugins
cp ../dist/release/*plugins.json . cp ../dist/release/*plugins.json .
git add -A git add -A
git commit -m "Plugins for https://github.com/$GITHUB_REPOSITORY/commit/$GITHUB_SHA" git commit -m "Plugins for https://github.com/$GITHUB_REPOSITORY/commit/$GITHUB_SHA"
git push --force https://$USERNAME:$GITHUB_TOKEN@github.com/$REPO.git git push --force https://$USERNAME:$GITHUB_TOKEN@github.com/$REPO.git

View file

@ -16,56 +16,39 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
- uses: pnpm/action-setup@v3
- name: Use Node.js 20
uses: actions/setup-node@v4
with: with:
node-version: 20 bun-version: latest
cache: "pnpm"
- name: Install dependencies - name: Install dependencies
run: pnpm install --no-frozen-lockfile run: bun install
- name: Build web - name: Build web
run: pnpm buildWebStandalone run: bun run buildWebStandalone
- name: Build - name: Build
run: pnpm buildStandalone run: bun run buildStandalone
- name: Generate plugin list - name: Generate plugin list
run: pnpm generatePluginJson dist/vencordplugins.json run: bun run generatePluginJson dist/vencordplugins.json
- name: Generate Equicord plugin list - name: Generate Equicord plugin list
run: pnpm generateEquicordPluginJson dist/equicordplugins.json run: bun run generateEquicordPluginJson dist/equicordplugins.json
- name: Collect files to be released - name: Collect files to be released
run: | run: |
cd dist cd dist
mkdir release mkdir release
cp browser/browser.* release cp browser/browser.* release
cp Vencord.user.{js,js.LEGAL.txt} release cp Vencord.user.{js,js.LEGAL.txt} release
# copy the plugin data jsons, the extension zips and the desktop/vesktop asars # copy the plugin data jsons, the extension zips and the desktop/vesktop asars
cp *.{json,zip,asar} release cp *.{json,zip,asar} release
# legacy un-asared files # legacy un-asared files
cp desktop/* release cp desktop/* release
for file in equibop/*; do for file in equibop/*; do
filename=$(basename "$file") filename=$(basename "$file")
cp "$file" "release/equibop${filename^}" cp "$file" "release/equibop${filename^}"
done done
find release -size 0 -delete find release -size 0 -delete
rm release/package.json rm release/package.json
rm release/*.map rm release/*.map
- name: Get current date - name: Get current date
id: date id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d')" run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Upload Equicord Stable - name: Upload Equicord Stable
run: | run: |
gh release create ${{ steps.date.outputs.date }} --latest=false gh release create ${{ steps.date.outputs.date }} --latest=false

View file

@ -32,17 +32,14 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
if: ${{ github.event_name == 'workflow_dispatch' }} if: ${{ github.event_name == 'workflow_dispatch' }}
- uses: pnpm/action-setup@v3 # Install pnpm using packageManager key in package.json - uses: oven-sh/setup-bun@v2
- name: Use Node.js 20
uses: actions/setup-node@v4
with: with:
node-version: 20 bun-version: latest
cache: "pnpm"
- name: Install dependencies - name: Install dependencies
run: | run: |
pnpm install --no-frozen-lockfile bun install
- name: Install Google Chrome - name: Install Google Chrome
id: setup-chrome id: setup-chrome
@ -51,7 +48,7 @@ jobs:
chrome-version: stable chrome-version: stable
- name: Build Equicord Reporter Version - name: Build Equicord Reporter Version
run: pnpm buildReporter run: bun run buildReporter
- name: Run Reporter - name: Run Reporter
timeout-minutes: 10 timeout-minutes: 10
@ -59,7 +56,7 @@ jobs:
export PATH="$PWD/node_modules/.bin:$PATH" export PATH="$PWD/node_modules/.bin:$PATH"
export CHROMIUM_BIN=${{ steps.setup-chrome.outputs.chrome-path }} export CHROMIUM_BIN=${{ steps.setup-chrome.outputs.chrome-path }}
esbuild scripts/generateReport.ts > dist/report.mjs bun build scripts/generateReport.ts --outfile dist/report.mjs --target bun
stable_output_file=$(mktemp) stable_output_file=$(mktemp)
canary_output_file=$(mktemp) canary_output_file=$(mktemp)
@ -72,20 +69,20 @@ jobs:
fi fi
if [[ "$branch" = "both" || "$branch" = "stable" ]]; then if [[ "$branch" = "both" || "$branch" = "stable" ]]; then
node dist/report.mjs > "$stable_output_file" & bun run dist/report.mjs > "$stable_output_file" &
pids+=" $!" pids+=" $!"
fi fi
if [[ "$branch" = "both" || "$branch" = "canary" ]]; then if [[ "$branch" = "both" || "$branch" = "canary" ]]; then
USE_CANARY=true node dist/report.mjs > "$canary_output_file" & USE_CANARY=true bun run dist/report.mjs > "$canary_output_file" &
pids+=" $!" pids+=" $!"
fi fi
exit_code=0 exit_code=0
for pid in $pids; do for pid in $pids; do
if ! wait "$pid"; then if ! wait "$pid"; then
exit_code=1 exit_code=1
fi fi
done done
cat "$stable_output_file" "$canary_output_file" >> $GITHUB_STEP_SUMMARY cat "$stable_output_file" "$canary_output_file" >> $GITHUB_STEP_SUMMARY

View file

@ -8,30 +8,24 @@ on:
branches: branches:
- main - main
- dev - dev
jobs: jobs:
Test: Test:
name: Test name: Test
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: pnpm/action-setup@v3 # Install pnpm using packageManager key in package.json - uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Use Node.js 20 - name: Use Node.js 20
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 20 node-version: 20
cache: "pnpm"
- name: Install dependencies - name: Install dependencies
run: pnpm install --no-frozen-lockfile run: bun install
- name: Lint & Test if desktop version compiles - name: Lint & Test if desktop version compiles
run: pnpm test run: bun run test
- name: Test if web version compiles - name: Test if web version compiles
run: pnpm buildWeb run: bun run buildWeb
- name: Test if plugin structure is valid - name: Test if plugin structure is valid
run: pnpm generatePluginJson run: bun run generatePluginJson

1
.gitignore vendored
View file

@ -18,7 +18,6 @@ npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
lerna-debug.log* lerna-debug.log*
.pnpm-debug.log*
*.tsbuildinfo *.tsbuildinfo
src/userplugins src/userplugins

105
.vscode/tasks.json vendored
View file

@ -1,63 +1,44 @@
{ {
// See https://go.microsoft.com/fwlink/?LinkId=733558 // See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format // for the documentation about the tasks.json format
"version": "2.0.0", "version": "2.0.0",
"tasks": [ "tasks": [
{ {
"label": "Build", "label": "Build",
"type": "shell", "type": "shell",
"command": "pnpm build", "command": "bun run build",
"group": { "group": {
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
} }
}, },
{ {
// for use with the vencord companion extension // for use with the vencord companion extension
"label": "Build Companion Reporter", "label": "Build Companion Reporter",
"type": "shell", "type": "shell",
"command": "pnpm build --dev --reporter --companion-test", "command": "bun run build --dev --reporter --companion-test",
"presentation": { "presentation": {
"echo": true, "echo": true,
"reveal": "silent", "reveal": "silent",
"panel": "shared", "panel": "shared",
"showReuseMessage": true, "showReuseMessage": true,
"clear": true "clear": true
} }
}, },
{ {
"label": "Build Dev", "label": "Build Dev",
"type": "shell", "type": "shell",
"command": "pnpm build --dev", "command": "bun run build --dev",
"group": "build" "group": "build"
}, },
{ {
// for use with the vencord companion extension "label": "Watch",
"label": "Build Companion Reporter", "type": "shell",
"type": "shell", "command": "bun run watch",
"command": "pnpm build --dev --reporter --companion-test", "problemMatcher": [],
"presentation": { "group": {
"echo": true, "kind": "build"
"reveal": "silent", }
"panel": "shared", }
"showReuseMessage": true, ]
"clear": true }
}
},
{
"label": "Build Dev",
"type": "shell",
"command": "pnpm build --dev",
"group": "build"
},
{
"label": "Watch",
"type": "shell",
"command": "pnpm watch",
"problemMatcher": [],
"group": {
"kind": "build"
}
}
]
}

View file

@ -240,15 +240,10 @@ sh -c "$(curl -sS https://raw.githubusercontent.com/Equicord/Equicord/refs/heads
### Dependencies ### Dependencies
[Git](https://git-scm.com/download) and [Node.JS LTS](https://nodejs.dev/en/) are required. [Git](https://git-scm.com/download) and [Bun](https://bun.sh/docs/installation) are required.
Install `pnpm`: Install Bun:
> :exclamation: This next command may need to be run as admin/root depending on your system, and you may need to close and reopen your terminal for Bun to be in your PATH.
> :exclamation: This next command may need to be run as admin/root depending on your system, and you may need to close and reopen your terminal for pnpm to be in your PATH.
```shell
npm i -g pnpm
```
> :exclamation: **IMPORTANT** Make sure you aren't using an admin/root terminal from here onwards. It **will** mess up your Discord/Equicord instance and you **will** most likely have to reinstall. > :exclamation: **IMPORTANT** Make sure you aren't using an admin/root terminal from here onwards. It **will** mess up your Discord/Equicord instance and you **will** most likely have to reinstall.
@ -260,21 +255,18 @@ cd Equicord
``` ```
Install dependencies: Install dependencies:
```shell ```shell
pnpm install --no-frozen-lockfile bun install
``` ```
Build Equicord: Build Equicord:
```shell ```shell
pnpm build bun run build
``` ```
Inject Equicord into your client: Inject Equicord into your client:
```shell ```shell
pnpm inject bun run inject
``` ```
## Credits ## Credits

View file

@ -1,122 +1,100 @@
{ {
"name": "equicord", "name": "equicord",
"private": "true", "private": "true",
"version": "1.12.2", "version": "1.12.2",
"description": "The other cutest Discord client mod", "description": "The other cutest Discord client mod",
"homepage": "https://github.com/Equicord/Equicord#readme", "homepage": "https://github.com/Equicord/Equicord#readme",
"bugs": { "bugs": {
"url": "https://github.com/Equicord/Equicord/issues" "url": "https://github.com/Equicord/Equicord/issues"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/Equicord/Equicord.git" "url": "git+https://github.com/Equicord/Equicord.git"
}, },
"license": "GPL-3.0-or-later", "license": "GPL-3.0-or-later",
"author": "Equicord", "author": "Equicord",
"scripts": { "scripts": {
"build": "node --require=./scripts/suppressExperimentalWarnings.js scripts/build/build.mjs", "build": "bun run scripts/build/build.mjs",
"buildStandalone": "pnpm build --standalone", "buildStandalone": "bun run build --standalone",
"buildWeb": "node --require=./scripts/suppressExperimentalWarnings.js scripts/build/buildWeb.mjs", "buildWeb": "bun run scripts/build/buildWeb.mjs",
"buildWebStandalone": "pnpm buildWeb --standalone", "buildWebStandalone": "bun run buildWeb --standalone",
"buildReporter": "pnpm buildWebStandalone --reporter --skip-extension", "buildReporter": "bun run buildWebStandalone --reporter --skip-extension",
"buildReporterDesktop": "pnpm build --reporter", "buildReporterDesktop": "bun run build --reporter",
"watch": "pnpm build --watch", "watch": "bun run build --watch",
"dev": "pnpm watch", "dev": "bun run watch",
"watchWeb": "pnpm buildWeb --watch", "watchWeb": "bun run buildWeb --watch",
"generatePluginJson": "tsx scripts/generatePluginList.ts", "generatePluginJson": "bun run scripts/generatePluginList.ts",
"generateEquicordPluginJson": "tsx scripts/generateEquicordPluginList.ts", "generateEquicordPluginJson": "bun run scripts/generateEquicordPluginList.ts",
"generateTypes": "tspc --emitDeclarationOnly --declaration --outDir packages/vencord-types --allowJs false", "generateTypes": "tspc --emitDeclarationOnly --declaration --outDir packages/vencord-types --allowJs false",
"inject": "node scripts/runInstaller.mjs -- --install", "inject": "bun run scripts/runInstaller.mjs --install",
"uninject": "node scripts/runInstaller.mjs -- --uninstall", "uninject": "bun run scripts/runInstaller.mjs --uninstall",
"lint": "eslint", "lint": "eslint",
"lint-styles": "stylelint \"src/**/*.css\" --ignore-pattern src/userplugins", "lint-styles": "stylelint \"src/**/*.css\" --ignore-pattern src/userplugins",
"lint:fix": "pnpm lint --fix", "lint:fix": "bun run lint --fix",
"test": "pnpm buildStandalone && pnpm testTsc && pnpm lint:fix && pnpm lint-styles && pnpm generatePluginJson", "test": "bun run buildStandalone && bun run testTsc && bun run lint:fix && bun run lint-styles && bun run generatePluginJson",
"testWeb": "pnpm lint && pnpm buildWeb && pnpm testTsc", "testWeb": "bun run lint && bun run buildWeb && bun run testTsc",
"testTsc": "tsc --noEmit" "testTsc": "tsc --noEmit"
}, },
"dependencies": { "dependencies": {
"@ffmpeg/ffmpeg": "^0.12.10", "@ffmpeg/ffmpeg": "^0.12.10",
"@ffmpeg/util": "^0.12.1", "@ffmpeg/util": "^0.12.1",
"@intrnl/xxhash64": "^0.1.2", "@intrnl/xxhash64": "^0.1.2",
"@sapphi-red/web-noise-suppressor": "0.3.5", "@sapphi-red/web-noise-suppressor": "0.3.5",
"@types/less": "^3.0.6", "@types/less": "^3.0.6",
"@types/stylus": "^0.48.42", "@types/stylus": "^0.48.42",
"@types/tinycolor2": "^1.4.6", "@types/tinycolor2": "^1.4.6",
"@vap/core": "0.0.12", "@vap/core": "0.0.12",
"@vap/shiki": "0.10.5", "@vap/shiki": "0.10.5",
"fflate": "^0.8.2", "fflate": "^0.8.2",
"gifenc": "github:mattdesl/gifenc#64842fca317b112a8590f8fef2bf3825da8f6fe3", "gifenc": "github:mattdesl/gifenc#64842fca317b112a8590f8fef2bf3825da8f6fe3",
"jsqr": "1.4.0", "jsqr": "1.4.0",
"idb": "8.0.0", "idb": "8.0.0",
"monaco-editor": "^0.52.2", "monaco-editor": "^0.52.2",
"nanoid": "^5.1.5", "nanoid": "^5.1.5",
"socket.io": "^4.8.1", "socket.io": "^4.8.1",
"usercss-meta": "^0.12.0", "usercss-meta": "^0.12.0",
"openai": "^4.30.0", "openai": "^4.30.0",
"virtual-merge": "^1.0.1" "virtual-merge": "^1.0.1"
}, },
"devDependencies": { "devDependencies": {
"@stylistic/eslint-plugin": "^4.2.0", "@electron/asar": "^3.2.10",
"@electron/asar": "^3.2.10", "@stylistic/eslint-plugin": "^4.2.0",
"@types/chrome": "^0.0.312", "@types/chrome": "^0.0.312",
"@types/diff": "^7.0.2", "@types/diff": "^7.0.2",
"@types/lodash": "^4.17.14", "@types/lodash": "^4.17.14",
"@types/node": "^22.13.13", "@types/node": "^22.13.13",
"@types/react": "^19.0.10", "@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4", "@types/react-dom": "^19.0.4",
"@types/yazl": "^2.4.5", "@types/yazl": "^2.4.5",
"diff": "^7.0.0", "diff": "^7.0.0",
"discord-types": "^1.3.26", "discord-types": "^1.3.26",
"esbuild": "^0.25.1", "esbuild": "^0.25.1",
"eslint": "9.20.1", "eslint": "^8.57.0",
"eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-alias": "^1.1.2",
"eslint-plugin-react": "^7.37.3", "eslint-plugin-react": "^7.37.3",
"eslint-plugin-simple-header": "^1.2.1", "eslint-plugin-simple-header": "^1.2.1",
"eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-simple-import-sort": "^12.1.1",
"eslint-plugin-unused-imports": "^4.1.4", "eslint-plugin-unused-imports": "^4.1.4",
"highlight.js": "11.11.1", "highlight.js": "11.11.1",
"html-minifier-terser": "^7.2.0", "html-minifier-terser": "^7.2.0",
"moment": "^2.22.2", "moment": "^2.22.2",
"puppeteer-core": "^24.4.0", "puppeteer-core": "^24.4.0",
"standalone-electron-types": "^34.2.0", "standalone-electron-types": "^34.2.0",
"stylelint": "^16.17.0", "stylelint": "^16.17.0",
"stylelint-config-standard": "^37.0.0", "stylelint-config-standard": "^37.0.0",
"ts-patch": "^3.3.0", "ts-patch": "^3.3.0",
"ts-pattern": "^5.6.0", "ts-pattern": "^5.6.0",
"tsx": "^4.19.3", "type-fest": "^4.41.0",
"type-fest": "^4.38.0", "typescript": "^5.8.2",
"typed-emitter": "^2.1.0", "typescript-eslint": "^8.28.0",
"typescript": "^5.8.2", "typescript-transform-paths": "^3.5.5",
"typescript-eslint": "^8.28.0", "zip-local": "^0.3.5",
"typescript-transform-paths": "^3.5.5", "zustand": "^3.7.2"
"zip-local": "^0.3.5", },
"zustand": "^3.7.2" "packageManager": "bun@1.1.0",
}, "trustedDependencies": ["esbuild"],
"packageManager": "pnpm@10.4.1", "engines": {
"pnpm": { "node": ">=18",
"patchedDependencies": { "bun": ">=1.0.0"
"eslint@9.20.1": "patches/eslint@9.20.1.patch", }
"@types/less@3.0.6": "patches/@types__less@3.0.6.patch"
},
"peerDependencyRules": {
"ignoreMissing": [
"eslint-plugin-import",
"eslint"
]
},
"allowedDeprecatedVersions": {
"source-map-resolve": "*",
"resolve-url": "*",
"source-map-url": "*",
"urix": "*",
"q": "*"
},
"onlyBuiltDependencies": [
"esbuild"
]
},
"engines": {
"node": ">=18"
}
} }

View file

@ -1,5 +1,5 @@
# How to publish # How to publish
1. run `pnpm generateTypes` in the project root 1. run `bun generateTypes` in the project root
2. bump package.json version 2. bump package.json version
3. npm publish 3. npm publish

View file

@ -7,5 +7,5 @@ npm i @vencord/types
yarn add @vencord/types yarn add @vencord/types
pnpm add @vencord/types bun add @vencord/types
``` ```

5192
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -1,2 +0,0 @@
packages:
- packages/*

View file

@ -41,15 +41,6 @@ export default definePlugin({
}, },
predicate: () => !Settings.plugins.AnonymiseFileNames.enabled, predicate: () => !Settings.plugins.AnonymiseFileNames.enabled,
}, },
// Also taken from AnonymiseFileNames
{
find: 'addFilesTo:"message.attachments"',
replacement: {
match: /(\i.uploadFiles\((\i),)/,
replace: "$2.forEach(f=>f.filename=$self.fixExt(f)),$1",
},
predicate: () => !Settings.plugins.AnonymiseFileNames.enabled,
}
], ],
fixExt(upload: ExtUpload) { fixExt(upload: ExtUpload) {
const file = upload.filename; const file = upload.filename;

View file

@ -85,13 +85,6 @@ export default definePlugin({
replace: "$1.forEach($self.anonymise),$&" replace: "$1.forEach($self.anonymise),$&"
}, },
}, },
{
find: 'addFilesTo:"message.attachments"',
replacement: {
match: /\i.uploadFiles\((\i),/,
replace: "$1.forEach($self.anonymise),$&"
}
},
{ {
find: "#{intl::ATTACHMENT_UTILITIES_SPOILER}", find: "#{intl::ATTACHMENT_UTILITIES_SPOILER}",
replacement: { replacement: {

View file

@ -61,7 +61,7 @@ export default definePlugin({
start() { start() {
// if we're running the reporter, we need to initws in the reporter file to avoid a race condition // if we're running the reporter, we need to initws in the reporter file to avoid a race condition
if (!IS_DEV) throw new Error("This plugin requires dev mode to run, please build with pnpm build --dev"); if (!IS_DEV) throw new Error("This plugin requires dev mode to run, please build with bun run build --dev");
initWs(); initWs();
}, },

View file

@ -133,7 +133,7 @@ export default definePlugin({
{ {
find: "Copy image not supported", find: "Copy image not supported",
replacement: { replacement: {
match: /(?<=(?:canSaveImage|canCopyImage)\(\i?\)\{.{0,50})!\i\.isPlatformEmbedded/g, match: /(?<=(?:canSaveImage|canCopyImage)\((\i,\i)?\)\{.{0,150})!\i\.isPlatformEmbedded/g,
replace: "false" replace: "false"
} }
}, },
@ -147,7 +147,7 @@ export default definePlugin({
replace: "false" replace: "false"
}, },
{ {
match: /return\s*?\[.{0,50}?(?=\?.{0,100}?id:"copy-image")/, match: /return\s*?\[.{0,50}?(?=\?.{0,25}?id:"copy-image")/,
replace: "return [true" replace: "return [true"
}, },
{ {